@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,400i,500,500i,700,700i");
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,500,500i,600,700");


.awesomplete [hidden] {
  display: none; }

.awesomplete .visually-hidden {
  position: absolute;
  clip: rect(0, 0, 0, 0); }

.awesomplete {
  display: inline-block;
  position: relative; }

.awesomplete > input {
  display: block; }

.awesomplete > ul {
  position: absolute;
  left: 0;
  z-index: 1;
  min-width: 100%;
  box-sizing: border-box;
  list-style: none;
  padding: 0;
  margin: 0;
  background: #fff; }

.awesomplete > ul:empty {
  display: none; }

.awesomplete > ul {
  border-radius: .3em;
  margin: .2em 0 0;
  background: rgba(255, 255, 255, 0.9);
  background: linear-gradient(to bottom right, white, rgba(255, 255, 255, 0.8));
  border: 1px solid rgba(0, 0, 0, 0.3);
  box-shadow: 0.05em 0.2em 0.6em rgba(0, 0, 0, 0.2);
  text-shadow: none; }

@supports (transform: scale(0)) {
  .awesomplete > ul {
    transition: 0.3s cubic-bezier(0.4, 0.2, 0.5, 1.4);
    -webkit-transform-origin: 1.43em -.43em;
        -ms-transform-origin: 1.43em -.43em;
            transform-origin: 1.43em -.43em; }
  .awesomplete > ul[hidden],
  .awesomplete > ul:empty {
    opacity: 0;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    display: block;
    transition-timing-function: ease; } }

/* Pointer */
.awesomplete > ul:before {
  content: "";
  position: absolute;
  top: -.43em;
  left: 1em;
  width: 0;
  height: 0;
  padding: .4em;
  background: white;
  border: inherit;
  border-right: 0;
  border-bottom: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg); }

.awesomplete > ul > li {
  position: relative;
  padding: .2em .5em;
  cursor: pointer; }

.awesomplete > ul > li:hover {
  background: #b8d3e0;
  color: black; }

.awesomplete > ul > li[aria-selected="true"] {
  background: #3d6d8f;
  color: white; }

.awesomplete mark {
  background: #eaff00; }

.awesomplete li:hover mark {
  background: #b5d100; }

.awesomplete li[aria-selected="true"] mark {
  background: #3d6b00;
  color: inherit; }

/*# sourceMappingURL=awesomplete.css.map */
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 53.25em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
       ========================================================================== */
/**
     * Remove the margin in all browsers (opinionated).
     */
body {
  margin: 0; }

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
b,
strong {
  font-weight: bolder; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

/**
     * Add the correct font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
     * Remove the border on images inside links in IE 10-.
     */
img {
  border-style: none; }

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  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; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
  overflow: auto; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&phablet=40em&medium=53.25em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #2d2c2c;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.grid-container {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 53.25em) {
    .grid-container {
      padding-right: 0.5625rem;
      padding-left: 0.5625rem; } }
  .grid-container.fluid {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 53.25em) {
      .grid-container.fluid {
        padding-right: 0.5625rem;
        padding-left: 0.5625rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -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-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -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 > .phablet-shrink, .grid-x > .phablet-full, .grid-x > .phablet-1, .grid-x > .phablet-2, .grid-x > .phablet-3, .grid-x > .phablet-4, .grid-x > .phablet-5, .grid-x > .phablet-6, .grid-x > .phablet-7, .grid-x > .phablet-8, .grid-x > .phablet-9, .grid-x > .phablet-10, .grid-x > .phablet-11, .grid-x > .phablet-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, screen and (min-width: 53.25em) {
  .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 {
  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 > .phablet-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .phablet-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .phablet-1 {
    width: 8.33333%; }
  .grid-x > .phablet-2 {
    width: 16.66667%; }
  .grid-x > .phablet-3 {
    width: 25%; }
  .grid-x > .phablet-4 {
    width: 33.33333%; }
  .grid-x > .phablet-5 {
    width: 41.66667%; }
  .grid-x > .phablet-6 {
    width: 50%; }
  .grid-x > .phablet-7 {
    width: 58.33333%; }
  .grid-x > .phablet-8 {
    width: 66.66667%; }
  .grid-x > .phablet-9 {
    width: 75%; }
  .grid-x > .phablet-10 {
    width: 83.33333%; }
  .grid-x > .phablet-11 {
    width: 91.66667%; }
  .grid-x > .phablet-12 {
    width: 100%; } }

@media print, screen and (min-width: 53.25em) {
  .grid-x > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    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-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    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.5rem;
  margin-right: -0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-margin-x {
      margin-left: -0.5625rem;
      margin-right: -0.5625rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.125rem);
      margin-left: 0.5625rem;
      margin-right: 0.5625rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .phablet-auto {
      width: auto; }
    .grid-margin-x > .phablet-shrink {
      width: auto; }
    .grid-margin-x > .phablet-1 {
      width: calc(8.33333% - 1rem); }
    .grid-margin-x > .phablet-2 {
      width: calc(16.66667% - 1rem); }
    .grid-margin-x > .phablet-3 {
      width: calc(25% - 1rem); }
    .grid-margin-x > .phablet-4 {
      width: calc(33.33333% - 1rem); }
    .grid-margin-x > .phablet-5 {
      width: calc(41.66667% - 1rem); }
    .grid-margin-x > .phablet-6 {
      width: calc(50% - 1rem); }
    .grid-margin-x > .phablet-7 {
      width: calc(58.33333% - 1rem); }
    .grid-margin-x > .phablet-8 {
      width: calc(66.66667% - 1rem); }
    .grid-margin-x > .phablet-9 {
      width: calc(75% - 1rem); }
    .grid-margin-x > .phablet-10 {
      width: calc(83.33333% - 1rem); }
    .grid-margin-x > .phablet-11 {
      width: calc(91.66667% - 1rem); }
    .grid-margin-x > .phablet-12 {
      width: calc(100% - 1rem); } }
  @media print, screen and (min-width: 53.25em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.125rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.125rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.125rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.125rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.125rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.125rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.125rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.125rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.125rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.125rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.125rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.125rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.125rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.125rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.125rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.125rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.125rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.125rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.125rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.125rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.125rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.125rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.125rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.125rem); } }
  @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.125rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.125rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.125rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.125rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.125rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.125rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.125rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.125rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.125rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.125rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.125rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.125rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.5rem;
  margin-left: -0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.5625rem;
      margin-left: -0.5625rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.5rem;
  margin-left: -0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.5625rem;
      margin-left: -0.5625rem; } }

.grid-padding-x > .cell {
  padding-right: 0.5rem;
  padding-left: 0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-padding-x > .cell {
      padding-right: 0.5625rem;
      padding-left: 0.5625rem; } }

.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) {
  .phablet-up-1 > .cell {
    width: 100%; }
  .phablet-up-2 > .cell {
    width: 50%; }
  .phablet-up-3 > .cell {
    width: 33.33333%; }
  .phablet-up-4 > .cell {
    width: 25%; }
  .phablet-up-5 > .cell {
    width: 20%; }
  .phablet-up-6 > .cell {
    width: 16.66667%; }
  .phablet-up-7 > .cell {
    width: 14.28571%; }
  .phablet-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 53.25em) {
  .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% - 1rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.phablet-up-1 > .cell {
    width: calc(100% - 1rem); }
  .grid-margin-x.phablet-up-2 > .cell {
    width: calc(50% - 1rem); }
  .grid-margin-x.phablet-up-3 > .cell {
    width: calc(33.33333% - 1rem); }
  .grid-margin-x.phablet-up-4 > .cell {
    width: calc(25% - 1rem); }
  .grid-margin-x.phablet-up-5 > .cell {
    width: calc(20% - 1rem); }
  .grid-margin-x.phablet-up-6 > .cell {
    width: calc(16.66667% - 1rem); }
  .grid-margin-x.phablet-up-7 > .cell {
    width: calc(14.28571% - 1rem); }
  .grid-margin-x.phablet-up-8 > .cell {
    width: calc(12.5% - 1rem); } }

@media print, screen and (min-width: 53.25em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.125rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.125rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.125rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.125rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.125rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.125rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.125rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.125rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.125rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.125rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.125rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.125rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.125rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.125rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.125rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.125rem); } }

.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 > .phablet-1 {
      width: 8.33333%; }
    .small-margin-collapse > .phablet-2 {
      width: 16.66667%; }
    .small-margin-collapse > .phablet-3 {
      width: 25%; }
    .small-margin-collapse > .phablet-4 {
      width: 33.33333%; }
    .small-margin-collapse > .phablet-5 {
      width: 41.66667%; }
    .small-margin-collapse > .phablet-6 {
      width: 50%; }
    .small-margin-collapse > .phablet-7 {
      width: 58.33333%; }
    .small-margin-collapse > .phablet-8 {
      width: 66.66667%; }
    .small-margin-collapse > .phablet-9 {
      width: 75%; }
    .small-margin-collapse > .phablet-10 {
      width: 83.33333%; }
    .small-margin-collapse > .phablet-11 {
      width: 91.66667%; }
    .small-margin-collapse > .phablet-12 {
      width: 100%; } }
  @media print, screen and (min-width: 53.25em) {
    .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) {
  .phablet-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .phablet-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .phablet-margin-collapse > .small-1 {
    width: 8.33333%; }
  .phablet-margin-collapse > .small-2 {
    width: 16.66667%; }
  .phablet-margin-collapse > .small-3 {
    width: 25%; }
  .phablet-margin-collapse > .small-4 {
    width: 33.33333%; }
  .phablet-margin-collapse > .small-5 {
    width: 41.66667%; }
  .phablet-margin-collapse > .small-6 {
    width: 50%; }
  .phablet-margin-collapse > .small-7 {
    width: 58.33333%; }
  .phablet-margin-collapse > .small-8 {
    width: 66.66667%; }
  .phablet-margin-collapse > .small-9 {
    width: 75%; }
  .phablet-margin-collapse > .small-10 {
    width: 83.33333%; }
  .phablet-margin-collapse > .small-11 {
    width: 91.66667%; }
  .phablet-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .phablet-margin-collapse > .phablet-1 {
    width: 8.33333%; }
  .phablet-margin-collapse > .phablet-2 {
    width: 16.66667%; }
  .phablet-margin-collapse > .phablet-3 {
    width: 25%; }
  .phablet-margin-collapse > .phablet-4 {
    width: 33.33333%; }
  .phablet-margin-collapse > .phablet-5 {
    width: 41.66667%; }
  .phablet-margin-collapse > .phablet-6 {
    width: 50%; }
  .phablet-margin-collapse > .phablet-7 {
    width: 58.33333%; }
  .phablet-margin-collapse > .phablet-8 {
    width: 66.66667%; }
  .phablet-margin-collapse > .phablet-9 {
    width: 75%; }
  .phablet-margin-collapse > .phablet-10 {
    width: 83.33333%; }
  .phablet-margin-collapse > .phablet-11 {
    width: 91.66667%; }
  .phablet-margin-collapse > .phablet-12 {
    width: 100%; } }

@media print, screen and (min-width: 53.25em) {
  .phablet-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .phablet-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .phablet-margin-collapse > .medium-3 {
    width: 25%; }
  .phablet-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .phablet-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .phablet-margin-collapse > .medium-6 {
    width: 50%; }
  .phablet-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .phablet-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .phablet-margin-collapse > .medium-9 {
    width: 75%; }
  .phablet-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .phablet-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .phablet-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .phablet-margin-collapse > .large-1 {
    width: 8.33333%; }
  .phablet-margin-collapse > .large-2 {
    width: 16.66667%; }
  .phablet-margin-collapse > .large-3 {
    width: 25%; }
  .phablet-margin-collapse > .large-4 {
    width: 33.33333%; }
  .phablet-margin-collapse > .large-5 {
    width: 41.66667%; }
  .phablet-margin-collapse > .large-6 {
    width: 50%; }
  .phablet-margin-collapse > .large-7 {
    width: 58.33333%; }
  .phablet-margin-collapse > .large-8 {
    width: 66.66667%; }
  .phablet-margin-collapse > .large-9 {
    width: 75%; }
  .phablet-margin-collapse > .large-10 {
    width: 83.33333%; }
  .phablet-margin-collapse > .large-11 {
    width: 91.66667%; }
  .phablet-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .phablet-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .phablet-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 53.25em) {
  .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: 53.25em) {
  .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: 53.25em) {
  .medium-margin-collapse > .phablet-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .phablet-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .phablet-3 {
    width: 25%; }
  .medium-margin-collapse > .phablet-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .phablet-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .phablet-6 {
    width: 50%; }
  .medium-margin-collapse > .phablet-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .phablet-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .phablet-9 {
    width: 75%; }
  .medium-margin-collapse > .phablet-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .phablet-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .phablet-12 {
    width: 100%; } }

@media print, screen and (min-width: 53.25em) {
  .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: 53.25em) {
  .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 > .phablet-1 {
    width: 8.33333%; }
  .large-margin-collapse > .phablet-2 {
    width: 16.66667%; }
  .large-margin-collapse > .phablet-3 {
    width: 25%; }
  .large-margin-collapse > .phablet-4 {
    width: 33.33333%; }
  .large-margin-collapse > .phablet-5 {
    width: 41.66667%; }
  .large-margin-collapse > .phablet-6 {
    width: 50%; }
  .large-margin-collapse > .phablet-7 {
    width: 58.33333%; }
  .large-margin-collapse > .phablet-8 {
    width: 66.66667%; }
  .large-margin-collapse > .phablet-9 {
    width: 75%; }
  .large-margin-collapse > .phablet-10 {
    width: 83.33333%; }
  .large-margin-collapse > .phablet-11 {
    width: 91.66667%; }
  .large-margin-collapse > .phablet-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.5rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.5rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.5rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.5rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.5rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.5rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.5rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.5rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.5rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.5rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.5rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.5rem); }

@media print, screen and (min-width: 40em) {
  .phablet-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .phablet-offset-0 {
    margin-left: calc(0% + 0.5rem); }
  .phablet-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .phablet-offset-1 {
    margin-left: calc(8.33333% + 0.5rem); }
  .phablet-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .phablet-offset-2 {
    margin-left: calc(16.66667% + 0.5rem); }
  .phablet-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .phablet-offset-3 {
    margin-left: calc(25% + 0.5rem); }
  .phablet-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .phablet-offset-4 {
    margin-left: calc(33.33333% + 0.5rem); }
  .phablet-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .phablet-offset-5 {
    margin-left: calc(41.66667% + 0.5rem); }
  .phablet-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .phablet-offset-6 {
    margin-left: calc(50% + 0.5rem); }
  .phablet-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .phablet-offset-7 {
    margin-left: calc(58.33333% + 0.5rem); }
  .phablet-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .phablet-offset-8 {
    margin-left: calc(66.66667% + 0.5rem); }
  .phablet-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .phablet-offset-9 {
    margin-left: calc(75% + 0.5rem); }
  .phablet-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .phablet-offset-10 {
    margin-left: calc(83.33333% + 0.5rem); }
  .phablet-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .phablet-offset-11 {
    margin-left: calc(91.66667% + 0.5rem); } }

@media print, screen and (min-width: 53.25em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.5625rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.5625rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.5625rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.5625rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.5625rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.5625rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.5625rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.5625rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.5625rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.5625rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.5625rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.5625rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.5625rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.5625rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.5625rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.5625rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.5625rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.5625rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.5625rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.5625rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.5625rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.5625rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.5625rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.5625rem); } }

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .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 > .phablet-shrink, .grid-y > .phablet-full, .grid-y > .phablet-1, .grid-y > .phablet-2, .grid-y > .phablet-3, .grid-y > .phablet-4, .grid-y > .phablet-5, .grid-y > .phablet-6, .grid-y > .phablet-7, .grid-y > .phablet-8, .grid-y > .phablet-9, .grid-y > .phablet-10, .grid-y > .phablet-11, .grid-y > .phablet-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 53.25em) {
    .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 {
    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 > .phablet-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .phablet-shrink {
      height: auto; }
    .grid-y > .phablet-1 {
      height: 8.33333%; }
    .grid-y > .phablet-2 {
      height: 16.66667%; }
    .grid-y > .phablet-3 {
      height: 25%; }
    .grid-y > .phablet-4 {
      height: 33.33333%; }
    .grid-y > .phablet-5 {
      height: 41.66667%; }
    .grid-y > .phablet-6 {
      height: 50%; }
    .grid-y > .phablet-7 {
      height: 58.33333%; }
    .grid-y > .phablet-8 {
      height: 66.66667%; }
    .grid-y > .phablet-9 {
      height: 75%; }
    .grid-y > .phablet-10 {
      height: 83.33333%; }
    .grid-y > .phablet-11 {
      height: 91.66667%; }
    .grid-y > .phablet-12 {
      height: 100%; } }
  @media print, screen and (min-width: 53.25em) {
    .grid-y > .medium-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: 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-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: 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.5rem;
  margin-bottom: -0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.5625rem;
      margin-bottom: -0.5625rem; } }

.grid-padding-y > .cell {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-padding-y > .cell {
      padding-top: 0.5625rem;
      padding-bottom: 0.5625rem; } }

.grid-margin-y {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-margin-y {
      margin-top: -0.5625rem;
      margin-bottom: -0.5625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1rem);
    margin-top: 0.5rem;
    margin-bottom: 0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.125rem);
      margin-top: 0.5625rem;
      margin-bottom: 0.5625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .phablet-auto {
      height: auto; }
    .grid-margin-y > .phablet-shrink {
      height: auto; }
    .grid-margin-y > .phablet-1 {
      height: calc(8.33333% - 1rem); }
    .grid-margin-y > .phablet-2 {
      height: calc(16.66667% - 1rem); }
    .grid-margin-y > .phablet-3 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .phablet-4 {
      height: calc(33.33333% - 1rem); }
    .grid-margin-y > .phablet-5 {
      height: calc(41.66667% - 1rem); }
    .grid-margin-y > .phablet-6 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .phablet-7 {
      height: calc(58.33333% - 1rem); }
    .grid-margin-y > .phablet-8 {
      height: calc(66.66667% - 1rem); }
    .grid-margin-y > .phablet-9 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .phablet-10 {
      height: calc(83.33333% - 1rem); }
    .grid-margin-y > .phablet-11 {
      height: calc(91.66667% - 1rem); }
    .grid-margin-y > .phablet-12 {
      height: calc(100% - 1rem); } }
  @media print, screen and (min-width: 53.25em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.125rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.125rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.125rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.125rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.125rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.125rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.125rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.125rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.125rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.125rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.125rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.125rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.125rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.125rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.125rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.125rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.125rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.125rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.125rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.125rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.125rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.125rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.125rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.125rem); } }
  @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.125rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.125rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.125rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.125rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.125rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.125rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.125rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.125rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.125rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.125rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.125rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.125rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -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-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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) {
  .phablet-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .phablet-grid-frame {
    width: 100%; }
  .phablet-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .phablet-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .phablet-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .phablet-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 53.25em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -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-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -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%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -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-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-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -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%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -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-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.phablet-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 53.25em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -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-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.phablet-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 53.25em) {
  .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.5rem;
  margin-bottom: -0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-margin-y {
      margin-top: -0.5625rem;
      margin-bottom: -0.5625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1rem);
    margin-top: 0.5rem;
    margin-bottom: 0.5rem; }
  @media print, screen and (min-width: 53.25em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.125rem);
      margin-top: 0.5625rem;
      margin-bottom: 0.5625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .phablet-auto {
      height: auto; }
    .grid-margin-y > .phablet-shrink {
      height: auto; }
    .grid-margin-y > .phablet-1 {
      height: calc(8.33333% - 1rem); }
    .grid-margin-y > .phablet-2 {
      height: calc(16.66667% - 1rem); }
    .grid-margin-y > .phablet-3 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .phablet-4 {
      height: calc(33.33333% - 1rem); }
    .grid-margin-y > .phablet-5 {
      height: calc(41.66667% - 1rem); }
    .grid-margin-y > .phablet-6 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .phablet-7 {
      height: calc(58.33333% - 1rem); }
    .grid-margin-y > .phablet-8 {
      height: calc(66.66667% - 1rem); }
    .grid-margin-y > .phablet-9 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .phablet-10 {
      height: calc(83.33333% - 1rem); }
    .grid-margin-y > .phablet-11 {
      height: calc(91.66667% - 1rem); }
    .grid-margin-y > .phablet-12 {
      height: calc(100% - 1rem); } }
  @media print, screen and (min-width: 53.25em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.125rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.125rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.125rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.125rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.125rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.125rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.125rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.125rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.125rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.125rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.125rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.125rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.125rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.125rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.125rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.125rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.125rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.125rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.125rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.125rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.125rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.125rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.125rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.125rem); } }
  @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.125rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.125rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.125rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.125rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.125rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.125rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.125rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.125rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.125rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.125rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.125rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.125rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1rem); } }
  @media print, screen and (min-width: 53.25em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.125rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.125rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.phablet-grid-frame {
    height: calc(100vh + 1rem); } }

@media print, screen and (min-width: 53.25em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.125rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.125rem); } }

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: "Open Sans", Helvetica, Arial, sans-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: #2d2c2c; }

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.2rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 53.25em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 1.9375rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #e36018; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 90rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #2d2c2c;
  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 #2d2c2c; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #2f2e2e; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #2f2e2e; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #2d2c2c;
  background-color: #e1e1e1;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 300;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e1e1e1;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: 300;
  line-height: 1.2;
  color: #2f2e2e; }

.lead {
  font-size: 125%;
  line-height: 1.4; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .phablet-text-left {
    text-align: left; }
  .phablet-text-right {
    text-align: right; }
  .phablet-text-center {
    text-align: center; }
  .phablet-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 53.25em) {
  .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;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #2f2e2e;
    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;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.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;
  box-sizing: border-box;
  width: 100%;
  height: 2.78846rem;
  margin: 0 0 1rem;
  padding: 0.76923rem;
  border: 1px solid #b7b7b7;
  border-radius: 6px;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -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 #b7b7b7;
    background-color: #fefefe;
    box-shadow: 0 0 5px #b7b7b7;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #454545; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #454545; }

input::placeholder,
textarea::placeholder {
  color: #454545; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e1e1e1;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  color: #242424; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 6px 0 0 6px; }
  .input-group > :last-child > * {
    border-radius: 0 6px 6px 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 #2d2c2c;
  background: #e1e1e1;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -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-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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 {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
            align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.875rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #b7b7b7; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.78846rem;
  margin: 0 0 1rem;
  padding: 0.76923rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #b7b7b7;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 0.875rem;
  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%2847, 46, 46%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #b7b7b7;
    background-color: #fefefe;
    box-shadow: 0 0 5px #b7b7b7;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e1e1e1;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e1e1e1;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e1e1e1;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e1e1e1; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e1e1e1;
  border-bottom: 0;
  background-color: #fefefe;
  color: #2d2c2c; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e1e1e1; }

.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: #1779ba transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.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;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba 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;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #2d2c2c; }
  .breadcrumbs a {
    color: #1779ba; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #2d2c2c;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 53.25em) {
    .button-group.stacked-for-small .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #2d2c2c; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #2d2c2c; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #2d2c2c; }
  .callout.success {
    background-color: #e1faea;
    color: #2d2c2c; }
  .callout.warning {
    background-color: #fff3d9;
    color: #2d2c2c; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #2d2c2c; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e1e1e1;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #2d2c2c; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
  background: #e1e1e1; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #2f2e2e;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  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: 0.7rem 1rem; }
  .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-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -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.phablet-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.phablet-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.phablet-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.phablet-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 53.25em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -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-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -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-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-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -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-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -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-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-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;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -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;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu .active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -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-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -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-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #2d2c2c;
    box-shadow: 0 7px 0 #2d2c2c, 0 14px 0 #2d2c2c; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #2f2e2e;
    box-shadow: 0 7px 0 #2f2e2e, 0 14px 0 #2f2e2e; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #2d2c2c;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.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: #1779ba transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #1779ba; }

.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 {
  right: 100%;
  left: auto;
  top: 0; }

.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 {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.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 #1779ba; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.phablet-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.phablet-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.phablet-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.phablet-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: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.phablet-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.phablet-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.phablet-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.phablet-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.phablet-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.phablet-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 #1779ba; } }

@media print, screen and (min-width: 53.25em) {
  .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: #1779ba 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 {
    right: 100%;
    left: auto;
    top: 0; }
  .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 {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .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 #1779ba; } }

@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: #1779ba 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 {
    right: 100%;
    left: auto;
    top: 0; }
  .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 {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .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 #1779ba; } }

.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 #2d2c2c;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .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 #1779ba; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e1e1e1; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e1e1e1; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-phablet {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-phablet .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-phablet {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-phablet ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-phablet {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-phablet .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-phablet {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-phablet ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-phablet {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-phablet .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-phablet {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-phablet ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-phablet {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-phablet .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-phablet {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-phablet ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 53.25em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-phablet {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-phablet.position-left, .off-canvas.in-canvas-for-phablet.position-right, .off-canvas.in-canvas-for-phablet.position-top, .off-canvas.in-canvas-for-phablet.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-phablet .close-button {
      display: none; } }

@media print, screen and (min-width: 53.25em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #2d2c2c; }
    .orbit-bullets button:hover {
      background-color: #2f2e2e; }
    .orbit-bullets button.is-active {
      background-color: #2f2e2e; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 53.25em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e1e1e1; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #2d2c2c;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #2d2c2c; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e1e1e1;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #2d2c2c;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.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; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.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: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #2d2c2c;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 53.25em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 53.25em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 53.25em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 53.25em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 53.25em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #2d2c2c;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  table thead,
  table tbody,
  table tfoot {
    border: 0;
    background-color: #fefefe; }
  table caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700; }
  table thead {
    background: #c6a16d;
    color: #fefefe; }
  table tfoot {
    background: #f1f1f1;
    color: #2d2c2c; }
  table thead tr,
  table tfoot tr {
    background: transparent; }
  table thead th,
  table thead td,
  table tfoot th,
  table tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700;
    text-align: left; }
  table tbody th,
  table tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  table tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 0;
      background-color: #fefefe; }

@media screen and (max-width: 63.9375em) {
  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: #c39c66; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid 0;
  background: transparent;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.5625rem 1.25rem 0;
    font-size: 1rem;
    line-height: 1;
    color: #1779ba; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #fefefe;
      color: #2d2c2c; }

.tabs-content {
  border: 1px solid 0;
  border-top: 0;
  background: #fefefe;
  color: #2d2c2c;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid 0;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 2.5rem 1.25rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #2f2e2e;
  font-weight: 700;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #e1e1e1; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 53.25em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 53.1875em) {
    .top-bar.stacked-for-phablet {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-phablet .top-bar-left,
      .top-bar.stacked-for-phablet .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 39.9375em) {
  .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-phablet {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-phablet {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 53.1875em) {
  .hide-for-phablet-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 53.25em) {
  .show-for-phablet-only {
    display: none !important; } }

@media print, screen and (min-width: 53.25em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 53.1875em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 53.1875em), 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.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.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-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-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-right.vertical.menu > li > a {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -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-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-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.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;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: 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-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .phablet-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .phablet-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .phablet-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .phablet-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .phablet-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .phablet-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 53.25em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .phablet-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .phablet-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .phablet-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .phablet-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .phablet-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .phablet-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .phablet-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .phablet-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 53.25em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-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-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.rounded {
  border-radius: 5000px !important; }

.radius {
  border-radius: 0.1875rem; }

.bordered {
  border: 0.0625rem solid #2d2c2c; }

.separator-center {
  text-align: center !important; }
  .separator-center::before, .separator-center::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .separator-center::after {
    clear: both; }
  .separator-center::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #1779ba;
    margin: 1rem auto 0; }

.separator-left {
  text-align: left !important; }
  .separator-left::before, .separator-left::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .separator-left::after {
    clear: both; }
  .separator-left::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #1779ba;
    margin: 1rem auto 0;
    margin-left: 0 !important; }

.separator-right {
  text-align: right !important; }
  .separator-right::before, .separator-right::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .separator-right::after {
    clear: both; }
  .separator-right::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #1779ba;
    margin: 1rem auto 0;
    margin-right: 0 !important; }

.width-25 {
  width: 25% !important; }

.width-50 {
  width: 50% !important; }

.width-75 {
  width: 75% !important; }

.width-100 {
  width: 100% !important; }

.height-25 {
  height: 25% !important; }

.height-50 {
  height: 50% !important; }

.height-75 {
  height: 75% !important; }

.height-100 {
  height: 100% !important; }

.max-width-100 {
  max-width: 100% !important; }

.max-height-100 {
  max-height: 100% !important; }

.margin-0 {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important; }

.padding-0 {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important; }

.margin-top-0 {
  margin-top: 0rem !important; }

.padding-top-0 {
  padding-top: 0rem !important; }

.margin-right-0 {
  margin-right: 0rem !important; }

.padding-right-0 {
  padding-right: 0rem !important; }

.margin-bottom-0 {
  margin-bottom: 0rem !important; }

.padding-bottom-0 {
  padding-bottom: 0rem !important; }

.margin-left-0 {
  margin-left: 0rem !important; }

.padding-left-0 {
  padding-left: 0rem !important; }

.margin-horizontal-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important; }

.padding-horizontal-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important; }

.margin-vertical-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important; }

.padding-vertical-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important; }

.margin-1 {
  margin-top: 1rem !important;
  margin-right: 1rem !important;
  margin-bottom: 1rem !important;
  margin-left: 1rem !important; }

.padding-1 {
  padding-top: 1rem !important;
  padding-right: 1rem !important;
  padding-bottom: 1rem !important;
  padding-left: 1rem !important; }

.margin-top-1 {
  margin-top: 1rem !important; }

.padding-top-1 {
  padding-top: 1rem !important; }

.margin-right-1 {
  margin-right: 1rem !important; }

.padding-right-1 {
  padding-right: 1rem !important; }

.margin-bottom-1 {
  margin-bottom: 1rem !important; }

.padding-bottom-1 {
  padding-bottom: 1rem !important; }

.margin-left-1 {
  margin-left: 1rem !important; }

.padding-left-1 {
  padding-left: 1rem !important; }

.margin-horizontal-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.margin-vertical-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.margin-2 {
  margin-top: 2rem !important;
  margin-right: 2rem !important;
  margin-bottom: 2rem !important;
  margin-left: 2rem !important; }

.padding-2 {
  padding-top: 2rem !important;
  padding-right: 2rem !important;
  padding-bottom: 2rem !important;
  padding-left: 2rem !important; }

.margin-top-2 {
  margin-top: 2rem !important; }

.padding-top-2 {
  padding-top: 2rem !important; }

.margin-right-2 {
  margin-right: 2rem !important; }

.padding-right-2 {
  padding-right: 2rem !important; }

.margin-bottom-2 {
  margin-bottom: 2rem !important; }

.padding-bottom-2 {
  padding-bottom: 2rem !important; }

.margin-left-2 {
  margin-left: 2rem !important; }

.padding-left-2 {
  padding-left: 2rem !important; }

.margin-horizontal-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important; }

.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important; }

.margin-vertical-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important; }

.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important; }

.margin-3 {
  margin-top: 3rem !important;
  margin-right: 3rem !important;
  margin-bottom: 3rem !important;
  margin-left: 3rem !important; }

.padding-3 {
  padding-top: 3rem !important;
  padding-right: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 3rem !important; }

.margin-top-3 {
  margin-top: 3rem !important; }

.padding-top-3 {
  padding-top: 3rem !important; }

.margin-right-3 {
  margin-right: 3rem !important; }

.padding-right-3 {
  padding-right: 3rem !important; }

.margin-bottom-3 {
  margin-bottom: 3rem !important; }

.padding-bottom-3 {
  padding-bottom: 3rem !important; }

.margin-left-3 {
  margin-left: 3rem !important; }

.padding-left-3 {
  padding-left: 3rem !important; }

.margin-horizontal-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.margin-vertical-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

html,
body {
  min-height: 100%;
  overflow-x: hidden; }

h2:only-child,
h3:only-child,
ul:only-child {
  margin-bottom: 0; }

h4,
h5,
h6 {
  margin-bottom: 0.5rem; }

em {
  display: inline-block; }

button {
  border-radius: 0;
  color: inherit;
  font-family: "Open Sans", Helvetica, Arial, sans-serif; }

img:not([src]) {
  visibility: hidden; }

img[data-original] {
  opacity: 0;
  transition: opacity .5s; }

img.is-loaded {
  opacity: 1; }

iframe {
  max-width: 100%; }

hr {
  border-color: #ccc; }
  hr.hr--margin-small {
    margin: 0; }

@-moz-document url-prefix() {
  img:-moz-loading {
    visibility: hidden; } }

h1 {
  color: #0f2c52;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 2.0rem;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 1rem;
  margin-top: 32px; }
  @media screen and (max-width: 53.1875em) {
    h1 {
      font-size: 1.55rem; } }

h2 {
  color: #404040;
  font-size: 1.55rem;
  font-weight: 520;
  line-height: 1.2; }
  @media screen and (max-width: 53.1875em) {
    h2 {
      font-size: 1.5rem; } }

h3 {
  color: #e36018;
  font-size: 1.15rem;
  font-weight: 520;
  line-height: 1.2; }
  @media screen and (max-width: 53.1875em) {
    h3 {
      font-size: 1.15rem; } }

h4 {
  color: #242424;
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.2; }
  @media screen and (max-width: 53.1875em) {
    h4 {
      font-size: 1.25rem; } }

h5 {
  color: #0072ce;
  font-size: 1.15rem;
  font-weight: 520;
  line-height: 1.2; }
  @media screen and (max-width: 53.1875em) {
    h5 {
      font-size: 1.15rem; } }

h6 {
  color: #40c1ac;
  font-size: 1.15rem;
  font-weight: 520;
  line-height: 1.2; }
  @media screen and (max-width: 53.1875em) {
    h6 {
      font-size: 1.15rem; } }

.rtf {
  /* YAPL
name: Button
partial: sg-button
selector: .button
*/
  /* YAPL
name: Button Hollow
notes: This has a white border and text so should be used on a color background
partial: sg-button-hollow
selector: .button.button--hollow
*/
  /* YAPL
name: Button Hollow Light Brown
partial: sg-button-hollow--light-brown
selector: .button.button--hollow--light-brown
*/
  /* YAPL
name: Button Hollow Blue
partial: sg-button-hollow--blue
selector: .button.button--hollow--blue.white
*/
  /* YAPL
name: Button Microsite
partial: sg-button-microsite
selector: .button.button--microsite
*/
  /* YAPL
name: Button Rounded
partial: sg-button-rounded
selector: .button.button--rounded
*/
  /* YAPL
name: Button Icon
partial: sg-button-icon
selector: .button.button--icon
*/ }
  .rtf > *.icon, .rtf > *:only-child, .rtf > *:first-child {
    margin-top: 0; }
  @media screen and (min-width: 53.25em) {
    .rtf > *.u-float-left + p {
      margin-top: 0; } }
  .rtf figure {
    margin-bottom: 1rem; }
  .rtf h1,
  .rtf h2,
  .rtf h3,
  .rtf h4 {
    margin-top: 3rem; }
  .rtf h5 {
    margin-top: 1.5rem; }
  .rtf h6 {
    margin-top: 1rem; }
  .rtf h4,
  .rtf h5 {
    margin-bottom: 0; }
  .rtf p {
    color: #2d2c2c;
    line-height: 1.6;
    min-width: 7.5rem; }
    .rtf p.paragraph-tight {
      line-height: 1.3;
      margin-bottom: .5rem; }
    .rtf p.paragraph-extra-space {
      line-height: 1.9;
      margin-bottom: .5rem; }
  .rtf a:hover {
    color: #e36018; }
  .rtf ol,
  .rtf ul {
    list-style: none;
    margin-left: 3rem;
    overflow: hidden; }
    .rtf ol:last-child,
    .rtf ul:last-child {
      margin-bottom: 0; }
    .rtf ol li,
    .rtf ul li {
      line-height: 1.6;
      margin-bottom: 1rem;
      padding-left: 1.75rem;
      position: relative; }
      @media screen and (max-width: 53.1875em) {
        .rtf ol li,
        .rtf ul li {
          margin-bottom: .75rem; } }
      .rtf ol li::before,
      .rtf ul li::before {
        color: #e36018;
        font-weight: 700;
        left: 0;
        position: absolute;
        width: 1.5rem; }
    @media screen and (max-width: 53.1875em) {
      .rtf ol,
      .rtf ul {
        margin-left: 1rem; } }
    .rtf ol + h2,
    .rtf ol + h3,
    .rtf ol + h4,
    .rtf ol + h5,
    .rtf ol + h6,
    .rtf ul + h2,
    .rtf ul + h3,
    .rtf ul + h4,
    .rtf ul + h5,
    .rtf ul + h6 {
      margin-top: 2rem; }
  .rtf ol {
    counter-reset: ol-counter; }
    .rtf ol ol {
      margin-left: 0;
      margin-top: 1rem; }
    .rtf ol li::before {
      content: counter(ol-counter) ".";
      counter-increment: ol-counter;
      line-height: 1.6;
      text-align: right; }
    .rtf ol li li::before {
      content: counter(ol-counter, lower-alpha) "."; }
    .rtf ol li li:last-child {
      margin-bottom: 0; }
  .rtf ul ul {
    margin-left: 0;
    margin-top: 1rem; }
  .rtf ul li {
    margin-bottom: 1.1rem; }
    @media screen and (max-width: 53.1875em) {
      .rtf ul li {
        margin-bottom: .75rem; } }
    .rtf ul li::before {
      content: '•';
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      font-size: 1.75rem;
      line-height: .9;
      text-align: center; }
    .rtf ul li li {
      padding-left: 1.25rem; }
      .rtf ul li li::before {
        content: '○';
        font-size: 0.875rem;
        line-height: 1.7; }
      .rtf ul li li:last-child {
        margin-bottom: 0; }
      .rtf ul li li li {
        padding-left: 1.25rem; }
        .rtf ul li li li::before {
          content: '•';
          font-size: 1rem;
          line-height: 1.6; }
        .rtf ul li li li:last-child {
          margin-bottom: 0; }
  .rtf .button {
    border: 2px solid #0071b9;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 1em 1.5em;
    text-transform: uppercase;
    transition: background-color 0.3s, color 0.3s; }
    .rtf .button .icon {
      font-size: .75em; }
    .rtf .button:hover {
      background-color: transparent;
      border: 2px solid #0071b9;
      color: #0071b9; }
    .rtf .button.button--hollow {
      background-color: transparent;
      border: 2px solid #fefefe;
      color: #fefefe;
      display: inline-block;
      position: relative;
      z-index: 1; }
      .rtf .button.button--hollow:hover {
        background-color: #fefefe;
        color: #e36018; }
    .rtf .button.button--hollow--light-brown {
      background-color: transparent;
      border-color: #c69f6d;
      color: #aa8a5d; }
      .rtf .button.button--hollow--light-brown:hover {
        background-color: #c6a16d;
        color: #fefefe; }
    .rtf .button.button--hollow--blue {
      border-color: #0071b9;
      color: #0071b9; }
      .rtf .button.button--hollow--blue:hover {
        background-color: #0071b9;
        color: #fefefe; }
    .rtf .button.button--icon {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      max-width: 240px;
      padding: .75rem;
      text-align: left;
      text-transform: none; }
      .rtf .button.button--icon .icon {
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        font-size: 1em;
        margin-left: 0;
        margin-right: .5rem; }
      .rtf .button.button--icon:hover .icon {
        color: #fefefe; }
      @media screen and (max-width: 39.9375em) {
        .rtf .button.button--icon {
          padding: .5rem; }
          .rtf .button.button--icon .icon {
            margin-right: .25rem; } }
    .rtf .button.button--rounded {
      border-radius: 27px; }
    .rtf .button.button--microsite {
      background-color: transparent;
      border-radius: 24px;
      color: #0071b9; }
      .rtf .button.button--microsite:hover {
        background-color: #0071b9;
        color: #fefefe; }
    .rtf .button.button--no-margin {
      margin: 0; }
  .rtf .button__container {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1rem; }
    .rtf .button__container a,
    .rtf .button__container button {
      margin-right: 1rem; }
    @media screen and (max-width: 53.1875em) {
      .rtf .button__container {
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  .rtf img.float-left, .rtf img.float-right {
    width: auto; }
  .rtf img.float-left {
    margin-right: 1.5rem; }
  .rtf img.float-right {
    margin-left: 1.5rem; }
  @media screen and (max-width: 63.9375em) {
    .rtf {
      font-size: 0.875rem; } }
  @media screen and (max-width: 53.1875em) {
    .rtf h1,
    .rtf h2,
    .rtf h3,
    .rtf h4 {
      margin-top: 1.5rem; }
    .rtf h5,
    .rtf h6 {
      margin-top: 1.5rem; } }

.small {
  font-size: 0.875rem; }

.medium {
  font-size: 1.125rem; }

.large {
  font-size: 1.5rem; }

.semibold {
  font-weight: 600; }

.bold {
  font-weight: 700; }

.italic {
  font-style: italic; }

.orange {
  color: #e36018; }

.gray {
  color: #242424; }

.medium-brown {
  color: #976f3f; }

.red {
  color: #f42020; }

.icon--phone:before {
  content: '\e800'; }

/* '' */
.icon--search:before {
  content: '\e801'; }

/* '' */
.icon--minus:before {
  content: '\e802'; }

/* '' */
.icon--plus:before {
  content: '\e803'; }

/* '' */
.icon--th:before {
  content: '\e804'; }

/* '' */
.icon--twitter:before {
  content: '\e805'; }

/* '' */
.icon--instagram:before {
  content: '\e806'; }

/* '' */
.icon--youtube-play:before {
  content: '\e807'; }

/* '' */
.icon--linkedin:before {
  content: '\e808'; }

/* '' */
.icon--briefcase:before {
  content: '\e809'; }

/* '' */
.icon--times:before {
  content: '\e80a'; }

/* '' */
.icon--appt:before {
  content: '\e80b'; }

/* '' */
.icon--arrow-right:before {
  content: '\e80c'; }

/* '' */
.icon--instagram-1:before {
  content: '\e80d'; }

/* '' */
.icon--location:before {
  content: '\e80e'; }

/* '' */
.icon--make-an-appt:before {
  content: '\e80f'; }

/* '' */
.icon--news:before {
  content: '\e810'; }

/* '' */
.icon--physician:before {
  content: '\e811'; }

/* '' */
.icon--facebook:before {
  content: '\e812'; }

/* '' */
.icon--play:before {
  content: '\e813'; }

/* '' */
.icon--view-all-event:before {
  content: '\e814'; }

/* '' */
.icon--chevron-right:before {
  content: '\e815'; }

/* '' */
.icon--find-a-doc:before {
  content: '\e816'; }

/* '' */
.icon--patient-story:before {
  content: '\e817'; }

/* '' */
.icon--chevron-down:before {
  content: '\e818'; }

/* '' */
.icon--envelope-o:before {
  content: '\e819'; }

/* '' */
.icon--treatment:before {
  content: '\e81a'; }

/* '' */
.icon--mail:before {
  content: '\e81b'; }

/* '' */
.icon--chevron-left:before {
  content: '\e81c'; }

/* '' */
.icon--check:before {
  content: '\e81d'; }

/* '' */
.icon--reset:before {
  content: '\e81e'; }

/* '' */
.icon--arrow-left:before {
  content: '\e81f'; }

/* '' */
.icon--chevron-up:before {
  content: '\e820'; }

/* '' */
.icon--print:before {
  content: '\e821'; }

/* '' */
@font-face {
  font-family: 'lifebridge';
  src: url("../fonts/fontello.eot?36924966");
  src: url("../fonts/fontello.eot?36924966#iefix") format("embedded-opentype"), url("../fonts/fontello.woff2?36924966") format("woff2"), url("../fonts/fontello.woff?36924966") format("woff"), url("../fonts/fontello.ttf?36924966") format("truetype"), url("../fonts/fontello.svg?36924966#fontello") format("svg");
  font-weight: normal;
  font-style: normal; }


.icon {
  display: inline-block;
  font-size: 1em;
  margin-right: .3em;
  vertical-align: middle; }
  
  .icon::before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-family: 'lifebridge' !important;
    font-style: normal !important;
    font-variant: normal !important;
    font-weight: normal !important;
    line-height: 1;
    speak: none;
    text-transform: none !important; }
  .cta
  .icon,
  .rtf
  .icon,
  p
  .icon {
    display: inline-block; }

.icon--small {
  font-size: 0.75rem; }

.icon--large {
  font-size: 1.5rem; }

.icon--very-large {
  font-size: 3rem; }

.icon--center {
  margin-right: 0; }

.icon--circle {
  border-radius: 28px;
  height: 56px;
  width: 56px; }

.icon--margin-right-half {
  margin-right: 0.5rem !important; }

.icon--reverse {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

.icon__background {
  background-color: #e36018;
  color: #fefefe;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  transition: background-color .3s; }
  .icon__background::before {
    position: absolute; }

.icon__background--large {
  border-radius: 25px;
  height: 50px;
  width: 50px; }
  .icon__background--large::before {
    left: calc(50% - 5px);
    top: calc(50% - 5px); }

.icon__background--medium {
  border-radius: 21px;
  height: 42px;
  width: 42px; }
  .icon__background--medium::before {
    left: calc(50% - 14px);
    position: absolute;
    top: calc(50% - 14px); }

.icon__background--small {
  border-radius: 18px;
  height: 36px;
  width: 36px; }
  .icon__background--small::before {
    left: calc(50% - 7px);
    top: calc(50% - 7px); }

.icon__background--very-small {
  border-radius: 12px;
  height: 24px;
  width: 24px; }
  .icon__background--very-small::before {
    font-size: 0.625rem;
    left: calc(50% - 4px);
    top: calc(50% - 5px); }

.icon--position-center {
  left: 50%;
  margin-right: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  .icon--position-center.icon--play {
    padding-left: 3px;
    padding-top: 4px; }

.u-block {
  display: block; }

@media screen and (max-width: 39.9375em) {
  .u-block--small {
    display: block; } }

.u-clearfix::before, .u-clearfix::after {
  content: '';
  display: table; }

.u-clearfix::after {
  clear: both; }

.u-uppercase {
  text-transform: uppercase !important; }

.u-no-margin {
  margin: 0 !important; }

.u-float-left {
  float: left; }

.u-float-right {
  float: right; }

@media screen and (min-width: 53.25em) {
  .u-float-right--medium {
    float: right; } }

.basic-tabs.tabs--vertical .tabs-title:first-child {
  margin-top: 0rem; }

.vertical-margin-0 {
  margin-top: 0rem !important; }

.vertical-padding-0 {
  padding-top: 0rem !important; }

.rtf h4 + p,
.rtf h5 + p, .basic-tabs.tabs--vertical .tabs-title {
  margin-top: 0.5rem; }

.vertical-margin-half {
  margin-top: 0.5rem !important; }

.vertical-padding-half {
  padding-top: 0.5rem !important; }

.rtf > * {
  margin-top: 1rem; }

.vertical-margin-1 {
  margin-top: 1rem !important; }

.vertical-padding-1 {
  padding-top: 1rem !important; }

.vertical-margin-2 {
  margin-top: 2rem !important; }

.vertical-padding-2 {
  padding-top: 2rem !important; }

.vertical-margin-3 {
  margin-top: 3rem !important; }

.vertical-padding-3 {
  padding-top: 3rem !important; }

.vertical-margin-4 {
  margin-top: 4rem !important; }

.vertical-padding-4 {
  padding-top: 4rem !important; }

.vertical-margin-5 {
  margin-top: 5rem !important; }

.vertical-padding-5 {
  padding-top: 5rem !important; }

.vertical-margin-6 {
  margin-top: 6rem !important; }

.vertical-padding-6 {
  padding-top: 6rem !important; }

.vertical-margin-7 {
  margin-top: 7rem !important; }

.vertical-padding-7 {
  padding-top: 7rem !important; }

.vertical-margin-8 {
  margin-top: 8rem !important; }

.vertical-padding-8 {
  padding-top: 8rem !important; }

.vertical-margin-9 {
  margin-top: 9rem !important; }

.vertical-padding-9 {
  padding-top: 9rem !important; }

.vertical-margin-10 {
  margin-top: 10rem !important; }

.vertical-padding-10 {
  padding-top: 10rem !important; }

.vertical-margin-11 {
  margin-top: 11rem !important; }

.vertical-padding-11 {
  padding-top: 11rem !important; }

.vertical-margin-12 {
  margin-top: 12rem !important; }

.vertical-padding-12 {
  padding-top: 12rem !important; }

.vertical-margin-0-small {
  margin-top: 0rem !important; }

.vertical-padding-0-small {
  padding-top: 0rem !important; }

.vertical-margin-half-1-small {
  margin-top: 0.5rem !important; }

.vertical-padding-half-1-small {
  padding-top: 0.5rem !important; }

.vertical-margin-1-small {
  margin-top: 1rem !important; }

.vertical-padding-1-small {
  padding-top: 1rem !important; }

.vertical-margin-2-small {
  margin-top: 2rem !important; }

.vertical-padding-2-small {
  padding-top: 2rem !important; }

.vertical-margin-3-small {
  margin-top: 3rem !important; }

.vertical-padding-3-small {
  padding-top: 3rem !important; }

.vertical-margin-4-small {
  margin-top: 4rem !important; }

.vertical-padding-4-small {
  padding-top: 4rem !important; }

.vertical-margin-5-small {
  margin-top: 5rem !important; }

.vertical-padding-5-small {
  padding-top: 5rem !important; }

.vertical-margin-6-small {
  margin-top: 6rem !important; }

.vertical-padding-6-small {
  padding-top: 6rem !important; }

.vertical-margin-7-small {
  margin-top: 7rem !important; }

.vertical-padding-7-small {
  padding-top: 7rem !important; }

.vertical-margin-8-small {
  margin-top: 8rem !important; }

.vertical-padding-8-small {
  padding-top: 8rem !important; }

.vertical-margin-9-small {
  margin-top: 9rem !important; }

.vertical-padding-9-small {
  padding-top: 9rem !important; }

.vertical-margin-10-small {
  margin-top: 10rem !important; }

.vertical-padding-10-small {
  padding-top: 10rem !important; }

.vertical-margin-11-small {
  margin-top: 11rem !important; }

.vertical-padding-11-small {
  padding-top: 11rem !important; }

.vertical-margin-12-small {
  margin-top: 12rem !important; }

.vertical-padding-12-small {
  padding-top: 12rem !important; }

@media print, screen and (min-width: 40em) {
  .vertical-margin-0-phablet {
    margin-top: 0rem !important; }
  .vertical-padding-0-phablet {
    padding-top: 0rem !important; }
  .vertical-margin-half-1-phablet {
    margin-top: 0.5rem !important; }
  .vertical-padding-half-1-phablet {
    padding-top: 0.5rem !important; }
  .vertical-margin-1-phablet {
    margin-top: 1rem !important; }
  .vertical-padding-1-phablet {
    padding-top: 1rem !important; }
  .vertical-margin-2-phablet {
    margin-top: 2rem !important; }
  .vertical-padding-2-phablet {
    padding-top: 2rem !important; }
  .vertical-margin-3-phablet {
    margin-top: 3rem !important; }
  .vertical-padding-3-phablet {
    padding-top: 3rem !important; }
  .vertical-margin-4-phablet {
    margin-top: 4rem !important; }
  .vertical-padding-4-phablet {
    padding-top: 4rem !important; }
  .vertical-margin-5-phablet {
    margin-top: 5rem !important; }
  .vertical-padding-5-phablet {
    padding-top: 5rem !important; }
  .vertical-margin-6-phablet {
    margin-top: 6rem !important; }
  .vertical-padding-6-phablet {
    padding-top: 6rem !important; }
  .vertical-margin-7-phablet {
    margin-top: 7rem !important; }
  .vertical-padding-7-phablet {
    padding-top: 7rem !important; }
  .vertical-margin-8-phablet {
    margin-top: 8rem !important; }
  .vertical-padding-8-phablet {
    padding-top: 8rem !important; }
  .vertical-margin-9-phablet {
    margin-top: 9rem !important; }
  .vertical-padding-9-phablet {
    padding-top: 9rem !important; }
  .vertical-margin-10-phablet {
    margin-top: 10rem !important; }
  .vertical-padding-10-phablet {
    padding-top: 10rem !important; }
  .vertical-margin-11-phablet {
    margin-top: 11rem !important; }
  .vertical-padding-11-phablet {
    padding-top: 11rem !important; }
  .vertical-margin-12-phablet {
    margin-top: 12rem !important; }
  .vertical-padding-12-phablet {
    padding-top: 12rem !important; } }

@media print, screen and (min-width: 53.25em) {
  .vertical-margin-0-medium {
    margin-top: 0rem !important; }
  .vertical-padding-0-medium {
    padding-top: 0rem !important; }
  .vertical-margin-half-1-medium {
    margin-top: 0.5rem !important; }
  .vertical-padding-half-1-medium {
    padding-top: 0.5rem !important; }
  .vertical-margin-1-medium {
    margin-top: 1rem !important; }
  .vertical-padding-1-medium {
    padding-top: 1rem !important; }
  .vertical-margin-2-medium {
    margin-top: 2rem !important; }
  .vertical-padding-2-medium {
    padding-top: 2rem !important; }
  .vertical-margin-3-medium {
    margin-top: 3rem !important; }
  .vertical-padding-3-medium {
    padding-top: 3rem !important; }
  .vertical-margin-4-medium {
    margin-top: 4rem !important; }
  .vertical-padding-4-medium {
    padding-top: 4rem !important; }
  .vertical-margin-5-medium {
    margin-top: 5rem !important; }
  .vertical-padding-5-medium {
    padding-top: 5rem !important; }
  .vertical-margin-6-medium {
    margin-top: 6rem !important; }
  .vertical-padding-6-medium {
    padding-top: 6rem !important; }
  .vertical-margin-7-medium {
    margin-top: 7rem !important; }
  .vertical-padding-7-medium {
    padding-top: 7rem !important; }
  .vertical-margin-8-medium {
    margin-top: 8rem !important; }
  .vertical-padding-8-medium {
    padding-top: 8rem !important; }
  .vertical-margin-9-medium {
    margin-top: 9rem !important; }
  .vertical-padding-9-medium {
    padding-top: 9rem !important; }
  .vertical-margin-10-medium {
    margin-top: 10rem !important; }
  .vertical-padding-10-medium {
    padding-top: 10rem !important; }
  .vertical-margin-11-medium {
    margin-top: 11rem !important; }
  .vertical-padding-11-medium {
    padding-top: 11rem !important; }
  .vertical-margin-12-medium {
    margin-top: 12rem !important; }
  .vertical-padding-12-medium {
    padding-top: 12rem !important; } }

@media print, screen and (min-width: 64em) {
  .vertical-margin-0-large {
    margin-top: 0rem !important; }
  .vertical-padding-0-large {
    padding-top: 0rem !important; }
  .vertical-margin-half-1-large {
    margin-top: 0.5rem !important; }
  .vertical-padding-half-1-large {
    padding-top: 0.5rem !important; }
  .vertical-margin-1-large {
    margin-top: 1rem !important; }
  .vertical-padding-1-large {
    padding-top: 1rem !important; }
  .vertical-margin-2-large {
    margin-top: 2rem !important; }
  .vertical-padding-2-large {
    padding-top: 2rem !important; }
  .vertical-margin-3-large {
    margin-top: 3rem !important; }
  .vertical-padding-3-large {
    padding-top: 3rem !important; }
  .vertical-margin-4-large {
    margin-top: 4rem !important; }
  .vertical-padding-4-large {
    padding-top: 4rem !important; }
  .vertical-margin-5-large {
    margin-top: 5rem !important; }
  .vertical-padding-5-large {
    padding-top: 5rem !important; }
  .vertical-margin-6-large {
    margin-top: 6rem !important; }
  .vertical-padding-6-large {
    padding-top: 6rem !important; }
  .vertical-margin-7-large {
    margin-top: 7rem !important; }
  .vertical-padding-7-large {
    padding-top: 7rem !important; }
  .vertical-margin-8-large {
    margin-top: 8rem !important; }
  .vertical-padding-8-large {
    padding-top: 8rem !important; }
  .vertical-margin-9-large {
    margin-top: 9rem !important; }
  .vertical-padding-9-large {
    padding-top: 9rem !important; }
  .vertical-margin-10-large {
    margin-top: 10rem !important; }
  .vertical-padding-10-large {
    padding-top: 10rem !important; }
  .vertical-margin-11-large {
    margin-top: 11rem !important; }
  .vertical-padding-11-large {
    padding-top: 11rem !important; }
  .vertical-margin-12-large {
    margin-top: 12rem !important; }
  .vertical-padding-12-large {
    padding-top: 12rem !important; } }

/* YAPL
name: Breadcrumb Navigation
partial: breadcrumbs
context: breadcrumbs.mastersub
selector: .breadcrumbs
*/
.breadcrumbs {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #0071b9;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  height: 56px;
  list-style-type: none;
  margin-bottom: 0; }
  @media screen and (max-width: 63.9375em) {
    .breadcrumbs {
      display: none; } }
  .breadcrumbs ul {
    list-style-type: none; }
    .breadcrumbs ul li {
      font-size: 14px;
      text-transform: capitalize; }
      .breadcrumbs ul li::after {
        content: '' !important; }
      .breadcrumbs ul li:last-child a {
        text-decoration: none; }
      .breadcrumbs ul li .icon {
        font-size: 10px; }
    .breadcrumbs ul a {
      color: #fefefe;
      padding-right: 20px;
      text-decoration: underline;
      -webkit-text-decoration-color: #aaebe6;
              text-decoration-color: #aaebe6;
      transition: 0.3s; }
      .breadcrumbs ul a:hover {
        color: #aaebe6; }

.footer-main {
  background-color: #0f2c52;
  color: #fefefe;
  min-height: 184px;
  padding: 0 0 73px;
  position: relative; }
  @media screen and (max-width: 53.1875em) {
    .footer-main {
      padding-bottom: 1rem; } }

.footer-main__container {
  position: relative; }
  @media screen and (max-width: 53.1875em) {
    .footer-main__container {
      padding-left: 0;
      padding-right: 0; } }

.footer-main__logo {
  /*background-image: url("../img/logo-reversed.svg");*/
  background-image: url("http://www.lifebridgehealth.org/Uploads/assets/img/carebravely/LBH_BRAND_CB_HORIZ_rev_logo.svg");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  height: 48px;
  min-width: 420px;/*440 */
  padding-right: 1rem; }
  @media screen and (max-width: 53.1875em) {
    .footer-main__logo {
      background-size: 100% auto;
      height: auto;
      min-width: auto;
      padding-bottom: 2rem;
      padding-top: 2rem;
      width: 330px; } }
  .sublocation .footer-main__logo {
    background-image: url("../img/logo-sinai-white.svg");
    min-width: 336px; }
    @media screen and (max-width: 53.1875em) {
      .sublocation .footer-main__logo {
        margin-top: 20px; } }

.footer__utility {
  background-color: #0c2547; }

.footer__utility-nav {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  min-height: 85px; }
  .footer__utility-nav div {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .footer__utility-nav a {
    color: inherit;
    font-size: 0.8125rem; }
    .footer__utility-nav a:hover {
      color: #f48142; }
  .footer__utility-nav .icon {
    font-size: 0.75rem;
    margin-right: 2px;
    margin-top: 3px; }
  @media screen and (max-width: 63.9375em) {
    .footer__utility-nav {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 2rem 0; }
      .footer__utility-nav div {
        font-weight: 600;
        margin-bottom: 1.5rem; }
        .footer__utility-nav div:last-child {
          margin-bottom: 0; }
      .footer__utility-nav .icon {
        display: none; } }

.footer-main__info {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 58px; }
  @media screen and (max-width: 53.1875em) {
    .footer-main__info {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      padding-top: 78px; } }

.footer-main__address {
  border-left: 2px solid #8796a9;
  padding-left: 1rem;
  text-align: center; }
  .footer-main__address h5 {
    color: #fefefe;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0;
    text-transform: uppercase; }
  .footer-main__address p {
    font-size: 0.9375rem;
    margin-bottom: 0; }
  @media screen and (min-width: 64em) {
    .footer-main__address {
      text-align: left; } }
  @media screen and (max-width: 53.1875em) {
    .footer-main__address {
      border-left: 0;
      border-top: 1px solid rgba(63, 86, 117, 0.6);
      margin-top: 1rem;
      padding-bottom: 1rem;
      padding-top: 1.5rem;
      width: 100%; } }

@media screen and (max-width: 63.9375em) {
  .grid-container {
    padding-left: 1rem;
    padding-right: 1rem; } }

@media screen and (max-width: 63.9375em) {
  .grid-full-small {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 53.25em) {
  .grid-margin-wide .cell.medium-6 {
    width: calc(50% - 2rem); }
    .grid-margin-wide .cell.medium-6:first-child {
      margin-left: 0;
      margin-right: 2rem; }
    .grid-margin-wide .cell.medium-6:last-child {
      margin-left: 2rem;
      margin-right: 0; } }

.header-main {
  position: relative;
  transition: .25s height linear;
  z-index: 10; }
  @media screen and (max-width: 63.9375em) {
    .header-main {
      border-top: 8px solid #0f2c52; }
      .is-nav-open .header-main {
        height: 100vh !important; }
        .is-nav-open .header-main .header-main__sticky {
          height: 100vh !important; }
        .is-nav-open .header-main .header-main__title-bar {
          border-bottom: 0.0625rem solid #e1e1e1; }
      .header-main.header--careers, .header-main.header--microsite, .header-main.header--campaign {
        border-top: 0; } }

.header-main__sticky {
  background: #fefefe;
  box-shadow: 0 0 1.5625rem rgba(10, 10, 10, 0.25);
  height: 146px;
  transition: height 0.3s;
  z-index: 5; }
  .header-main__sticky.is-stuck {
    height: 85px; }
    .is-expanded .header-main__sticky.is-stuck {
      height: 146px; }
  @media screen and (max-width: 63.9375em) {
    .header-main__sticky {
      height: 72px; }
      .header-main__sticky.is-stuck {
        height: 72px; }
      .is-nav-open .sublocation .header-main__sticky {
        padding-top: 20px; } }
  .header--careers .header-main__sticky {
    border-top: 10px solid #0f2c52;
    height: 118px; }
    .header--careers .header-main__sticky.is-stuck {
      height: 85px; }
      .is-expanded .header--careers .header-main__sticky.is-stuck {
        height: 118px; }
    @media screen and (max-width: 53.1875em) {
      .header--careers .header-main__sticky {
        height: 82px; }
        .is-stuck .header--careers .header-main__sticky {
          border-top: 10px solid #0f2c52; } }
  .header--campaign .header-main__sticky {
    background-color: transparent;
    border-top: 10px solid #0f2c52;
    box-shadow: 0 0 0 0;
    height: 123px;
    transition: background-color 0.3s; }
    .header--campaign .header-main__sticky.is-stuck {
      background-color: #0f2c52; }
      .is-expanded .header--campaign .header-main__sticky.is-stuck {
        height: 118px; }
    @media screen and (max-width: 63.9375em) {
      .header--campaign .header-main__sticky {
        height: 82px; } }
  .header--microsite .header-main__sticky {
    background-color: transparent;
    border-top: 10px solid #e36018;
    box-shadow: 0 0 0 0;
    height: 157px;
    transition: background-color 0.3s; }
    .header--microsite .header-main__sticky.is-stuck {
      background-color: #fefefe;
      box-shadow: 0 0 1.5625rem rgba(10, 10, 10, 0.25);
      height: 137px; }
      .is-expanded .header--microsite .header-main__sticky.is-stuck {
        height: 137px; }
  .header-microsite--sub .header-main__sticky {
    background-color: #fefefe;
    box-shadow: 0 0 1.5625rem rgba(10, 10, 10, 0.25);
    height: 137px; }

.header-main__container {
  height: 108px;
  transition: height 0.3s;
  will-change: height; }
  .is-stuck .header-main__container {
    height: 82px; }
    .is-expanded .is-stuck .header-main__container {
      height: 108px; }
    .header--microsite .is-stuck .header-main__container {
      height: 108px; }
    .header--campaign .is-stuck .header-main__container {
      height: 52px; }
  @media screen and (max-width: 63.9375em) {
    .is-nav-open .header--campaign .header-main__container {
      background-color: #0f2c52; } }
  @media screen and (max-width: 63.9375em) {
    .header-main__container {
      height: 72px; }
      .is-stuck .header-main__container {
        height: 72px; } }

.header-main__title {
  background-image: url("../img/logo.svg");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  height: 53px;
  margin-bottom: 0;
  margin-top: 0;
  min-width: 381px;
  transition: margin 0.3s, height 0.3s;
  will-change: height, margin; }
  .is-stuck .header-main__title {
    height: 40px; }
    .sublocation .is-stuck .header-main__title {
      height: 32px; }
  @media screen and (max-width: 63.9375em) {
    .header-main__title {
      background-position: 12px 18px;
      background-size: 220px auto;
      height: 64px;
      min-width: auto;
      width: 240px; }
      .is-stuck .header-main__title {
        height: 53px; }
        .sublocation .is-stuck .header-main__title {
          height: 53px; } }
  .sublocation .header-main__title {
    background-image: url("../img/logo-sinai.svg");
    height: 43px;
    margin-top: 12px;
    min-width: 260px; }
    @media screen and (max-width: 63.9375em) {
      .sublocation .header-main__title {
        height: 64px;
        margin-top: 0; } }

.header-main__title--other {
  margin-bottom: 0;
  margin-top: 0; }
  .header-main__title--other > img {
    max-height: 50px; }
  @media screen and (max-width: 63.9375em) {
    .header-main__title--other {
      margin-left: 1rem;
      max-height: 50px; } }

.header__logo--microsite {
  margin-top: 0 !important; }
  @media screen and (max-width: 63.9375em) {
    .is-stuck .header__logo--microsite {
      margin-top: 0; } }
  .header__logo--microsite img {
    margin-top: 3rem;
    max-height: 120px;
    transition: max-height 0.3s, margin-top 0.3s; }
    @media screen and (max-width: 63.9375em) {
      .header__logo--microsite img {
        margin-left: 1rem;
        margin-top: 1rem; }
        .is-stuck .header__logo--microsite img {
          margin-top: 1rem !important; } }
  .is-stuck .header__logo--microsite img {
    margin-top: 2rem;
    max-height: 90px; }
  .header-microsite--sub .header__logo--microsite img {
    margin-top: 16px;
    max-height: 90px; }
  .is-stuck .header-microsite--sub .header__logo--microsite img {
    margin-top: 0; }
  @media screen and (max-width: 53.1875em) {
    .header__logo--microsite {
      margin-top: 0; }
      .header__logo--microsite img {
        max-height: 70px; } }

.header__logo--careers {
  margin-top: 0;
  position: relative;
  transition: margin-top 0.3s; }
  .is-stuck .header__logo--careers {
    max-height: 90px; }
  @media screen and (max-width: 63.9375em) {
    .header__logo--careers {
      margin-left: 1rem; } }
  @media screen and (max-width: 53.1875em) {
    .header__logo--careers {
      margin-top: 1rem; }
      .header__logo--careers img {
        max-height: 30px; } }

.header__back-link {
  font-size: 0.875rem;
  font-weight: 600;
  margin-left: 2rem;
  position: absolute; }
  .footer-main .header__back-link {
    top: 8px;
    z-index: 10; }
    .footer-main .header__back-link:hover {
      color: #41b5ff; }
      .footer-main .header__back-link:hover .icon {
        color: #41b5ff; }
  .header__back-link .icon {
    color: #0071b9;
    font-size: 1.375rem;
    position: relative;
    top: -4px; }
  @media screen and (max-width: 63.9375em) {
    .header__back-link {
      display: none; }
      .is-nav-open .header__back-link {
        display: block;
        margin-left: 12px;
        margin-top: -20px; }
      .footer-main .header__back-link {
        display: block;
        margin-left: 20px;
        top: 60px; } }

.main {
  background-color: #fff;
  padding-top: 10px; }

@media screen and (max-width: 63.9375em) {
  .nav-main {
    background-color: #fefefe;
    border-top: 2px solid #b7b7b7;
    width: 100%; } }

.nav-main.nav--campaign {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(0, 113, 185, 0.8);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 41px;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  width: 100%; }
  @media screen and (max-width: 63.9375em) {
    .nav-main.nav--campaign {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start; } }
  @media screen and (max-width: 63.9375em) {
    .is-nav-open .nav-main.nav--campaign {
      background-color: #0071b9; } }

.nav--campaign-wrap {
  height: 41px;
  width: 100%; }
  .is-stuck .nav--campaign-wrap {
    background-color: #0071b9;
    margin-top: 8px; }
  @media screen and (max-width: 63.9375em) {
    .nav--campaign-wrap {
      background-color: none;
      height: 0;
      margin: 0; } }

.nav-main__links {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-right: 40px; }
  @media screen and (max-width: 63.9375em) {
    .nav-main__links {
      margin-right: 0; } }
  .nav--campaign .nav-main__links {
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-right: 0;
    width: 100%; }
  .nav--microsite .nav-main__links {
    margin-right: 10px; }
    @media screen and (max-width: 63.9375em) {
      .nav--microsite .nav-main__links {
        margin-right: 0; } }
  .nav--careers .nav-main__links {
    margin-right: 10px; }

.nav-main__link {
  color: #2f2e2e;
  font-size: 1rem;
  font-weight: 700;
  margin-right: 12px;
  padding-left: 18px;
  text-transform: uppercase; }
  @media screen and (max-width: 63.9375em) {
    .nav-main__link {
      border-bottom: 1px solid #b7b7b7;
      padding-bottom: 6px;
      padding-top: 6px; } }
  .nav-main__link:hover {
    color: #e36018; }
  .nav-main__link > a {
    color: inherit;
    padding-left: 22px;
    padding-right: 0; }
  .nav-main__link .icon {
    font-size: .8em; }
  .nav--campaign .nav-main__link {
    color: #fefefe;
    font-size: 0.8125rem; }
    @media screen and (max-width: 63.9375em) {
      .nav--campaign .nav-main__link {
        color: #0a0a0a;
        font-size: 1rem; } }
  .nav--microsite .nav-main__link {
    color: #fefefe;
    font-size: 0.875rem;
    margin-right: 4px;
    padding-left: 10px;
    transition: color 0.3s; }
    .is-stuck .nav--microsite .nav-main__link,
    .header-microsite--sub .nav--microsite .nav-main__link {
      color: #2f2e2e; }
    @media screen and (max-width: 63.9375em) {
      .nav--microsite .nav-main__link {
        color: #0f2c52; } }
  .nav--careers .nav-main__link {
    margin-right: 4px;
    padding-left: 10px; }

@media screen and (max-width: 63.9375em) {
  .nav-main {
    background-color: #0f2c52; }
    .is-nav-open .nav-main {
      height: calc(100vh - 72px);
      overflow: auto;
      position: relative; }
  .nav-main__menu > .nav-main__utility {
    margin-top: 34px; }
  .nav-main__menu > .nav-main__utility ~ .nav-main__utility {
    margin-top: 0; }
  .nav-main__menu:last-child {
    padding-bottom: 0; }
  .nav-main__link {
    background-color: #fefefe; }
  .nav-main__utility {
    font-size: 0.9375rem;
    font-weight: 600;
    padding-bottom: 1px;
    padding-top: 1px;
    text-align: center; }
    .nav-main__utility a {
      background-color: #fefefe;
      color: #0564a4;
      height: 50px;
      line-height: 50px;
      margin-left: auto;
      margin-right: auto;
      padding: 0;
      width: 80%; }
  .nav-main__menu-item {
    overflow: hidden; }
    .nav-main__menu-item:first-child {
      border-top: 0;
      margin-top: 34px; } }

.nav-mobile {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: absolute;
  right: 12px;
  top: 20px; }
  .nav-mobile.is-menu-open .search__toggle {
    opacity: 0; }
  @media screen and (max-width: 63.9375em) {
    .nav-mobile {
      top: 16px; }
      .header--campaign .nav-mobile {
        top: 10px; } }

.nav-mobile__button {
  color: #2f2e2e;
  font-size: 1.625rem;
  line-height: 1;
  margin-left: 1rem;
  padding: 0 .25rem; }
  .nav-mobile__button .icon::before {
    display: block;
    font-size: inherit; }
  .nav-mobile__button:first-child {
    margin-left: 0; }
  .nav-mobile__button:last-child {
    padding-right: 0; }

@media screen and (max-width: 39.9375em) {
  .nav-mobile__button {
    font-size: 1.25rem;
    margin-left: 0.5rem;
    padding: 0; } }

.nav__secondary {
  border-bottom-left-radius: 40px;
  box-shadow: 0 0 1.25rem rgba(10, 10, 10, 0.2); }
  @media screen and (min-width: 64em) {
    .nav__secondary {
      max-width: 346px; } }

.nav-secondary__toggle {
  cursor: pointer; }
  .is-expanded .nav-secondary__toggle .icon::before {
    content: 'd'; }

.nav__secondary-level {
  list-style-type: none;
  margin-bottom: 0;
  margin-left: 0; }
  @media screen and (max-width: 63.9375em) {
    .nav__secondary-level.nav__secondary__level1 {
      height: auto;
      opacity: 1;
      padding: 8px 20px; }
      .nav__secondary-level.nav__secondary__level1 li {
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
    .nav__secondary-level.nav__secondary__level2, .nav__secondary-level.nav__secondary__level3, .nav__secondary-level.nav__secondary__level4, .nav__secondary-level.nav__secondary__level5, .nav__secondary-level.nav__secondary__level6 {
      border: 0;
      height: 0;
      opacity: 0;
      padding: 0;
      pointer-events: none; }
      .expanded .nav__secondary-level.nav__secondary__level2, .expanded .nav__secondary-level.nav__secondary__level3, .expanded .nav__secondary-level.nav__secondary__level4, .expanded .nav__secondary-level.nav__secondary__level5, .expanded .nav__secondary-level.nav__secondary__level6 {
        height: auto;
        opacity: 1;
        padding: 8px 20px;
        pointer-events: auto;
        transition: height 0.3s, opacity 0.3s; }
      .expanded .nav__secondary-level.nav__secondary__level2.nav__secondary__level2, .expanded .nav__secondary-level.nav__secondary__level3.nav__secondary__level2, .expanded .nav__secondary-level.nav__secondary__level4.nav__secondary__level2, .expanded .nav__secondary-level.nav__secondary__level5.nav__secondary__level2, .expanded .nav__secondary-level.nav__secondary__level6.nav__secondary__level2 {
        padding: 14px 20px; }
      .nav__secondary-parent .nav__secondary-level.nav__secondary__level2, .nav__secondary-parent .nav__secondary-level.nav__secondary__level3, .nav__secondary-parent .nav__secondary-level.nav__secondary__level4, .nav__secondary-parent .nav__secondary-level.nav__secondary__level5, .nav__secondary-parent .nav__secondary-level.nav__secondary__level6 {
        padding-bottom: 0 !important;
        padding-right: 0 !important; } }
  .nav__secondary-level li a {
    color: inherit;
    display: block;
    width: 100%; }
    .nav__secondary-level li a.is-active {
      color: #e36018; }
  @media screen and (max-width: 63.9375em) {
    .nav__secondary-level li span {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      height: 52px;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-left: auto;
      margin-right: 0;
      right: 0;
      top: 0;
      width: 52px; } }
  .nav__secondary-level li span .icon {
    font-size: 1.25rem;
    margin-right: 0; }

.nav__secondary__level1 {
  background-color: #4dbeb5;
  color: #fefefe;
  font-size: 1.375rem;
  font-weight: 600;
  padding: 14px 20px; }
  @media screen and (max-width: 63.9375em) {
    .nav__secondary__level1 {
      padding: 8px 20px; } }

.nav__secondary__level2 {
  background-color: #edf8f7;
  color: #4ab6ad;
  font-size: 1.125rem;
  font-weight: 600;
  margin-top: 0;
  padding: 14px 20px; }

.nav__secondary__level3 {
  border-top: 1px solid #ccc;
  color: #242424;
  font-size: 0.9375rem;
  font-weight: 600;
  margin-top: 0;
  padding: 0 20px 20px; }
  .nav__secondary__level3 li {
    border-bottom: 1px solid #cccccc;
    padding: 13px 0; }
    .nav__secondary__level3 li:hover {
      color: #e36018; }
    .nav__secondary__level3 li:last-child {
      border-bottom: 0; }

.nav__secondary__level4 {
  background-color: #f5f5f5;
  border-top: 1px solid #ccc;
  color: #505050;
  font-size: 0.875rem;
  font-weight: 600;
  margin-top: 14px;
  padding: 0 0 0 15px; }
  .nav__secondary__level4 li {
    border-bottom: 1px solid #cccccc;
    padding: 13px 0; }
    .nav__secondary__level4 li:last-child {
      border-bottom: 0; }

.nav__secondary__level5 {
  background-color: #ececec;
  border-top: 1px solid #ccc;
  color: #242424;
  font-size: 0.875rem;
  font-weight: 300;
  margin-top: 14px;
  padding: 0 0 0 15px; }
  .nav__secondary__level5 li {
    border-bottom: 1px solid #ccc;
    padding: 13px 0; }
    .nav__secondary__level5 li:last-child {
      border-bottom: 0; }

.nav__secondary__level6 {
  background-color: #e2e2e2;
  border-top: 1px solid #ccc;
  color: #242424;
  font-size: 0.875rem;
  font-weight: 300;
  margin-top: 14px;
  padding: 0 0 0 15px; }
  .nav__secondary__level6 li {
    border-bottom: 1px solid #ccc;
    padding: 13px 0; }
    .nav__secondary__level6 li:last-child {
      border-bottom: 0; }

.nav__secondary-parent {
  padding-bottom: 0 !important; }

.nav-utility {
  background-color: #0f2c52;
  font-weight: 600;
  height: 38px;
  position: relative;
  transition: height 0.3s; }
  .is-stuck .nav-utility {
    height: 12px; }
    .is-expanded .is-stuck .nav-utility {
      height: 38px; }

.nav-utility__inner {
  position: relative; }

.nav-utility__links {
  color: #fff;
  font-size: 0.75rem;
  padding-right: 267px; }
  .nav-utility__links .nav-utility__link {
    color: inherit; }
    .nav-utility__links .nav-utility__link:hover {
      color: #aaebe6; }
    @media screen and (min-width: 64em) {
      .nav-utility__links .nav-utility__link {
        height: 38px;
        line-height: 38px;
        padding: 0 .75rem; }
        .is-stuck .nav-utility__links .nav-utility__link {
          pointer-events: none; } }

.nav-utility__expand-tab {
  background-color: #0f2c52;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  display: none;
  font-size: 0.8125rem;
  height: 0;
  left: calc(50% - 30px);
  position: absolute;
  top: 10px;
  transition: height 0.3s;
  width: 60px; }
  .is-stuck .nav-utility__expand-tab {
    display: block;
    height: 18px; }
    .is-expanded .is-stuck .nav-utility__expand-tab {
      display: none; }
  .nav-utility__expand-tab .icon {
    color: #fefefe;
    left: calc(50% - 6px);
    position: absolute;
    top: -2px; }

/* YAPL
name: Accordion
partial: accordion
context: accordion.article
selector: .accordion
*/
.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }
  .accordion.accordion--microsite {
    box-shadow: 0 0 0.625rem rgba(10, 10, 10, 0.25); }

.accordion-item {
  border-left: 0.625rem solid #0071b9;
  box-shadow: 0 0 0.625rem rgba(10, 10, 10, 0.25);
  margin-top: .5rem;
  transition: border-left-color .25s; }
  .accordion-item:hover, .accordion-item:focus {
    border-left-color: #115b8c; }
    @media screen and (max-width: 63.9375em) {
      .accordion-item:hover, .accordion-item:focus {
        border-left-color: #0f2c52; } }
    .accordion--microsite .accordion-item:hover, .accordion--microsite .accordion-item:focus {
      border-bottom: 1px solid #e36018; }
      .accordion--microsite .accordion-item:hover.is-active, .accordion--microsite .accordion-item:focus.is-active {
        border-bottom: 1px solid #cecece; }
  .accordion-item.is-active {
    border-left-color: #0f2c52; }
  .accordion--microsite .accordion-item {
    border-bottom: 1px solid #cecece;
    border-left: 0;
    box-shadow: 0 0 0 0;
    margin-top: 0; }
    .accordion--microsite .accordion-item.is-active {
      border-top: 10px solid #e36018; }

.accordion-title {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  font-size: 1rem;
  font-weight: 700;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 1.3;
  padding: 1.75rem 1rem;
  position: relative;
  transition: background-color 0.3s, color 0.3s; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #0071b9;
    color: #fefefe; }
    .accordion-title:hover .accordion-title__link, .accordion-title:focus .accordion-title__link {
      color: #115b8c; }
    .accordion--microsite .accordion-title:hover, .accordion--microsite .accordion-title:focus {
      background-color: #e36018;
      color: #fefefe !important; }
      .accordion--microsite .accordion-title:hover:hover::before, .accordion--microsite .accordion-title:focus:hover::before {
        color: #fefefe; }
  .accordion-title::before {
    font-size: 1.5rem;
    right: 24px;
    top: 37%; }
    .accordion--microsite .accordion-title::before {
      color: #e36018; }
  .is-active .accordion-title::before {
    font-size: 1.5rem;
    top: 34%; }
  .accordion--microsite .is-active .accordion-title {
    color: #e36018; }
  .accordion--microsite .accordion-title {
    color: #242424;
    font-size: 1.125rem; }

.accordion-title__text {
  -webkit-flex: 1 1 0%;
      -ms-flex: 1 1 0%;
          flex: 1 1 0%;
  padding-right: 38px; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e1e1e1;
  border-bottom: 0;
  background-color: #fefefe;
  color: #2d2c2c;
  padding-bottom: 2rem;
  padding-top: 2rem; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e1e1e1; }
  .accordion-content::before, .accordion-content::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .accordion-content::after {
    clear: both; }
  .accordion--microsite .accordion-content {
    border-top: 0;
    padding-top: 0; }

@media screen and (max-width: 53.1875em) {
  .accordion-title,
  .accordion-content {
    padding: 0.5rem; }
  .accordion-title {
    font-size: 1rem;
    font-weight: 600;
    padding-bottom: 1.5rem;
    padding-top: 1.5rem; } }

.align-vertical {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

/* YAPL
name: Alphabet List
partial: alphabet-list
selector: .alphabet-list
*/
/* YAPL
name: Alphabet List Wide
partial: alphabet-list
context: alphabetList.wide
selector: alphabet-list.alphabet-list--wide
*/
/* YAPL
name: Alphabet List Mid
partial: alphabet-list
context: alphabetList.mid
selector: alphabet-list.alphabet-list--mid
*/
.alphabet-list {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fefefe;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  margin-left: 0;
  padding: 20px 14px 2px; }
  .alphabet-list::before, .alphabet-list::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .alphabet-list::after {
    clear: both; }
  .alphabet-list li {
    background-color: #0071b9;
    border: 2px solid #0071b9;
    border-radius: 18px;
    color: #fefefe;
    float: left;
    height: 36px;
    list-style: none;
    margin-bottom: 8px;
    margin-right: 7px;
    text-align: center;
    width: 36px; }
    .alphabet-list li.is-active {
      background-color: #e36018;
      border: 2px solid #e36018; }
      .alphabet-list li.is-active:hover {
        background-color: #e36018;
        border: 2px solid #e36018;
        color: #fefefe; }
    .alphabet-list li a {
      color: inherit;
      display: block;
      line-height: 32px; }
    .alphabet-list li:hover {
      background: transparent;
      color: #0071b9; }
    .alphabet-list li:last-child {
      font-size: 13px; }
  .alphabet-list.alphabet-list--wide li {
    border-radius: 50%;
    height: 48px;
    margin-bottom: 18px;
    margin-right: 18px;
    width: 48px; }
    .alphabet-list.alphabet-list--wide li a {
      line-height: 44px; }
    @media screen and (max-width: 53.1875em) {
      .alphabet-list.alphabet-list--wide li {
        border-radius: 18px;
        height: 36px;
        margin-bottom: 8px;
        margin-right: 8px;
        width: 36px; }
        .alphabet-list.alphabet-list--wide li a {
          line-height: 32px; } }
  .alphabet-list.alphabet-list--mid li {
    border-radius: 50%;
    height: 44px;
    margin-bottom: 18px;
    margin-right: 14px;
    width: 44px; }
    .alphabet-list.alphabet-list--mid li a {
      line-height: 40px; }
    @media screen and (max-width: 53.1875em) {
      .alphabet-list.alphabet-list--mid li {
        border-radius: 18px;
        height: 36px;
        margin-bottom: 8px;
        margin-right: 8px;
        width: 36px; }
        .alphabet-list.alphabet-list--mid li a {
          line-height: 32px; } }

.article__subheader {
  color: #c6a16d;
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: -1rem; }

.background--blue {
  background-color: #0071b9; }

.background--dark-blue {
  background-color: #0f2c52; }

.background--offwhite {
  background-color: #f5f5f5; }

.background--white {
  background-color: #fefefe; }

.background--light-gray {
  background-color: #f2f0ef; }

.background--gray {
  background-color: #ece9e8; }

.background--green-blue {
  background-color: #4dbeb5; }

.background--orange {
  background-color: #e36018; }

.background-padding {
  padding-bottom: 10px;
  padding-top: 10px; }
  @media screen and (max-width: 53.1875em) {
    .background-padding {
      padding-bottom: 30px;
      padding-left: 1rem;
      padding-right: 1rem;
      padding-top: 30px; } }

.back-to-top {
  color: #242424;
  display: block;
  font-weight: 600;
  text-align: right; }
  .back-to-top .icon {
    color: #0071b9; }
  .back-to-top:hover .icon {
    color: #e36018; }

.border--green {
  border-top: 8px solid #4dbeb5; }

.border-brown-bottom {
  border-bottom: 8px solid #c6a16d;
  padding-bottom: 1rem; }
  .border-brown-bottom.border-no-padding {
    padding-bottom: 0; }

.border-green-bottom {
  border-bottom: 8px solid #4dbeb5;
  padding-bottom: 1rem; }

.border-top {
  border-top: 1px solid #ccc;
  padding-top: 1.5rem; }

.border-bottom {
  border-bottom: 1px solid #ccc;
  padding-bottom: 1.5rem; }

.box {
  box-shadow: 0 0 1.25rem rgba(10, 10, 10, 0.2); }
  .box.box--padding {
    padding: 2rem; }
    @media screen and (max-width: 53.1875em) {
      .box.box--padding {
        padding: 1rem; } }
  .box.box--no-shadow {
    box-shadow: 0 0 0 0; }
  .box.box--small {
    max-width: 336px; }
  .box.box--margin-left {
    margin-left: 1rem; }
    @media screen and (max-width: 53.1875em) {
      .box.box--margin-left {
        margin-left: 0; } }
  .box.box--padding-bottom {
    padding-bottom: 2rem; }
  .box.box--center-small {
    margin-left: auto;
    margin-right: auto;
    max-width: 400px; }

.box--small-text p {
  font-size: 0.9375rem;
  line-height: 1.9; }

.box--border-top {
  border-top: 8px solid #c6a16d; }

@media screen and (max-width: 53.1875em) {
  .box--hidden-small {
    box-shadow: 0 0 0 0 !important;
    border-radius: 0 !important; } }

/* YAPL
name: Button
partial: sg-button
selector: .button
*/
/* YAPL
name: Button Hollow
notes: This has a white border and text so should be used on a color background
partial: sg-button-hollow
selector: .button.button--hollow
*/
/* YAPL
name: Button Hollow Light Brown
partial: sg-button-hollow--light-brown
selector: .button.button--hollow--light-brown
*/
/* YAPL
name: Button Hollow Blue
partial: sg-button-hollow--blue
selector: .button.button--hollow--blue.white
*/
/* YAPL
name: Button Microsite
partial: sg-button-microsite
selector: .button.button--microsite
*/
/* YAPL
name: Button Rounded
partial: sg-button-rounded
selector: .button.button--rounded
*/
/* YAPL
name: Button Icon
partial: sg-button-icon
selector: .button.button--icon
*/
.button {
  border: 2px solid #0071b9;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 1em 1.5em;
  text-transform: uppercase;
  transition: background-color 0.3s, color 0.3s; }
  .button .icon {
    font-size: .75em; }
  .button:hover {
    background-color: transparent;
    border: 2px solid #0071b9;
    color: #0071b9; }
  .button.button--hollow {
    background-color: transparent;
    border: 2px solid #fefefe;
    color: #fefefe;
    display: inline-block;
    position: relative;
    z-index: 1; }
    .button.button--hollow:hover {
      background-color: #fefefe;
      color: #e36018; }
  .button.button--hollow--light-brown {
    background-color: transparent;
    border-color: #c69f6d;
    color: #aa8a5d; }
    .button.button--hollow--light-brown:hover {
      background-color: #c6a16d;
      color: #fefefe; }
  .button.button--hollow--blue {
    border-color: #0071b9;
    color: #0071b9; }
    .button.button--hollow--blue:hover {
      background-color: #0071b9;
      color: #fefefe; }
  .button.button--icon {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    max-width: 240px;
    padding: .75rem;
    text-align: left;
    text-transform: none; }
    .button.button--icon .icon {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      font-size: 1em;
      margin-left: 0;
      margin-right: .5rem; }
    .button.button--icon:hover .icon {
      color: #fefefe; }
    @media screen and (max-width: 39.9375em) {
      .button.button--icon {
        padding: .5rem; }
        .button.button--icon .icon {
          margin-right: .25rem; } }
  .button.button--rounded {
    border-radius: 27px; }
  .button.button--microsite {
    background-color: transparent;
    border-radius: 24px;
    color: #0071b9; }
    .button.button--microsite:hover {
      background-color: #0071b9;
      color: #fefefe; }
  .button.button--no-margin {
    margin: 0; }

.button__container {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem; }
  .button__container a,
  .button__container button {
    margin-right: 1rem; }
  @media screen and (max-width: 53.1875em) {
    .button__container {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }

.careers-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2rem; }
  @media screen and (max-width: 53.1875em) {
    .careers-info {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }

.careers-results {
  border-bottom: 1px solid #c6a16d; }
  .careers-results table {
    margin-top: 1rem;
    min-width: 600px; }
    .careers-results table thead {
      background-color: transparent;
      border-bottom: 1px solid #c6a16d;
      border-top: 1px solid #c6a16d;
      color: #976f3f; }
    .careers-results table tbody tr {
      background-color: transparent !important;
      border-bottom: 1px solid #b7b7b7 !important; }
    .careers-results table tbody td {
      padding-bottom: .9rem;
      padding-top: .9rem; }
    .careers-results table tbody h6 {
      margin-bottom: 0; }
    .careers-results table tbody p {
      line-height: 1.2;
      margin: 0; }

.chat {
  bottom: 20px;
  position: fixed;
  right: 20px;
  z-index: 10; }
  @media screen and (max-width: 63.9375em) {
    .chat {
      display: none; } }

.dark-blue {
  color: #0f2c52 !important; }

.medium-blue {
  color: #0071b9 !important; }

.green-blue {
  color: #4dbeb5 !important; }

.light-brown {
  color: #c6a16d !important; }

.medium-light-gray {
  color: #b0b0b0 !important; }

.dark-gray {
  color: #242424 !important; }

.white {
  color: #fefefe !important; }

.contact {
  background-color: #0071b9;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  color: #4dbeb5!important;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  height: 51px;
  line-height: 50px;
  position: absolute;
  right: 0;
  top: 0;
  transition: height 0.3s;
  width: 239px; }
  .contact:hover {
    color: #fefefe; }
  @media screen and (min-width: 64em) {
    .contact {
      pointer-events: none; } }
  @media screen and (max-width: 53.1875em) {
    .footer-main .contact {
      left: calc(50% - 120px);
      right: auto; } }
  .is-stuck .contact {
    height: 0; }
    .is-expanded .is-stuck .contact {
      height: 51px; }
  .nav-main .contact {
    background-color: #0071b9;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    color: #fefefe;
    height: 51px;
    line-height: 51px;
    margin-bottom: 0;
    margin-top: 30px;
    padding: 0 !important;
    position: relative;
    width: 239px; }
    .nav-main .contact .icon {
      display: inline; }
  .sublocation .contact {
    background-color: #4dbeb5; }

@media screen and (min-width: 53.25em) {
  .css-columns-2 {
    -webkit-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-column-width: 50%;
            column-width: 50%; } }

/* YAPL
name: CTA Primary
partial: sg-cta
selector: .cta.cta--primary
*/
/* YAPL
name: CTA Secondary
partial: sg-cta-secondary
selector: .cta.cta--secondary
*/
/* YAPL
name: CTA Primary Microsite
partial: sg-cta-microsite
selector: .cta.cta--primary.cta--microsite
*/
/* YAPL
name: CTA Secondary Microsite
partial: sg-cta-secondary-microsite
selector: .cta.cta--secondary.cta--microsite
*/
.cta {
  border-bottom-left-radius: 30px;
  border-top-right-radius: 30px;
  box-shadow: 0 0 1.25rem rgba(10, 10, 10, 0.2);
  display: block;
  padding: 26px 44px; }
  .cta .cta__title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 0; }
    @media screen and (max-width: 53.1875em) {
      .cta .cta__title {
        font-size: 1.375rem; } }
  .cta .cta__rtf {
    font-size: 0.9375rem; }
  .cta .cta__link {
    color: #fefefe;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase; }
    .cta .cta__link .icon {
      border-radius: 12px;
      font-size: 10px;
      height: 24px;
      margin-right: 8px;
      position: relative;
      width: 24px; }
      .cta .cta__link .icon::before {
        left: 8px;
        position: absolute;
        top: 7px; }
  .cta.cta--microsite {
    border-radius: 30px; }

.cta--primary {
  background-color: #4dbeb5;
  transition: background-color 0.3s; }
  .cta--primary .cta__title {
    color: #fefefe; }
  .cta--primary .cta__rtf {
    color: #fefefe; }
  .cta--primary .icon {
    background-color: #0071b9;
    color: #fefefe;
    transition: background-color 0.3s, color 0.3s; }
  .cta--primary:hover {
    background-color: #0071b9; }
    .cta--primary:hover .icon {
      background-color: #fefefe;
      color: #0071b9; }

.cta--secondary {
  background-color: #fefefe; }
  .cta--secondary .cta__title {
    color: #e36018; }
  .cta--secondary .cta__rtf {
    color: #2d2c2c; }
  .cta--secondary .cta__link {
    color: #2d2c2c; }
  .cta--secondary .icon {
    background-color: #e36018;
    color: #fefefe; }
  .cta--secondary:hover .cta__link {
    color: #e36018; }

.cta-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .cta-grid > .cta {
    width: calc(50% - 1rem);
    margin-right: 0.5rem;
    margin-left: 0.5rem; }

.cta-grid > .cta-grid-item {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  width: calc(50% - 3rem); }
  @media screen and (max-width: 53.1875em) {
    .cta-grid > .cta-grid-item {
      margin: 2rem 0 0;
      width: 100%; }
      .cta-grid > .cta-grid-item:first-child {
        margin-top: 0.5rem; } }

<!-- Do not display this at the moment

.diagonals {
  background-image: url("../img/diagonals.png");
  background-repeat: repeat;
  height: 100%;
  left: 0;
  position: absolute;
  transition: opacity 0.3s;
  width: 100%;
  z-index: 1; }
  .diagonals.is-active {
    opacity: .5; }
  .diagonals.diagonals--blue {
    background-color: rgba(15, 44, 82, 0.75); }
  .diagonals.diagonals--transparent {
    opacity: .5;
    transition: opacity 0.3s; }
    .hero .diagonals.diagonals--transparent {
      opacity: 0; }
      .hero .diagonals.diagonals--transparent.is-animating {
        opacity: .5; }
  .diagonals.diagonals--very-transparent {
    opacity: .2; }
  .hero .diagonals {
    z-index: -1; } 


.diagonals--darken {
  background-color: #0a0a0a;
  background-repeat: repeat;
  height: 100%;
  left: 0;
  opacity: .35;
  position: absolute;
  transition: opacity 0.3s;
  width: 100%;
  z-index: 1; }
  .hero .diagonals--darken {
    z-index: -1; }

--> 


.divider {
  background-color: #ccc;
  height: 100%;
  left: 50%;
  position: relative;
  text-align: center;
  width: 1px; }
  .divider span {
    display: block;
    height: 50px;
    left: 100%;
    line-height: 50px;
    position: absolute;
    top: calc(50% - 25px);
    -webkit-transform: translateX(-50px);
        -ms-transform: translateX(-50px);
            transform: translateX(-50px);
    width: 100px; }
  @media screen and (max-width: 53.1875em) {
    .divider {
      height: 1px;
      left: 0;
      margin-bottom: 1rem;
      margin-top: 1rem;
      width: 100%; }
      .divider span {
        left: 50%;
        top: -25px;
        -webkit-transform: translateX(-25px);
            -ms-transform: translateX(-25px);
                transform: translateX(-25px);
        width: 50px; } }
  .divider.divider--horizontal {
    height: 1px;
    left: 0;
    margin-bottom: 3rem;
    margin-top: 3rem;
    width: 100%; }
    @media screen and (max-width: 53.1875em) {
      .divider.divider--horizontal {
        margin-bottom: 1rem;
        margin-top: 1rem; } }
  .divider.divider--small-margin {
    margin-bottom: 1.5rem;
    margin-top: 1.5rem; }

/* YAPL
name: Doc Profile
partial: sg-doc-profile
selector: .doc-profile
*/
/* YAPL
name: Doc Profile Result
partial: sg-doc-profile-result
selector: .doc-profile.doc-profile-result
*/
/* YAPL
name: Doc Profile Small
partial: sg-doc-profile-small
selector: .doc__item
*/
/* YAPL
name: Doc Profile Small - 3 across
partial: sg-doc-profile-small-3
selector: .doc__item
wrapper: .doc__row.doc__row-3
*/
.doc-profile::before, .doc-profile::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.doc-profile::after {
  clear: both; }

@media screen and (max-width: 63.9375em) {
  .doc-profile {
    padding-bottom: .5rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: .5rem !important; }
    .doc-profile.background--gray {
      padding: 1rem !important; } }

.doc-profile__image {
  float: left;
  margin-bottom: 1rem;
  margin-right: 24px;
  max-width: 150px; }

.doc-profile__image-link:hover {
  color: #e36018; }

.doc-profile__body {
  float: left;
  width: calc(100% - 174px); }
  @media screen and (max-width: 39.9375em) {
    .doc-profile__body {
      float: none;
      width: 100%; } }

.doc-profile__col {
  float: left;
  margin-right: 1%;
  width: 49%; }
  @media screen and (max-width: 53.1875em) {
    .doc-profile__col {
      float: none;
      width: 100%; } }
  .doc-profile__col.doc-profile__col--small {
    margin-right: 1%;
    width: 30%; }
    @media screen and (max-width: 63.9375em) {
      .doc-profile__col.doc-profile__col--small {
        width: 49%; } }
    @media screen and (max-width: 39.9375em) {
      .doc-profile__col.doc-profile__col--small {
        margin-right: 0;
        width: 100%; } }
  .doc-profile__col.doc-profile__col--badges {
    width: 37%; }
    @media screen and (max-width: 63.9375em) {
      .doc-profile__col.doc-profile__col--badges {
        margin-top: 1rem;
        width: 100%; } }

.doc-profile__badge {
  float: left;
  margin-bottom: 0.5rem;
  margin-right: 0.5rem; }

.doc-profile__toggle {
  display: block;
  position: relative; }
  @media screen and (min-width: 64em) {
    .doc-profile__toggle {
      pointer-events: none; }
      .doc-profile__toggle .icon {
        display: none; } }
  .doc-profile__toggle .icon {
    font-size: 0.875rem;
    position: absolute;
    right: 0;
    top: 2px; }
    .expanded .doc-profile__toggle .icon::before {
      content: 'd' !important; }

@media screen and (min-width: 53.25em) {
  .doc-profile-result {
    padding: 2rem 2rem 1rem !important; } }

@media screen and (max-width: 63.9375em) {
  .doc-profile__filter-inner {
    display: none; }
    .expanded .doc-profile__filter-inner {
      display: block; } }

.doc-profile__refine-col {
  background-color: #f5f5f5;
  height: 100%; }

.doc__item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  float: left;
  margin-right: 1rem;
  width: calc(50% - 1rem); }
  .doc__item .doc-profile__image {
    margin-right: 12px; }
  @media screen and (max-width: 63.9375em) {
    .doc__item {
      float: none;
      width: 100%; } }
  .doc__row-3 .doc__item {
    margin-bottom: 2rem;
    width: calc(33% - 1rem); }
    .doc__row-3 .doc__item:nth-child(3n + 1) {
      clear: both; }
    @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
      .doc__row-3 .doc__item {
        float: left;
        width: calc(50% - 1rem); }
        .doc__row-3 .doc__item:nth-child(3n + 1) {
          clear: none; }
        .doc__row-3 .doc__item:nth-child(2n + 1) {
          clear: both; } }
    @media screen and (max-width: 53.1875em) {
      .doc__row-3 .doc__item {
        float: none;
        width: 100%; } }

.embed-container {
  height: 0;
  max-width: 100%;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative; }

.embed-container iframe,
.embed-container object,
.embed-container embed {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

/* YAPL
name: Featured Stories
partial: hp-featured-stories
selector: .featured-stories
*/
.featured-stories {
  height: 100%; }

.featured-stories__body {
  padding: 1rem 2rem; }
  @media screen and (max-width: 53.1875em) {
    .featured-stories__body {
      padding: 1rem 1.5rem; } }

.featured-stories__main {
  background-color: #f5f5f5;
  border-bottom-left-radius: 60px;
  margin-top: 2rem; }
  .featured-stories__main img {
    width: 100%; }
  .featured-stories__main h5 {
    font-size: 1.25rem;
    font-weight: 700; }
    .featured-stories__main h5 a:hover {
      color: #e36018; }
  @media screen and (max-width: 53.1875em) {
    .featured-stories__main {
      margin-top: 1rem; } }

.featured-stories__side {
  margin-top: 2rem; }
  @media screen and (max-width: 53.1875em) {
    .featured-stories__side {
      padding-left: 2rem;
      padding-right: 2rem; } }

.featured-stories__item {
  border-top: 8px solid #c6a16d;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 2.5rem;
  padding-top: 1rem; }
  @media screen and (max-width: 53.1875em) {
    .featured-stories__item {
      font-size: 1rem;
      margin-bottom: 2rem; } }
  .featured-stories__item a:hover {
    color: #e36018; }

.featured-stories__title {
  font-size: 36px;
  font-weight: 600;
  text-transform: uppercase; }
  @media screen and (max-width: 53.1875em) {
    .featured-stories__title {
      font-size: 1.5625rem; } }

/* YAPL
name: Figure
notes: This can be floated either way with the addition or removal of .float-right and .float-left
partial: sg-figure
selector: .figure
*/
/* YAPL
name: Figure with Video
partial: sg-figure-video
selector: .figure.figure__video
*/
/* YAPL
name: Figure with Diagonals
notes: The diagonals div can be removed if needed. If so you can remove .image--overflow-hidden and .image--max-diagonals from the containing div
partial: sg-figure-small
selector: .figure.image--overflow-hidden.image--max-diagonals
*/
/* YAPL
name: Figure Right with Border
notes: Add .figure--no-border if you do not want the border
partial: sg-figure-right-border
selector: .figure.float-right.figure__image
*/
/* YAPL
name: Figure Max Width
notes: Max width is set in this file; this can be floated left or right with .float-left or .float-right on the containing div
partial: sg-figure-max-width
selector: .figure.figure--max-width
*/
.figure {
  margin-left: auto;
  margin-right: auto; }
  .figure.float-left {
    float: left;
    margin-bottom: 2rem;
    margin-left: 0;
    margin-right: 2rem;
    max-width: 100%;
    width: 45rem; }
  .figure.float-right {
    float: right;
    margin-bottom: 2rem;
    margin-left: 2rem;
    margin-right: 0;
    max-width: 100%;
    width: 45rem; }
  @media screen and (max-width: 74.9375em) {
    .medium-8 .figure.float-left {
      margin-left: 0; } }
  @media screen and (max-width: 63.9375em) {
    .figure.float-left {
      float: none;
      margin-left: auto;
      margin-right: auto;
      width: 100%; }
    .figure.float-right {
      float: none;
      margin-left: auto;
      margin-right: auto;
      width: 100%; } }

.figure__video {
  position: relative; }
  .figure__video img {
    border-bottom: 0; }
  .figure__video::before {
    background-color: #e36018;
    border-radius: 30px;
    content: '';
    height: 60px;
    left: calc(50% - 30px);
    pointer-events: none;
    position: absolute;
    top: calc(50% - 30px);
    transition: opacity 0.3s;
    width: 60px; }
  @media screen and (max-width: 63.9375em) {
    .figure__video.float-left, .figure__video.float-right {
      float: none;
      margin-left: auto !important;
      margin-right: auto !important; } }
  .figure__video .icon--play {
    font-size: 1.25rem;
    padding-left: 6px;
    padding-top: 7px;
    pointer-events: none; }
  @media screen and (min-width: 64em) {
    .figure__video.figure__video--max-width {
      max-width: 66%; } }

.figure__image {
  display: block;
  width: 100%; }
  .figure__image img {
    border-bottom: 8px solid #c6a16d; }
  .figure__image.figure--max-width {
    max-width: 348px; }
  .figure__image.figure--no-border {
    border: 0; }
  .figure__image.figure--flexible {
    width: auto; }

.figure__caption {
  background: #f2f0ef;
  border-bottom-left-radius: 30px;
  color: #242424;
  font-size: 0.875rem;
  padding: 22px 1rem; }
  .figure__caption p {
    margin-bottom: 0; }
  .figure__caption.figure__caption--white {
    background-color: #fefefe; }

.filter {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #ccc;
  margin-bottom: 1rem;
  padding: 1rem; }
  .filter p {
    margin-bottom: 0; }

/* YAPL
name: Follow
partial: sg-follow
selector: .follow__icons
*/
/* YAPL
name: Follow - Footer
notes: .footer__social wrapping class makes icon background color blue
partial: sg-follow-footer
selector: .follow__icons
*/
/* YAPL
name: Follow - Share
notes: Share functionality javascript is in src/assets/js/share.js
partial: sg-follow-share
selector: .follow__icons
*/
.follow {
  padding: 0 2rem 1rem; }

.follow__title {
  background-color: #0f2c52;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  color: #fefefe;
  font-size: 1.1875rem;
  font-weight: 700;
  padding: 1rem;
  text-align: center; }

.follow__icons {
  margin: 1rem 0; }
  .follow__icons .icon {
    color: #fefefe;
    left: 8px;
    margin-right: 0;
    position: absolute;
    top: 2px; }

.follow__icon {
  background-color: #4dbeb5;
  border-radius: 18px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.2em;
  height: 36px;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 36px;
  margin: 0 6px 1rem;
  position: relative;
  transition: background-color 0.3s;
  width: 36px; }
  .footer__social .follow__icon {
    background-color: #0071b9; }

.follow__icon--facebook {
  background-color: #47639c; }
  .follow__icon--facebook:hover {
    background-color: #2b59b8; }

.follow__icon--twitter {
  background-color: #2aa3ef; }
  .follow__icon--twitter:hover {
    background-color: #1aa7ff; }

.follow__icon--instagram {
  background-color: #d2327e; }
  .follow__icon--instagram:hover {
    background-color: #f1137c; }

.follow__icon--youtube {
  background-color: #dc301c; }
  .follow__icon--youtube:hover {
    background-color: #f81a00; }

.follow__icon--linkedin {
  background-color: #1178b3; }
  .follow__icon--linkedin:hover {
    background-color: #007dc4; }

.follow__facebook {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.fb-page,
.fb-page span,
.fb-page span iframe[style] {
  width: 100% !important; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.78846rem;
  margin: 0 0 1rem;
  padding: 0.76923rem;
  border: 1px solid #b7b7b7;
  border-radius: 6px;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -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 #b7b7b7;
    background-color: #fefefe;
    box-shadow: 0 0 5px #b7b7b7;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #454545; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #454545; }

input::placeholder,
textarea::placeholder {
  color: #454545; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e1e1e1;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 1.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  color: #242424; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 6px 0 0 6px; }
  .input-group > :last-child > * {
    border-radius: 0 6px 6px 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 #2d2c2c;
  background: #e1e1e1;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -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-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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 {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
            align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.875rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #b7b7b7; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.78846rem;
  margin: 0 0 1rem;
  padding: 0.76923rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #b7b7b7;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 0.875rem;
  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%2847, 46, 46%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #b7b7b7;
    background-color: #fefefe;
    box-shadow: 0 0 5px #b7b7b7;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e1e1e1;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

select,
input,
textarea {
  margin: .25rem 0; }

label.full-width,
legend.full-width {
  width: 100%; }

label.required,
legend.required {
  position: relative; }
  label.required .label-text::before,
  legend.required .label-text::before {
    color: #f42020;
    content: '*';
    display: inline-block;
    font-weight: 700;
    margin-right: .25rem; }

legend {
  font-weight: 600;
  line-height: 1.8; }

fieldset.radio-input label {
  font-weight: 400; }

.select-wrap {
  background: linear-gradient(#fffeff, #e4e4e4);
  border: 1px solid #b7b7b7;
  border-radius: 6px;
  height: 44px;
  margin-bottom: 16px;
  position: relative; }
  .select-wrap select {
    background: transparent;
    border: 0;
    box-shadow: 0 0 0 0;
    margin: 0; }
  .select-wrap .icon {
    background-color: #0071b9;
    border-radius: 4px;
    color: #fefefe;
    font-size: 1rem;
    height: 32px;
    pointer-events: none;
    position: absolute;
    right: 1px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 32px; }
    .select-wrap .icon::before {
      left: 8px;
      position: relative;
      top: 3px; }

.checkbox-wrap {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 22px;
  margin-bottom: 12px;
  min-height: 30px;
  padding-left: 35px;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .checkbox-wrap input:checked ~ .checkbox .checkbox__check {
    display: block; }
  label .checkbox-wrap {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    font-weight: 400; }

input[type="checkbox"] {
  cursor: pointer;
  /*opacity: 0;*/ /*JL 11-5-2018*/
  position: absolute; }

input[type="radio"] {
  height: 1.25rem;
  margin: 0;
  width: 1.25rem; }

.checkbox {
  background: linear-gradient(#fffeff, #e4e4e4);
  border: 1px solid #b7b7b7;
  border-radius: 4px;
  height: 24px;
  left: 0;
  position: absolute;
  margin-top: -12px;
  top: 50%;
  width: 24px; }
  .checkbox .checkbox__check {
    color: #0071b9;
    display: none;
    font-size: 18px;
    left: 3px;
    position: absolute;
    top: -2px; }

.form__required {
  bottom: -21px;
  color: #f42020;
  font-size: 0.8125rem;
  position: absolute; }

.future {
  position: relative; }

.future__header {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0 1rem;
  overflow: hidden;
  padding: 0 100px;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 53.25em) {
    .future__header {
      height: 300px; } }
@media screen and (min-width: 53.25em) {
    .future__header_sh {
      height: 200px;padding-left: 20px;padding-top: 25px; } }
  @media screen and (max-width: 53.1875em) {
    .future__header {
      background-position: 100% 0;
      padding: 2rem 1rem; } }

.future__header-text {
  position: relative;
  z-index: 2; }
  .future__header-text h2 {
    color: #fefefe;
    font-size: 2.625rem;
    font-weight: 700; }
  .future__header-text p {
    font-size: 1.1875rem; }
  @media screen and (max-width: 53.1875em) {
    .future__header-text h2 {
      font-size: 2rem; }
    .future__header-text p {
      font-size: 0.875rem; } }

.future__item {
  margin-bottom: 1rem;
  opacity: 0;
  position: relative;
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: 50% 50% 0;
      -ms-transform-origin: 50% 50% 0;
          transform-origin: 50% 50% 0;
  transition: opacity .5s, -webkit-transform .5s;
  transition: transform .5s, opacity .5s;
  transition: transform .5s, opacity .5s, -webkit-transform .5s; }
  .is-animating .future__item {
    opacity: 1;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); }
  @media screen and (max-width: 53.1875em) {
    .future__item {
      margin-left: auto;
      margin-right: auto;
      max-width: 300px;
      opacity: 1;
      text-align: center;
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1); } }
  .future__item.future__item--video {
    cursor: pointer; }
    .future__item.future__item--video::before {
      background-color: #e36018;
      border-radius: 25px;
      content: '';
      height: 50px;
      left: calc(50% - 25px);
      position: absolute;
      top: calc(50% - 25px);
      transition: opacity 0.3s;
      width: 50px; }
      @media screen and (max-width: 53.1875em) {
        .future__item.future__item--video::before {
          display: none; } }
    .future__item.future__item--video:hover::before {
      opacity: 0; }
    .future__item.future__item--video:hover .icon {
      opacity: 0; }
    .future__item.future__item--video .icon {
      color: #fefefe;
      left: calc(50% - 7px);
      position: absolute;
      top: calc(50% - 10px);
      transition: opacity 0.3s;
      z-index: 4; }
      @media screen and (max-width: 53.1875em) {
        .future__item.future__item--video .icon {
          display: none; } }
  .future__item.future__item--story {
    cursor: pointer;
    overflow: hidden; }
    .future__item.future__item--story img {
      transition: -webkit-transform 0.3s;
      transition: transform 0.3s;
      transition: transform 0.3s, -webkit-transform 0.3s; }
    .future__item.future__item--story .icon--future-story {
      background-image: url("../img/icons/icon-patient_story.svg");
      background-repeat: no-repeat;
      height: 48px;
      margin-bottom: 1rem;
      width: 56px; }
    .future__item.future__item--story .icon--arrow-right {
      position: relative; }
      @media screen and (min-width: 64em) {
        .future__item.future__item--story .icon--arrow-right {
          top: 80px;
          transition: 0.3s; } }
    .future__item.future__item--story .icon--news,
    .future__item.future__item--story .icon--patient-story {
    /* removing background icons on homepage*/
	background-image: none !important; 
	border-radius: 28px;
      height: 56px;
      margin-bottom: 1rem;
      position: relative;
      width: 56px; }
      .future__item.future__item--story .icon--news::before,
      .future__item.future__item--story .icon--patient-story::before {
       /* removing background icons on homepage*/
	background-image: none !important; 
		  left: 15px;
        position: absolute;
        top: 15px; }
    .future__item.future__item--story .icon--patient-story::before {
    /* removing background icons on homepage*/
	background-image: none !important; 
		left: 17px; }
    @media screen and (min-width: 64em) {
      .future__item.future__item--story:hover img {
        -webkit-transform: scale(1.2);
            -ms-transform: scale(1.2);
                transform: scale(1.2); }
      .future__item.future__item--story:hover .icon--arrow-right {
        -webkit-transform: translateY(-80px);
            -ms-transform: translateY(-80px);
                transform: translateY(-80px); } }
  .future__item:hover .future__hidden-overlay {
    opacity: 1; }
    .future__item:hover .future__hidden-overlay .icon {
      opacity: 1; }

.future__video {
  display: none;
  max-width: 100%;
  position: absolute;
  width: 100%;
  z-index: 2; }
  .future__video.is-visible {
    display: block; }
  .future__video .close-button {
    background-color: rgba(10, 10, 10, 0.5);
    border-radius: 28px;
    color: #e36018;
    font-size: 44px;
    height: 56px;
    right: 20px;
    top: 40px;
    width: 56px; }

.future__hidden-overlay {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(15, 44, 82, 0.8);
  bottom: 0;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  opacity: 0;
  padding: 1rem;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  transition: opacity .5s;
  width: 100%; }
  @media screen and (max-width: 53.1875em) {
    .future__hidden-overlay {
      opacity: 1; }
      .future__hidden-overlay .icon {
        display: block !important; } }

.future__grid .grid-container {
  padding-left: 0;
  padding-right: 0; }

.future__grid .grid-margin-x > .cell {
  margin-left: .5rem;
  margin-right: .5rem; }

.future__grid .grid-margin-x > .medium-3 {
  width: calc(25% - 1rem); }

@media screen and (max-width: 39.9375em) {
  .future__grid .grid-margin-x > .small-12 {
    width: calc(100% - 1.25rem); } }

.hamburger {
  cursor: pointer;
  display: block; }

.hamburger__line {
  stroke: #0071b9;
  stroke-miterlimit: 10;
  stroke-width: 2px;
  transition: stroke .25s, -webkit-transform .25s;
  transition: stroke .25s, transform .25s;
  transition: stroke .25s, transform .25s, -webkit-transform .25s;
  will-change: stroke, background; }
  .hamburger__line:nth-child(1) {
    -webkit-transform-origin: top right;
        -ms-transform-origin: top right;
            transform-origin: top right; }
  .hamburger__line:nth-child(3) {
    -webkit-transform-origin: bottom right;
        -ms-transform-origin: bottom right;
            transform-origin: bottom right; }
  .is-active .hamburger__line:nth-child(1),
  .is-menu-open .hamburger__line:nth-child(1) {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .is-active .hamburger__line:nth-child(2),
  .is-menu-open .hamburger__line:nth-child(2) {
    stroke: transparent; }
  .is-active .hamburger__line:nth-child(3),
  .is-menu-open .hamburger__line:nth-child(3) {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
  .orange .hamburger__line {
    stroke: #e36018; }

/* YAPL
name: Image Border
partial: sg-image-border
selector: .image--border
*/
/* YAPL
name: Image Portrait
partial: sg-image-portrait
selector: .image--portrait
*/
/* YAPL
name: Image Portrait Small
partial: sg-image-portrait-small
selector: .image--portrait--small
*/
/* YAPL
name: Image Max Width and Diagonals
notes: Same as example from figure component
partial: sg-image-max-diagonals
selector: .image--max-diagonals
*/
/* YAPL
name: Image Fit
notes: For use in cases where the image needs to fill the container; can be used in conjunction with image--max-540 to limit height; you could create new max classes for different situations
partial: sg-image-fit
selector: .image--fit
*/
/* YAPL
name: Image Max Width 540
notes: Used to limit max height of image
partial: sg-image-max-540
selector: .image--max-540
*/
.image--border {
  border-bottom: 8px solid #c6a16d; }

.image--float-left {
  float: left;
  margin-bottom: 1rem;
  margin-right: 1rem; }

.image--portrait {
  max-width: 150px; }

.image--portrait--small {
  max-width: 114px; }

.image--max-diagonals {
  max-width: 348px !important; }

.image--overflow-hidden {
  overflow: hidden;
  position: relative; }
  .image--overflow-hidden.image--no-hover:hover > img {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); }
  .image--overflow-hidden img {
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s; }
  .image--overflow-hidden:hover + div > span {
    color: #0071b9; }
  .image--overflow-hidden:hover > img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }

.image--fill img {
  width: 100%; }

.image--fit {
  font-family: 'object-fit: cover; object-position: top';
  height: 100%;
  object-fit: cover;
  object-position: top;
  width: 100%; }

.image--max-540 {
  max-height: 540px; }

/* YAPL
name: Hero
notes: parallax scroll disabled in styleguide; z-index changes for styleGuide at bottom (look for .sg-block at bottom of this file)
partial: sg-hero
context: hero.homepage
selector: .hero
*/
/* YAPL
name: Hero Mastersub
notes: parallax scroll disabled in styleguide
partial: sg-hero
context: hero.mastersub
selector: .hero--sub
*/
/* YAPL
name: Hero Mastersub Message
notes: parallax scroll disabled in styleguide
partial: sg-hero
context: hero.locationDetail
selector: .hero--sub.hero--sub--message
*/
/* YAPL
name: Hero Campaign
notes: z-index changes and removed negative top margin for styleguide
partial: sg-hero
context: hero.campaign
selector: .hero--campaign
*/
/* YAPL
name: Hero Microsite
notes: z-index changes and removed negative top margin for styleguide
partial: sg-hero
context: hero.microsite
selector: .hero--campaign.hero--microsite
*/


/* Important Information */
		#importantinformation {
			width: 100%;
			height: 100%;
		}
		#importantleft {
			width: 45%;
			height: 100%;
			float: left;
		}
		#importantright {
			width: 45%;
			height: 100%;
			float: right;
		}	
/* End Important Information */






.hero {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  min-height: 15.625rem;
  position: relative; }
  @media screen and (min-width: 64em) {
    .hero {
      height: 550px; } }
  @media screen and (max-width: 53.1875em) {
    .hero {
      height: 178px;
      min-height: auto;
      padding: 0; } }
  @media screen and (min-width: 64em) {
    .hero--sub .hero {
      height: 336px; } }
  @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
    .hero--sub .hero {
      height: 240px;
      min-height: 240px; } }
  @media screen and (max-width: 53.1875em) {
    .hero--sub .hero {
      height: auto;
      min-height: auto;
      padding: 0; } }
  @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
    .hero--sub--message .hero {
      height: auto; } }
  @media screen and (min-width: 64em) {
    .hero--campaign .hero {
      height: 685px; } }
  @media screen and (max-width: 53.1875em) {
    .hero--campaign .hero {
      height: auto;
      min-height: auto;
      padding: 0; } }

.hero__wrap {
  position: relative; }
  @media screen and (min-width: 64em) {
    .hero__wrap {
      height: 550px; } }
  .hero__wrap.hero--sub {
    height: 336px; }
    @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
      .hero__wrap.hero--sub {
        height: 240px;
        min-height: 240px; }
        .hero__wrap.hero--sub.hero--sub--message {
          height: auto; } }
    @media screen and (max-width: 53.1875em) {
      .hero__wrap.hero--sub {
        height: auto;
        min-height: 130px; } }
  .hero__wrap.hero--campaign {
    height: 685px;
    margin-top: -118px; }
    @media screen and (max-width: 63.9375em) {
      .hero__wrap.hero--campaign {
        height: auto;
        min-height: 210px; } }
    .hero__wrap.hero--campaign.hero--microsite {
      margin-top: -157px; }

.hero__image {
  font-family: 'object-fit: cover; object-position: top';
  height: 550px;
  min-height: 550px;
  object-fit: cover;
  object-position: top;
  position: relative;
  /*z-index: -2; }*/
  z-index: 0; }
  @media screen and (min-width: 64em) {
    .hero__image {
      opacity: 0;
      transition: opacity 1.5s; }
      .hero__image.is-animating {
        opacity: 1; } }
  @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
    .hero__image {
      height: 400px;
      min-height: 400px; } }
  @media screen and (max-width: 53.1875em) {
    .hero__image {
      height: auto;
      min-height: 178px; } }
  .hero--sub .hero__image {
    height: 336px;
    min-height: 336px; }
    @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
      .hero--sub .hero__image {
        height: 240px;
        min-height: 240px; } }
    @media screen and (max-width: 53.1875em) {
      .hero--sub .hero__image {
        height: 130px;
        min-height: 130px; } }
  .hero--campaign .hero__image {
    height: 685px;
    min-height: 685px; }
    @media screen and (max-width: 53.1875em) {
      .hero--campaign .hero__image {
        height: 210px;
        min-height: 210px; } }

.hero__pos-state-wrap {
  position: relative;
  top: -85%;
  width: 100%;
  z-index: 5; }
  @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
    .hero__pos-state-wrap {
      position: absolute;
      top: 30px; }
      .hero__pos-state-wrap.hero__pos-state-wrap--sub {
        position: relative; }
      .hero--sub--message .hero__pos-state-wrap {
        top: 0; } }
  @media screen and (max-width: 53.1875em) {
    .hero__pos-state-wrap {
      position: absolute;
      top: 0; }
      .hero__pos-state-wrap.hero__pos-state-wrap--sub {
        position: relative; } }
  .hero--campaign .hero__pos-state-wrap {
    top: -68%; }
    @media screen and (max-width: 63.9375em) {
      .hero--campaign .hero__pos-state-wrap {
        background-color: #fefefe;
        position: relative; } }
  @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
    .hero--microsite .hero__pos-state-wrap,
    .hero--campaign .hero__pos-state-wrap {
      background-color: transparent;
      position: absolute;
      top: 220px; } }

.hero__pos-state {
  color: #0f2c52;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 2.8125rem;
  font-style: italic;
  font-weight: 500;
  height: 100%;
  line-height: 1.2;
  opacity: 1;
  position: relative;
  transition: margin-top 0.9s ease-in, opacity 0.9s ease-in;
  width: 45%;
  z-index: 3; }
  .hero__pos-state::after {
    background-color: #e36018;
    bottom: -27px;
    content: '';
    display: block;
    height: 10px;
    left: 0;
    position: relative;
    width: 142px; }
  @media screen and (min-width: 64em) {
    .hero__pos-state {
      opacity: 0;
      transition: opacity 2s; }
      .hero__pos-state.is-animating {
        opacity: 1; } }
  @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
    .hero__pos-state {
      font-size: 2.5rem;
      margin-top: 24px !important; }
      .hero__pos-state::after {
        bottom: -18px;
        width: 100px; } }
  @media screen and (max-width: 53.1875em) {
    .hero__pos-state {
      font-size: 1.3125rem;
      left: 24px;
      margin-top: 12px !important;
      top: 16px;
      width: 60%; }
      .hero__pos-state::after {
        bottom: -10px;
        height: 6px;
        width: 64px; } }

.hero__textbox {
  background-color: rgba(77, 190, 181, 0.8);

  padding: 1.5rem 2rem;
  width: 40%; }
  .hero__textbox h2 {
    font-size: 37px;
    font-weight: 600; }
    .hero--campaign .hero__textbox h2 {
      color: #fefefe;
      font-size: 42px; }
      @media screen and (max-width: 53.1875em) {
        .hero--campaign .hero__textbox h2 {
          color: #0a0a0a;
          font-size: 28px; } }
  .hero__textbox p {
    font-weight: 600; }
    .hero--campaign .hero__textbox p {
      color: #fefefe;
      font-size: 20px; }
      @media screen and (max-width: 53.1875em) {
        .hero--campaign .hero__textbox p {
          color: #0a0a0a;
          font-size: 14px; } }
  .hero__textbox.hero__textbox--large-text h2 {
    font-size: 59px; }
    @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
      .hero__textbox.hero__textbox--large-text h2 {
        font-size: 42px; } }
    @media screen and (max-width: 53.1875em) {
      .hero__textbox.hero__textbox--large-text h2 {
        font-size: 31px; } }
  .hero__textbox.hero__textbox--large-text p {
    font-size: 24px; }
    @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
      .hero__textbox.hero__textbox--large-text p {
        font-size: 20px; } }
    @media screen and (max-width: 53.1875em) {
      .hero__textbox.hero__textbox--large-text p {
        font-size: 16px; } }
  @media screen and (max-width: 63.9375em) {
    .hero__textbox {
      background-color: #4dbeb5;
      border-bottom-left-radius: 20px;
      outline: 4px solid rgba(254, 254, 254, 0.4);
      position: relative;
      top: -26px;
      width: 100%; } }
  @media screen and (max-width: 39.9375em) {
    .hero__textbox {
      top: -26px; } }
  .hero__textbox.hero__textbox--transparent {
    background: transparent;
    width: 90%; }
    @media screen and (max-width: 63.9375em) {
      .hero__textbox.hero__textbox--transparent {
        outline: 0;
        width: 100%; } }
    @media screen and (max-width: 53.1875em) {
      .hero__textbox.hero__textbox--transparent {
        padding: 1rem;
        top: 0; } }
    .hero__textbox.hero__textbox--transparent .button:hover {
      background-color: #14679e;
      color: #fefefe; }
    @media screen and (max-width: 53.1875em) {
      .hero__textbox.hero__textbox--transparent h2,
      .hero__textbox.hero__textbox--transparent p {
        color: #242424 !important; } }
  .hero__textbox.hero__textbox--center {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    text-align: center; }

.hero__textbox-border {
  background-color: #4dbeb5;
  height: 4px;
  margin-left: auto;
  margin-right: auto;
  width: 80px; }

.hero__directions-wrap {
  position: relative; }

.hero-directions {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(254, 254, 254, 0.7);
  bottom: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
  position: absolute;
  right: 0;
  z-index: 5; }
  .hero-directions p {
    font-size: 0.9375rem;
    margin-bottom: 0; }
    @media screen and (max-width: 53.1875em) {
      .hero-directions p {
        font-size: 0.8125rem; } }
  .hero-directions a {
    font-size: 0.9375rem; }
    @media screen and (max-width: 53.1875em) {
      .hero-directions a {
        font-size: 0.8125rem; } }
  .hero-directions .icon {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    font-size: 1.75rem; }
    @media screen and (max-width: 63.9375em) {
      .hero-directions .icon {
        margin-left: .5rem;
        margin-right: .5rem; } }
  @media screen and (max-width: 63.9375em) {
    .hero-directions {
      margin-left: auto;
      margin-right: auto;
      max-width: 420px;
      position: relative;
      top: -18px;
      width: 100%; } }

.hero-directions__link {
  margin-left: 1rem; }
  @media screen and (max-width: 53.1875em) {
    .hero-directions__link {
      margin-left: 0.5rem; } }

.hero__overlay {
  margin-top: -150px;
  position: relative;
  z-index: 1; }
  .hero__overlay.hero__overlay--small {
    margin-top: -46px; }
  @media screen and (max-width: 63.9375em) {
    .hero__overlay.hero__overlay--microsite {
      padding-left: 0;
      padding-right: 0; } }
  @media screen and (max-width: 53.1875em) {
    .hero__overlay {
      margin-top: 0; } }

.sg-block .hero__image {
  z-index: 0; }

<!-- Do not display this at the moment
.sg-block .hero .diagonals {
  opacity: .5;
  z-index: 2; }

.sg-block .hero .diagonals--darken {
  z-index: 1; }
-->
.sg-block .hero-nav__container.hero-nav--campaign {
  z-index: 3; }

.sg-block .hero__wrap.hero--campaign {
  margin-top: 0; }

@media screen and (min-width: 64em) {
  .hero-nav__container {
    bottom: 154px;
    position: relative;
	z-index: 2;} }

@media screen and (min-width: 64em) {
  .hero-nav__container__cb {
    bottom: 154px;
	z-index: 2;
   border-bottom-left-radius: 20px;

	padding-right: 0.5625rem;
    padding-left: 0.5625rem;
	max-width: 75rem;
    margin: 0 auto;} }

@media screen and (max-width: 63.9375em) {
  .hero-nav__container__cb {
    background-color: #0f2c52;
    border-bottom-left-radius: 20px;
    bottom: auto;
    min-height: 156px;
    outline: 4px solid rgba(254, 254, 254, 0.4);
    padding: 1rem 0;
    top: 3px;
    width: 92%;
	z-index: 2;} }

@media screen and (max-width: 63.9375em) {
  .hero-nav__container {
    background-color: #0f2c52;
    border-bottom-left-radius: 20px;
    bottom: auto;
    min-height: 156px;
    outline: 4px solid rgba(254, 254, 254, 0.4);
    padding: 1rem 0;
    position: relative;
    top: 3px;
    width: 92%;
	z-index: 2;} }

.hero-nav__container.hero-nav--campaign {
  z-index: 1; }
  @media screen and (max-width: 63.9375em) {
    .hero-nav__container.hero-nav--campaign {
      background-color: #4dbeb5;
      margin-top: -80px;
      top: 0; } }
  @media screen and (max-width: 53.1875em) {
    .hero-nav__container.hero-nav--campaign {
      margin-top: 0px; } }

.hero-nav {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(254, 254, 254, 0.75);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 1rem;
  transition: background-color 0.3s;
  width: 100%; }
  @media screen and (max-width: 63.9375em) {
    .hero-nav {
      background-color: #0f2c52;
      padding: 0 1rem; } }
  .hero-nav--campaign .hero-nav {
    background-color: rgba(62, 151, 144, 0.9); }
    @media screen and (max-width: 63.9375em) {
      .hero-nav--campaign .hero-nav {
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        background-color: #4dbeb5;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }

.hero-nav__section {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 110px;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .hero-nav__section:hover .hero-nav__link {
    color: #4dbeb5; }
  .hero-nav__section:hover .hero-nav__icon {
    background-color: #fefefe;
	  /* removing background icons on homepage*/
	background-image: none !important; 
    border: 2px solid #4dbeb5;
    color: #4dbeb5; }
    .hero-nav__section:hover .hero-nav__icon::after {
      background: #4dbeb5;
		  /* removing background icons on homepage*/
	background-image: none !important; 	
      opacity: 0;
      -webkit-transform: scale(1.4);
          -ms-transform: scale(1.4);
              transform: scale(1.4);
      transition: opacity .2s, -webkit-transform .3s;
      transition: transform .3s, opacity .2s;
      transition: transform .3s, opacity .2s, -webkit-transform .3s; }
  @media screen and (max-width: 63.9375em) {
    .hero-nav__section {
      background-color: #0f2c52;
      border: 0;
      color: #fefefe;
      height: auto;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-bottom: 1rem;
      width: 25%; } }
  @media screen and (max-width: 53.1875em) {
    .hero-nav__section {
      width: 47%; } }
  @media screen and (max-width: 63.9375em) {
    .hero-nav--campaign .hero-nav__section {
      background-color: #4dbeb5;
      border-bottom: 1px solid rgba(254, 254, 254, 0.5);
      padding-bottom: 1rem;
      padding-top: 1rem; }
      .hero-nav--campaign .hero-nav__section:last-child {
        border-bottom: 0; } }
  .hero-nav--campaign .hero-nav__section p {
    color: #fefefe;
    line-height: 1.3;
    margin: 0; }
  .hero-nav--campaign .hero-nav__section a {
    color: #fefefe;
    padding: 0;
    text-decoration: underline; }
  .hero-nav__section.hero-nav__section--description {
    width: 40%; }
    @media screen and (max-width: 63.9375em) {
      .hero-nav__section.hero-nav__section--description {
        margin-bottom: 0;
        width: 100%; } }
  .hero-nav__section.hero-nav__section--info {
    padding-left: 10px;
    padding-right: 10px;
    width: 30%; }
    @media screen and (max-width: 63.9375em) {
      .hero-nav__section.hero-nav__section--info {
        margin-bottom: 0;
        padding-left: 0;
        padding-right: 0;
        width: 100%; } }
  .hero-nav__section .hero-nav__link {
    color: #0f2c52;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3em;
    padding-left: 8px;
    transition: color 0.3s; }
    @media screen and (max-width: 63.9375em) {
      .hero-nav__section .hero-nav__link {
        color: #fefefe;
        font-size: 0.875rem; } }
    @media screen and (max-width: 53.1875em) {
      .hero-nav__section .hero-nav__link {
        padding-left: 6px;
        padding-right: 12px; } }
    .hero-nav--campaign .hero-nav__section .hero-nav__link {
      color: #fefefe;
      font-size: 0.875rem; }
  .hero-nav__section .hero-nav__icon {
    background-color: #4dbeb5;
    /* removing background icons on homepage*/
	background-image: none !important;   
    border: 2px solid #4dbeb5;
    border-radius: 27px;
    color: #fefefe;
    display: block;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    float: left;
    height: 54px;
    position: relative;
    width: 54px;
    z-index: 1; }
    .hero-nav__section .hero-nav__icon::before {
     /* removing background icons on homepage*/
	background-image: none !important; 
		font-size: 1.8rem;
      left: 11px;
      position: absolute;
      top: 10px;
      z-index: 2; }
    .hero-nav__section .hero-nav__icon.icon--location::before {
      top: 11px; }
    .hero-nav__section .hero-nav__icon.icon--briefcase::before {
      top: 13px; }
    @media screen and (min-width: 64em) {
      .hero-nav__section .hero-nav__icon::after {
        background-color: #4dbeb5;
		/* removing background icons on homepage*/
	    background-image: none !important; 
        border-radius: 50%;
        content: '';
        height: 54px;
        left: -2px;
        opacity: 1;
        pointer-events: none;
        position: absolute;
        top: -2px;
        transition: opacity .4s, -webkit-transform .3s;
        transition: transform .3s, opacity .4s;
        transition: transform .3s, opacity .4s, -webkit-transform .3s;
        width: 54px;
        z-index: 0; } }
    @media screen and (max-width: 63.9375em) {
      .hero-nav__section .hero-nav__icon {
        box-shadow: 0 0 0 0;
        height: 42px;
        width: 42px; }
        .hero-nav__section .hero-nav__icon::before {
 /* removing background icons on homepage*/
       background-image: none !important; 
          font-size: 1.4rem;
          left: 8px;
          position: absolute;
          top: 7px; }
        .hero-nav__section .hero-nav__icon.icon--location::before {
          top: 8px; }
        .hero-nav__section .hero-nav__icon.icon--briefcase::before {
          top: 9px; } }

@media screen and (min-width: 64em) {
  .hero-nav__section-container:hover .hero-nav {
    background-color: #fefefe; }
    .hero-nav--campaign .hero-nav__section-container:hover .hero-nav {
      background-color: #4dbeb5; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hero-nav__section-container {
    width: 100% !important; } }

@media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
  .hero-nav__section-container {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; } }

@media screen and (min-width: 40em) and (max-width: 53.1875em) {
  .hero-nav__section-container {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; } }

@media screen and (max-width: 39.9375em) {
  .hero-nav__section-container {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; } }

.hero-nav__section--looking {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #0f2c52;
  border-bottom-left-radius: 20px;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6875rem;
  font-weight: 700;
  height: 110px;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-left: 0;
  padding-right: 31px;
  text-align: right;
  width: 240px; }
  .hero-nav__section--looking span {
    display: inline-block; }
    @media screen and (max-width: 63.9375em) {
      .hero-nav__section--looking span {
        display: inline; } }
  @media screen and (max-width: 63.9375em) {
    .hero-nav__section--looking {
      border-bottom-left-radius: 0;
      font-size: 1.375rem;
      font-weight: 700;
      height: auto;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-left: auto;
      margin-right: auto;
      padding-bottom: 1rem;
      padding-right: 0;
      padding-top: 0;
      text-align: center;
      width: 100%; } }
  @media screen and (min-width: 40em) and (max-width: 53.1875em) {
    .hero-nav__section--looking {
      font-size: 20px;
      padding-right: 20px;
      text-align: right; } }
  .hero-nav--campaign .hero-nav__section--looking {
    background-color: #4dbeb5; }
    @media screen and (max-width: 63.9375em) {
      .hero-nav--campaign .hero-nav__section--looking {
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        padding: 0 1rem; } }

@media screen and (min-width: 40em) and (max-width: 53.1875em) {
  .hero-nav__left {
    width: 25% !important; } }

@media screen and (min-width: 40em) and (max-width: 53.1875em) {
  .hero-nav__right {
    width: 75% !important; } }

.hot-jobs__item {
  border-bottom: 1px solid #b7b7b7;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: .75rem 0 1.25rem; }

.hot-jobs__job .hot-jobs__category {
  color: #c6a16d;
  font-weight: 400;
  margin-bottom: 0; }

.hot-jobs__job .hot-jobs__job-name {
  margin-bottom: 0;
  margin-top: .25rem; }

.hot-jobs__location {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  margin-right: 0; }

.hp-portlets .hp-portlets-cell {
  margin-bottom: 64px;
  transition: margin-top 1s; }
  .hp-portlets .hp-portlets-cell.is-animating {
    margin-top: -90px; }
  @media screen and (max-width: 53.1875em) {
    .hp-portlets .hp-portlets-cell {
      margin-bottom: 1rem; }
      .hp-portlets .hp-portlets-cell.is-animating {
        margin-top: 2rem; } }

.infographic {
  padding: 0;
  position: relative; }
  @media screen and (max-width: 63.9375em) {
    .infographic {
      width: 92%; } }
  @media screen and (max-width: 53.1875em) {
    .infographic {
      box-shadow: 0 0 0 0;
      margin-bottom: 3rem;
      width: 100%; } }

.infographic__tabs-container {
  height: 100%;
  width: 100%; }
  @media screen and (max-width: 53.1875em) {
    .infographic__tabs-container {
      box-shadow: 0 0 1.25rem rgba(10, 10, 10, 0.2);
      height: 484px; } }

.infographic__nav {
  background: transparent;
  border: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 40px;
  position: absolute;
  top: 308px;
  z-index: 2; }
  @media screen and (max-width: 74.9375em) {
    .infographic__nav {
      top: 248px; } }
  @media screen and (max-width: 63.9375em) {
    .infographic__nav {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      bottom: -40px;
      left: auto;
      position: relative;
      top: auto;
      width: 100%; } }
  @media screen and (max-width: 53.1875em) {
    .infographic__nav {
      bottom: -60px; } }
  .infographic__nav .infographic__nav-link {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: rgba(0, 113, 185, 0.8);
    color: #fefefe;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.125rem;
    font-weight: 600;
    height: 60px;
    margin-bottom: 5px;
    padding: 1rem;
    padding-left: 2rem;
    transition: background-color 0.3s, color 0.3s;
    width: 306px; }
    .infographic__nav .infographic__nav-link .icon {
      font-size: .75em;
      margin-left: auto;
      margin-right: 0; }
    .infographic__nav .infographic__nav-link:hover {
      background-color: #fefefe;
      color: #e36018; }
    @media screen and (max-width: 63.9375em) {
      .infographic__nav .infographic__nav-link {
        height: 53px; } }

.infographic__tabs-title {
  background: none; }

.infographic__tabs-content {
  border: 0;
  height: 100%;
  position: absolute;
  top: 0;
  width: 50%;
  z-index: 0; }
  @media screen and (max-width: 53.1875em) {
    .infographic__tabs-content {
      height: 484px;
      width: 100%; } }

.infographic__content {
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  height: 100%;
  opacity: 0;
  position: absolute;
  transition: opacity .6s;
  width: 100%; }
  .infographic__content.is-active {
    opacity: 1; }

.infographic__content-1 {
  background-image: url("../img/hp/hp-sinai.jpg");
  opacity: 1 !important; }

.infographic__content-2 {
  background-image: url("../img/hp/hp-northwest.jpg"); }

.infographic__content-3 {
  background-image: url("../img/hp/hp-carroll.jpg"); }

.infographic__content-4 {
  background-image: url("../img/hp/hp-levindale.jpg"); }

.infographic__buttons {
  bottom: 8px;
  left: calc(50% - 120px);
  position: absolute;
  z-index: 2; }

.infographic__button {
  background-color: rgba(0, 113, 185, 0.9);
  border: 2px solid rgba(0, 113, 185, 0.9);
  margin-bottom: 5px;
  padding: 8px 14px;
  text-align: left;
  text-transform: none;
  transition: border 0.3s;
  width: 240px; }
  .infographic__button:hover {
    background-color: #fefefe;
    border: 2px solid #fefefe;
    color: #0f2c52; }
    .infographic__button:hover .icon {
      background-color: #0071b9;
      color: #fefefe; }

.infographic__image {
  background-image: url("../img/diagonals.png");
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%; }
  .infographic__image .icon {
    background-color: #0f2c52;
    border-radius: 18px;
    height: 36px;
    position: relative;
    transition: background-color 0.3s;
    width: 36px; }
    .infographic__image .icon::before {
      background-position: 0 4px;
      left: 11px;
      position: absolute;
      top: 9px; }
    .infographic__image .icon.icon--find-a-doc {
      font-size: 17px; }
      .infographic__image .icon.icon--find-a-doc::before {
        top: 10px; }
    .infographic__image .icon.icon--make-an-appt {
      font-size: 15px; }
  @media screen and (max-width: 63.9375em) {
    .infographic__image img {
      width: 100%; } }
  .infographic__image.infographic__image--right::before {
    border-bottom: 27px solid transparent;
    border-left: 27px solid #fefefe;
    border-top: 27px solid transparent;
    content: '';
    left: 0;
    position: absolute;
    top: calc(50% - 27px);
    z-index: 2; }
    @media screen and (max-width: 53.1875em) {
      .infographic__image.infographic__image--right::before {
        border: 0; } }
  .infographic__image.infographic__image--right::after {
    border-bottom: 0 solid transparent;
    border-left: 0 solid #fefefe;
    border-top: 0 solid transparent;
    content: '';
    left: 0;
    position: absolute;
    top: 52px; }
    @media screen and (max-width: 53.1875em) {
      .infographic__image.infographic__image--right::after {
        border: 0; } }
  .infographic__image.infographic__image--left::before {
    border-bottom: 27px solid transparent;
    border-right: 27px solid #fefefe;
    border-top: 27px solid transparent;
    content: '';
    position: absolute;
    right: 0;
    top: calc(50% - 27px);
    z-index: 2; }
    @media screen and (max-width: 53.1875em) {
      .infographic__image.infographic__image--left::before {
        border: 0; } }
  .infographic__image.infographic__image--left::after {
    border-bottom: 0 solid transparent;
    border-right: 0 solid #fefefe;
    border-top: 0 solid transparent;
    content: '';
    position: absolute;
    right: 0;
    top: 52px; }
    @media screen and (max-width: 53.1875em) {
      .infographic__image.infographic__image--left::after {
        border: 0; } }

.infographic__map {
  background-image: url("../img/hp/infographic-map-nopins.jpg");
  background-repeat: no-repeat; }

.infographic__map-pin {
  height: 12px;
  position: absolute;
  width: 12px;
  z-index: 4; }
  @media screen and (min-width: 64em) {
    .infographic__map-pin {
      opacity: 0; } }
  .infographic__map-pin.infographic__map-pin-1 {
    left: 25%;
    top: 12%; }
  .infographic__map-pin.infographic__map-pin-2 {
    left: 26%;
    top: 17%; }
  .infographic__map-pin.infographic__map-pin-3 {
    left: 26%;
    top: 20.5%; }
  .infographic__map-pin.infographic__map-pin-4 {
    left: 29%;
    top: 18.5%; }
  .infographic__map-pin.infographic__map-pin-5 {
    left: 37%;
    top: 15%; }
  .infographic__map-pin.infographic__map-pin-6 {
    left: 48%;
    top: 19%; }
  .infographic__map-pin.infographic__map-pin-7 {
    left: 47%;
    top: 22.5%; }
  .infographic__map-pin.infographic__map-pin-8 {
    left: 73%;
    top: 13.5%; }
  .infographic__map-pin.infographic__map-pin-9 {
    left: 75.5%;
    top: 16.5%; }
  .infographic__map-pin.infographic__map-pin-10 {
    left: 77%;
    top: 21%; }
  .infographic__map-pin.infographic__map-pin-11 {
    left: 3%;
    top: 29%; }
  .infographic__map-pin.infographic__map-pin-12 {
    left: 31%;
    top: 31%; }
  .infographic__map-pin.infographic__map-pin-13 {
    left: 39%;
    top: 28%; }
  .infographic__map-pin.infographic__map-pin-14 {
    left: 41.5%;
    top: 30%; }
  .infographic__map-pin.infographic__map-pin-15 {
    left: 44%;
    top: 33%; }
  .infographic__map-pin.infographic__map-pin-16 {
    left: 47.5%;
    top: 32%; }
  .infographic__map-pin.infographic__map-pin-17 {
    left: 51%;
    top: 27%; }
  .infographic__map-pin.infographic__map-pin-18 {
    left: 54%;
    top: 29%; }
  .infographic__map-pin.infographic__map-pin-19 {
    left: 56%;
    top: 32%; }
  .infographic__map-pin.infographic__map-pin-20 {
    left: 60%;
    top: 35%; }
  .infographic__map-pin.infographic__map-pin-21 {
    left: 64%;
    top: 35.5%; }
  .infographic__map-pin.infographic__map-pin-22 {
    left: 67%;
    top: 30%; }
  .infographic__map-pin.infographic__map-pin-23 {
    left: 34%;
    top: 47%; }
  .infographic__map-pin.infographic__map-pin-24 {
    left: 42%;
    top: 50%; }
  .infographic__map-pin.infographic__map-pin-25 {
    left: 52%;
    top: 48%; }
  .infographic__map-pin.infographic__map-pin-26 {
    left: 58%;
    top: 52%; }
  .infographic__map-pin.infographic__map-pin-27 {
    left: 63%;
    top: 67%; }
  .infographic__map-pin.infographic__map-pin-28 {
    left: 42.5%;
    top: 40.5%; }
  .infographic__map-pin.infographic__map-pin-29 {
    left: 45.5%;
    top: 42%; }
  .infographic__map-pin.infographic__map-pin-30 {
    left: 39%;
    top: 43%; }
  .infographic__map-pin.infographic__map-pin-31 {
    left: 44%;
    top: 36.5%; }

.pin-anim-1 {
  transition: opacity .5s .3s; }
  .pin-anim-1.is-animating {
    opacity: 1; }

.pin-anim-2 {
  transition: opacity .5s .5s; }
  .pin-anim-2.is-animating {
    opacity: 1; }

.pin-anim-3 {
  transition: opacity .5s .8s; }
  .pin-anim-3.is-animating {
    opacity: 1; }

.pin-anim-4 {
  transition: opacity .5s 1.4s; }
  .pin-anim-4.is-animating {
    opacity: 1; }

.pin-anim-5 {
  transition: opacity .5s 1.2s; }
  .pin-anim-5.is-animating {
    opacity: 1; }

.pin-anim-6 {
  transition: opacity .5s 1.7s; }
  .pin-anim-6.is-animating {
    opacity: 1; }

.pin-anim-7 {
  transition: opacity .5s 1.8s; }
  .pin-anim-7.is-animating {
    opacity: 1; }

.pin-anim-8 {
  transition: opacity .5s 2.3s; }
  .pin-anim-8.is-animating {
    opacity: 1; }

.infographic__stat-container {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 53.1875em) {
    .infographic__stat-container {
      box-shadow: 0 0 1.25rem rgba(10, 10, 10, 0.2);
      margin-left: auto;
      margin-right: auto;
      margin-top: 3rem;
      width: 92%; } }

.infographic__stat-container--tabs {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (max-width: 53.1875em) {
    .infographic__stat-container--tabs {
      margin-left: auto;
      margin-right: auto;
      margin-top: 3rem;
      width: 92%; } }

.infographic__stat {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%; }
  @media screen and (max-width: 63.9375em) {
    .infographic__stat {
      padding-bottom: 1rem;
      padding-top: 1rem; } }
  .infographic__stat.infographic__stat--circle {
    background-color: #f2f0ef;
    border-radius: 50%;
    height: 220px;
    margin-bottom: 2rem;
    width: 220px; }
    .infographic__stat.infographic__stat--circle .infographic__stat-number {
      font-size: 3.75rem; }

.infographic__stat-small {
  font-weight: 600;
  line-height: 1.2;
  padding: 0 8px;
  position: relative;
  text-align: center;
  text-transform: uppercase; }
  .infographic__stat-small.separator-center::after {
    border-color: #e36018;
    border-width: 5px; }

.infographic__stat-main {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: #fefefe;
  font-size: 2.25rem;
  font-weight: 600;
  left: 40px;
  line-height: 1.2;
  position: absolute;
  text-transform: uppercase;
  top: 30px;
  z-index: 1; }
  @media screen and (min-width: 53.25em) and (max-width: 63.9375em) {
    .infographic__stat-main {
      top: 15px; } }
  @media screen and (max-width: 63.9375em) {
    .infographic__stat-main {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      font-size: 1.5625rem;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      left: auto;
      position: relative; } }
  .infographic__stat-main .infographic__stat-main-text {
    bottom: 16px;
    left: 113px;
    position: absolute; }
    @media screen and (max-width: 63.9375em) {
      .infographic__stat-main .infographic__stat-main-text {
        bottom: auto;
        left: auto;
        position: relative; } }
  .infographic__stat-main .separator-left::after {
    border-color: #e36018;
    border-width: 5px; }

.infographic__stat-number {
  color: #0071b9;
  display: inline-block;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 4.1875rem;
  font-weight: 700; }
  @media screen and (max-width: 63.9375em) {
    .infographic__stat-number {
      font-size: 2.9375rem; } }
  .infographic__stat-number.infographic__stat-number--small {
    font-size: 3rem;
    line-height: 150%;
    position: relative;
    top: -7px; }

.infographic__stat-number--large {
  color: #fefefe;
  font-size: 11.25rem;
  font-weight: 700;
  line-height: 11.25rem; }
  @media screen and (max-width: 63.9375em) {
    .infographic__stat-number--large {
      font-size: 8rem;
      line-height: 8rem; } }

.link--cancel {
  display: block;
  font-size: 1rem;
  margin-bottom: 1.25rem; }

/* YAPL
name: List
partial: sg-list
selector: .rtf ul
wrapperClasses: rtf
*/
/* YAPL
name: List No Bullets
notes: Often used in conjunction with List No Indent
partial: sg-list-no-bullets
selector: .list--no-bullets
*/
/* YAPL
name: List No Indent
notes: Often used in conjunction with List No Bullets
partial: sg-list-no-indent
selector: .list--no-indent
*/
/* YAPL
name: List Double Spaced
partial: sg-list-double-spaced
selector: .list--double-spaced
*/
/* YAPL
name: List Portlet
partial: sg-list-portlet
selector: .list--portlet
*/
/* YAPL
name: List with Carets
notes: Use in conjunction with List No Bullets
partial: sg-list-carets
selector: .list--carets
*/
.list--no-bullets {
  list-style-type: none; }
  @media screen and (max-width: 63.9375em) {
    .list--no-bullets {
      margin-left: 0; } }

.list--no-indent {
  margin-left: 0; }

.list--double-spaced li {
  margin-bottom: 2rem; }

.list--portlet li {
  border-bottom: 1px solid #e1e1e1;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 1rem;
  padding-bottom: 1rem; }
  .list--portlet li:last-child {
    border-bottom: 0; }

.list--carets li {
  background-image: url("../img/icon-list-caret.png");
  background-position: 0 5px;
  background-repeat: no-repeat;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-left: 20px; }
  .list--carets li a {
    color: #2d2c2c; }
    .list--carets li a:hover {
      color: #e36018; }
  @media screen and (max-width: 53.1875em) {
    .list--carets li {
      font-size: 0.875rem; } }

@media screen and (max-width: 63.9375em) {
  .list--carets {
    margin-left: 0; } }

.list--columns-2 {
  -webkit-columns: 2;
          columns: 2; }
  @media screen and (max-width: 53.1875em) {
    .list--columns-2 {
      -webkit-columns: 1;
              columns: 1; } }

.event__list h3 {
  color: #404040; }

.event__item {
  border-bottom: 1px solid #b7b7b7;
  margin-top: 1.5rem;
  padding-bottom: 2rem; }

.event__buttons a {
  margin-bottom: 0; }
  @media screen and (max-width: 53.1875em) {
    .event__buttons a {
      display: block;
      margin-top: 1rem; } }
  .event__buttons a:first-child {
    margin-right: 1rem; }
    @media print, screen and (min-width: 40em) {
      .event__buttons a:first-child {
        margin-right: 2rem; } }
  .event__buttons a.button {
    margin-bottom: 0; }

.event__date {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #c6a16d;
  border-radius: 50%;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  height: 3.75rem;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.2;
  margin-right: 1rem;
  padding: 0 .75rem;
  text-align: center;
  text-transform: uppercase;
  width: 3.75rem; }
  @media print, screen and (min-width: 53.25em) {
    .event__date {
      font-size: 1.25rem;
      height: 4.875rem;
      margin-right: 2rem;
      padding: 0 1rem;
      width: 4.875rem; } }

@media print, screen and (min-width: 53.25em) {
  .event__details {
    margin-left: 1.5rem; } }

.event__details p {
  margin: 0; }

.locations__gmap {
  height: 300px;
  position: relative; }
  @media screen and (min-width: 40em) and (max-width: 53.1875em) {
    .locations__gmap {
      height: 450px; } }
  @media screen and (min-width: 53.25em) {
    .locations__gmap {
      height: 600px; } }

.locations__gmap-overlay,
.locations__gmap-render {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

.locations__gmap-overlay {
  display: none; }

@media screen and (min-width: 40em) {
  .locations__gmap-overlay-container {
    display: none; } }

.locations__list-results {
  margin-top: 2rem; }
  @media screen and (min-width: 53.25em) {
    .locations__list-results {
      margin-top: 4rem; } }

.locations__list-results-count {
  border-bottom: 1px solid #ccc;
  border-top: 8px solid #4dbeb5;
  font-size: 1rem;
  font-weight: 600;
  padding: 1em 0; }

.locations__list-results-list {
  margin-left: 0; }

.locations__list-result {
  border-bottom: 1px solid #ccc;
  padding: 2rem 0; }
  @media screen and (max-width: 53.1875em) {
    .locations__list-result {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media screen and (min-width: 53.25em) {
    .locations__list-result {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start; } }

.locations__list-result-address,
.locations__list-result-phone {
  margin-bottom: 1em; }

.locations__list-result-address {
  font-style: normal; }

@media screen and (max-width: 53.1875em) {
  .locations__list-result-content {
    font-size: 14px; } }

@media screen and (min-width: 53.25em) {
  .locations__list-result-content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding-left: 35px; } }

.locations__list-result-desc p {
  line-height: 1.5; }
  .locations__list-result-desc p:last-child {
    margin-bottom: 0; }

@media screen and (min-width: 53.25em) {
  .locations__list-result-desc {
    -webkit-flex: 1 1 70%;
        -ms-flex: 1 1 70%;
            flex: 1 1 70%; } }

.locations__list-result-dir-link {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase; }
  .locations__list-result-dir-link .icon {
    margin-right: 0.5rem; }

.locations__list-result-img {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .locations__list-result-img img {
    border-bottom: 8px solid #4dbeb5; }
  @media screen and (max-width: 53.1875em) {
    .locations__list-result-img {
      margin-bottom: 1.125rem; } }
  @media screen and (min-width: 53.25em) {
    .locations__list-result-img {
      border-bottom-width: 8px; } }

.locations__list-result-meta {
  line-height: 1.2;
  margin-bottom: 1rem; }
  @media screen and (min-width: 53.25em) {
    .locations__list-result-meta {
      -webkit-flex: 0 0 30%;
          -ms-flex: 0 0 30%;
              flex: 0 0 30%;
      min-width: 210px;
      padding-right: 20px; } }

.locations__list-result-name {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2; }
  .locations__list-result-name > a {
    color: inherit; }
  @media screen and (min-width: 53.25em) {
    .locations__list-result-name {
      font-size: 28px;
      margin-bottom: 18px;
      width: 100%; } }

.locations__list-search-connector {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 600; }
  @media screen and (min-width: 40em) {
    .locations__list-search-connector {
      margin-left: .75rem;
      margin-right: .75rem;
      margin-top: 2rem; } }
  @media screen and (max-width: 39.9375em) {
    .locations__list-search-connector {
      margin-top: 1rem; } }

.locations__list-search-fields {
  max-width: 870px; }

@media screen and (min-width: 40em) {
  .locations__list-search-field {
    -webkit-flex: 0 1 260px;
        -ms-flex: 0 1 260px;
            flex: 0 1 260px; }
    .locations__list-search-field--lg {
      -webkit-flex: 0 1 500px;
          -ms-flex: 0 1 500px;
              flex: 0 1 500px; }
    .locations__list-search-field--md {
      -webkit-flex: 0 1 330px;
          -ms-flex: 0 1 330px;
              flex: 0 1 330px; }
    .locations__list-search-field + .locations__list-search-field {
      margin-left: 1.5rem; } }

@media screen and (min-width: 40em) {
  .locations__list-search-row {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; } }

.locations__map {
  border-top: 8px solid #4dbeb5;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding-top: 1.25rem; }

.locations__map-key {
  margin-top: 1.25rem; }

.locations__map-key-items {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  list-style: none;
  margin-left: 0; }

.locations__map-key-item {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 230px;
      -ms-flex: 0 0 230px;
          flex: 0 0 230px;
  margin-top: 0.625rem;
  padding-right: 2.5rem; }
  @media screen and (max-width: 63.9375em) {
    .locations__map-key-item {
      -webkit-flex: 0 1 50%;
          -ms-flex: 0 1 50%;
              flex: 0 1 50%; } }

.locations__map-key-item-icon {
  display: inline-block;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  height: 3.3125rem;
  margin-right: 0.625rem;
  width: 3.3125rem; }
  @media screen and (max-width: 63.9375em) {
    .locations__map-key-item-icon:not(.locations__map-key-item-icon--sm) {
      height: 2.5rem;
      width: 2.5rem; } }
  .locations__map-key-item-icon--sm {
    height: 2rem;
    width: 2rem; }

.locations__map-key-item-label {
  font-weight: 600;
  line-height: 1.3; }
  @media screen and (max-width: 63.9375em) {
    .locations__map-key-item-label:not(.locations__map-key-item-label--sm) {
      font-size: 0.75rem; } }

.locations__map-loc-filter {
  border-bottom: 1px solid #cecece;
  margin-bottom: 2.375rem;
  padding-bottom: 0.25rem; }
  @media screen and (max-width: 53.1875em) {
    .locations__map-loc-filter {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media screen and (min-width: 53.25em) {
    .locations__map-loc-filter {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }

@media screen and (min-width: 53.25em) {
  .locations__map-loc-filter-address {
    -webkit-flex: 0 1 56%;
        -ms-flex: 0 1 56%;
            flex: 0 1 56%; } }

.locations__map-loc-filter-address,
.locations__map-loc-filter-title {
  margin-right: 1rem; }

.locations__map-loc-filter-distance {
  margin-bottom: 1rem; }
  @media screen and (min-width: 53.25em) {
    .locations__map-loc-filter-distance {
      -webkit-flex: 0 1 31%;
          -ms-flex: 0 1 31%;
              flex: 0 1 31%; } }

.locations__map-loc-filter-title {
  margin-bottom: 1rem;
  white-space: nowrap; }

.locations__map-refine {
  background-color: #4dbeb5;
  border-bottom-left-radius: 1.875rem;
  color: #fff;
  margin-bottom: 1.375rem;
  padding: 1.875rem; }

.locations__map-refine-btn.button {
  margin: 0; }
  .locations__map-refine-btn.button:hover {
    color: #0071b9; }

.locations__map-refine-title {
  display: block;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 1.25rem;
  text-transform: uppercase; }

.locations__map-results {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  position: relative; }

.locations__map-result {
  background-color: #f5f5f5;
  font-size: 14px;
  line-height: 1.2;
  padding: 1.25rem 1.25rem 1.25rem 1.875rem;
  position: relative;
  transition: background-color 200ms; }
  .locations__map-result--active {
    background-color: #f9e0d2; }
  .locations__map-result:not(:first-child) {
    margin-top: 0.25rem; }

.locations__map-result-arrow {
  color: #0071b9;
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  @media screen and (min-width: 53.25em) {
    .locations__map-result-arrow {
      display: none; } }

.locations__map-result-address,
.locations__map-result-phone {
  font-style: normal;
  margin-bottom: 1em; }

.locations__map-result-links {
  list-style: none;
  margin: 0; }
  .locations__map-result-links li {
    display: inline-block; }
    .locations__map-result-links li:not(:last-child)::after {
      content: '|'; }

.locations__map-result-name {
  font-size: 16px;
  margin-bottom: .25em; }

.locations__map-results-list {
  list-style: none;
  margin: 0; }

.locations__map-results-count {
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 1.25rem; }

.locations__map-search {
  background-color: #f5f5f5;
  border-bottom-left-radius: 1.875rem;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.locations__map-search-fields {
  padding: 0 1.5625rem 1.5625rem; }

.locations__list-search-title,
.locations__map-search-title {
  color: #4dbeb5;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase; }

.locations__map-search-title {
  margin: 0; }
  .locations__map-search-title button {
    color: inherit;
    cursor: pointer;
    font-size: inherit;
    font-weight: inherit;
    padding: 1.5625rem;
    position: relative;
    text-align: left;
    text-transform: inherit;
    width: 100%; }
    .locations__map-search-title button i {
      color: #0071b9;
      font-size: 13px;
      position: absolute;
      right: 1.25rem;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }

.locations__map-window {
  height: 0;
  position: absolute;
  width: 0; }
  @media screen and (max-width: 39.9375em) {
    .locations__map-window {
      display: none; } }

.locations__map-window-close {
  cursor: pointer;
  position: absolute;
  right: 10px;
  top: 10px; }
  .locations__map-window-close i {
    color: #e36018;
    font-size: 18px;
    margin-right: 0; }

.locations__map-window-content {
  background: rgba(255, 255, 255, 0.9);
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.2;
  position: relative; }
  .locations__map-window-content .rtf {
    font-size: inherit; }
  .locations__gmap-overlay .locations__map-window-content {
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto; }
  .locations__gmap-render .locations__map-window-content {
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
    margin-top: -80px;
    -webkit-transform: translate(-50%, -100%);
        -ms-transform: translate(-50%, -100%);
            transform: translate(-50%, -100%);
    width: 400px; }
    .locations__gmap-render .locations__map-window-content::before {
      display: block;
      width: 0;
      height: 0;
      border: inset 42px;
      content: '';
      border-bottom-width: 0;
      border-top-style: solid;
      border-color: rgba(255, 255, 255, 0.9) transparent transparent;
      position: absolute;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      top: 100%; }

ul.locations__map-window-list {
  margin-left: 0;
  margin-top: .25rem; }
  ul.locations__map-window-list li {
    margin-bottom: 0;
    padding-left: 1.5rem;
    overflow: hidden; }

.locations__map-window-inner {
  padding: 5%; }

.locations__map-window-meta-address {
  font-style: normal; }

.locations__map-window-meta-hours {
  color: #50940f; }

.locations__map-window-meta-name {
  font-size: 1.1667em;
  font-weight: 600; }

.locations__map-window-content--lg {
  font-size: 14px; }
  .locations__map-window-content--lg .locations__map-window-desc {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .locations__map-window-content--lg .locations__map-window-inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .locations__map-window-content--lg .locations__map-window-list {
    -webkit-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 20px;
            column-gap: 20px;
    margin-bottom: 0; }
  .locations__map-window-content--lg .locations__map-window-meta {
    -webkit-flex: 0 0 175px;
        -ms-flex: 0 0 175px;
            flex: 0 0 175px;
    padding-right: 20px; }
  .locations__map-window-content--lg .locations__map-window-meta-hours-container {
    margin-top: 1rem; }

.locations__map-window-content--sm .locations__map-window-desc {
  margin-top: 1rem; }

.locations__map-window-content--sm .locations__map-window-hide-sm {
  display: none; }

.locations__map-window-content--sm .locations__map-window-meta {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.locations__map-window-content--sm .locations__map-window-meta-link,
.locations__map-window-content--sm .locations__map-window-meta-name {
  -webkit-flex: 1 0 100%;
      -ms-flex: 1 0 100%;
          flex: 1 0 100%; }

.locations__map-window-content--sm .locations__map-window-meta-address-hours {
  -webkit-flex: 0 1 40%;
      -ms-flex: 0 1 40%;
          flex: 0 1 40%; }

.locations__map-window-content--sm .locations__map-window-meta-address-phone {
  -webkit-flex: 0 1 60%;
      -ms-flex: 0 1 60%;
          flex: 0 1 60%;
  padding-right: 15px; }

@media screen and (max-width: 53.1875em) {
  .locations__map-search--collapsed .locations__map-search-fields {
    display: none; }
  .locations__map-view {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .locations__sidebar {
    margin-bottom: 1.5625rem; } }

@media screen and (min-width: 53.25em) {
  .locations__map {
    margin-left: 4.375rem; }
  .locations__map-results-count,
  .locations__list-search-title,
  .locations__map-search-title {
    font-size: 22px; }
  .locations__map-results-list {
    bottom: 0;
    left: 0;
    overflow-y: auto;
    position: absolute;
    right: 0;
    top: 0; }
  .locations__map-search-title i {
    display: none; }
  .locations__sidebar {
    -webkit-flex: 0 0 18.75rem;
        -ms-flex: 0 0 18.75rem;
            flex: 0 0 18.75rem; } }

.mailing-list__icon {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #e36018;
  border-radius: 50%;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  height: 3.75rem;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.2;
  margin-right: 1.5rem;
  text-align: center;
  text-transform: uppercase;
  width: 3.75rem; }

.menu a:hover {
  transition: color 0.3s; }

.microsite-info {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #cecece;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 77px;
  overflow: hidden;
  position: relative; }

.microsite-info__body {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%; }

.microsite-info__heading h3 {
  color: #242424;
  font-size: 1.625rem; }

.microsite-info__subheading {
  color: #4dbeb5;
  font-weight: 600;
  margin-top: 4px; }

.microsite-info__divider {
  color: #cecece;
  font-size: 2.25rem;
  margin: 0 8px; }

/* YAPL
name: More Section
partial: more-section
selector: .more-section
*/
/* YAPL
name: More Section - Microsite
partial: more-section-microsite
selector: .more-section.more-section--microsite
*/
.more-section__block {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #0071b9;
  border: 2px solid #0071b9;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 8px;
  margin-top: 0;
  padding: 1rem;
  transition: background-color 0.3s, border 0.3s; }
  .more-section__block:hover {
    background-color: #fefefe;
    border: 2px solid #e36018; }
    .more-section__block:hover a {
      color: #e36018; }
      .more-section__block:hover a .icon {
        color: #e36018; }
  .more-section__block a {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fefefe;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.9375rem;
    font-weight: 600;
    padding-right: 30px;
    width: 100%; }
  .more-section__block .icon {
    color: #fefefe;
    margin-left: auto;
    margin-right: 0;
    position: relative;
    right: -30px;
    top: 2px; }
  .more-section--microsite .more-section__block {
    border-radius: 32px;
    min-height: 64px; }

@media screen and (min-width: 53.25em) {
  .order-1-medium {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; } }

@media screen and (min-width: 53.25em) {
  .order-2-medium {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; } }

/* YAPL
name: Padded Box
notes: 1rem padding around content
partial: sg-padded-box
selector: .padded-box-1
*/
/* YAPL
name: Padded Box 1.5
notes: 1.5rem padding around content
partial: sg-padded-box-1-5
selector: .padded-box-1-5
*/
/* YAPL
name: Padded Box 2
notes: 2rem padding around content
partial: sg-padded-box-2
selector: .padded-box-2
*/
.padded-box-1 {
  padding: 1rem; }

.padded-box-1-5 {
  padding: 1.5rem; }

.padded-box-2 {
  padding: 2rem; }
  @media screen and (max-width: 53.1875em) {
    .padded-box-2 {
      padding: 1.5rem; } }

/* YAPL
name: Pagination
partial: pagination
selector: .pagination
*/
.pagination {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 2rem auto; }
  .pagination a {
    border: 2px solid #bebebe;
    color: #242424;
    font-size: 14px;
    font-weight: 600;
    height: 36px;
    line-height: 32px;
    margin-right: 6px;
    padding: 0 .625rem;
    text-align: center;
    transition: background-color 0.3s, color 0.3s, border 0.3s;
    width: 36px; }
    @media screen and (max-width: 39.9375em) {
      .pagination a {
        font-size: 13px;
        height: 30px;
        line-height: 26px;
        margin-right: 4px;
        padding: 0 .5rem;
        width: 30px; } }
    .pagination a.active, .pagination a:hover {
      background-color: #e36018;
      border: 2px solid #e36018;
      color: #fefefe; }
    .pagination a.inactive {
      color: #bebebe;
      pointer-events: none; }
    .pagination a.pagination--width-auto {
      width: auto; }
  .pagination .pagination-ellipsis {
    margin-right: 6px;
    margin-top: 4px;
    text-align: center;
    width: 36px; }
    @media screen and (max-width: 39.9375em) {
      .pagination .pagination-ellipsis {
        display: none; } }

/* YAPL
name: Portlet
partial: sg-portlet
selector: .portlet
*/
/* YAPL
name: Portlet Rounded Corner
partial: sg-portlet-rounded
selector: .portlet.rounded-corner
*/
/* YAPL
name: Portlet with Image
partial: sg-portlet-image
selector: .portlet.portlet__image
*/
.portlet {
  box-shadow: 0 0 1.25rem rgba(10, 10, 10, 0.2); }
  @media screen and (min-width: 40em) and (max-width: 53.1875em) {
    .portlet {
      border-bottom-left-radius: 30px; } }
  @media screen and (max-width: 39.9375em) {
    .portlet {
      border-bottom-left-radius: 60px;
      border-top: 8px solid #4dbeb5; } }
  .portlet.portlet--no-shadow {
    box-shadow: 0 0 0 0; }
  .portlet.portlet--no-rounded {
    border-bottom-left-radius: 0 !important; }

.portlet__image {
  border-bottom-left-radius: 60px;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 39.9375em) {
    .portlet__image {
      border-bottom-left-radius: 0; } }
  @media screen and (min-width: 40em) and (max-width: 53.1875em) {
    .portlet__image {
      border-bottom-left-radius: 30px;
      width: 33.3333% !important; } }
  .portlet__image img {
    display: block;
    min-height: 100%;
    min-width: 100%; }
    @media screen and (min-width: 40em) {
      .portlet__image img {
        max-width: initial;
        object-fit: cover; } }

.portlet__title {
  font-size: 1.875rem;
  font-weight: 700; }
  @media screen and (max-width: 53.1875em) {
    .portlet__title {
      font-size: 1.625rem; } }

.portlet__text {
  padding: 1rem 2rem; }
  @media screen and (min-width: 53.25em) {
    .portlet__text {
      border-top: 8px solid #4dbeb5; } }
  @media screen and (min-width: 40em) and (max-width: 53.1875em) {
    .portlet__text {
      width: 66.6666% !important; } }
  @media screen and (max-width: 53.1875em) {
    .portlet__text {
      border-top: 0; } }

/* YAPL
name: Quote
partial: sg-quote
selector: .quote
*/
/* YAPL
name: Quote with Image
partial: sg-quote-image
selector: .quote__image-container
*/
.quote {
  padding: 0 80px; }
  @media screen and (max-width: 53.1875em) {
    .quote {
      margin-top: 2rem;
      padding: 0 1rem; } }

.quote__text {
  font-size: 1.5rem;
  line-height: 2.5rem;
  text-shadow: 1px 1px 10px rgba(10, 10, 10, 0.2); }
  @media screen and (max-width: 53.1875em) {
    .quote__text {
      font-size: 1.3125rem;
      text-shadow: 0 0 0; } }

.quote__author {
  color: #e36018;
  font-size: 0.9375rem;
  font-style: italic;
  font-weight: 600;
  padding-left: 156px;
  position: relative; }
  .quote__author::before {
    background-color: #e36018;
    content: '';
    display: inline-block;
    height: 8px;
    left: 0;
    position: absolute;
    top: 9px;
    width: 142px; }

.quote__more {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #2d2c2c;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  transition: color 0.3s; }
  .quote__more .icon {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #e36018;
    border-radius: 13px;
    color: #fefefe;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    height: 26px;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 8px;
    width: 26px; }
  .quote__more:hover {
    color: #e36018; }

.quote__image-container {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 8px solid #cabc9d;
  border-radius: 50%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: auto;
  margin-right: 0;
  max-height: 200px;
  max-width: 200px;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 53.1875em) {
    .quote__image-container {
      margin-right: auto; } }

.quote__image {
  border-radius: 50%; }

.reveal.full {
  background-color: rgba(10, 10, 10, 0.8); }

.reveal iframe {
  left: 50%;
  margin: auto;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.reveal .close-button {
  background-color: rgba(10, 10, 10, 0.5);
  border-radius: 28px;
  color: #e36018;
  font-size: 44px;
  height: 56px;
  right: 20px;
  top: 40px;
  width: 56px; }

.rounded-box {
  height: 100%; }
  .rounded-box.rounded-box__shadow {
    border-bottom-left-radius: 60px;
    box-shadow: 0 0 0.625rem rgba(10, 10, 10, 0.2); }

.rounded-box__heading {
  background-color: #0071b9;
  height: 173px;
  padding: 2rem;
  text-align: center; }
  .rounded-box--green .rounded-box__heading {
    background-color: #4dbeb5; }
  @media screen and (max-width: 53.1875em) {
    .rounded-box__heading {
      height: auto;
      padding: 3rem; } }
  .rounded-box--microsite .rounded-box__heading {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fefefe;
    border-bottom: 1px solid #cecece;
    border-top: 8px solid #0071b9;
    color: #0071b9;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 77px;
    padding: 1rem 2rem;
    text-align: left; }
  .rounded-box--microsite__green-blue .rounded-box__heading {
    border-top: 8px solid #4dbeb5; }

.rounded-box__body {
  background: #fefefe;
  border-bottom-left-radius: 60px;
  height: calc(100% - 173px);
  padding: 2rem; }
  @media screen and (max-width: 53.1875em) {
    .rounded-box__body {
      padding: 2rem 2rem; } }
  .rounded-box__body.rounded-box__shadow {
    box-shadow: 0 0 0.625rem rgba(10, 10, 10, 0.2); }
  .rounded-box--microsite .rounded-box__body {
    padding-top: 0; }

.rounded-box__body-title {
  font-size: 1.375rem;
  font-weight: 600;
  text-transform: uppercase; }
  @media screen and (max-width: 53.1875em) {
    .rounded-box__body-title {
      font-size: 1.1875rem; } }

.rounded-box__title {
  color: #fefefe;
  font-size: 1.75rem;
  font-weight: 700;
  text-transform: uppercase; }
  @media screen and (max-width: 53.1875em) {
    .rounded-box__title {
      font-size: 1.5rem; } }
  .rounded-box--microsite .rounded-box__title {
    font-size: 1.5rem; }

.rounded-corner {
  border-bottom-left-radius: 60px; }

.rounded-corner--small {
  border-bottom-left-radius: 30px; }

.rounded-corner--top-right {
  border-top-right-radius: 60px; }
  @media screen and (max-width: 63.9375em) {
    .rounded-corner--top-right {
      border-top-right-radius: 0; } }

.rtf img {
  margin-right: 2rem; }

.search__toggle {
  background-color: #e1e1e1;
  border-radius: 40px;
  display: block;
  height: 40px;
  position: relative;
  transition: background-color 0.3s, color 0.3s;
  width: 40px; }
  @media screen and (min-width: 64em) {
    .search__toggle:hover {
      background-color: #e36018; }
      .search__toggle:hover .icon {
        color: #fefefe; } }
  .search__toggle .icon {
    font-size: 1.15em;
    left: 11px;
    position: absolute;
    top: 8px; }
  .search__toggle.is-close {
    background-color: #fefefe; }
    .search__toggle.is-close .icon::before {
      content: 's' !important; }
  .search__toggle.search--sublocation {
    background-color: #0071b9;
    color: #fefefe !important; }
    .search__toggle.search--sublocation:hover {
      background-color: #e36018; }
  .search__toggle.search__toggle--orange {
    background-color: #e36018;
    color: #fefefe !important; }
    .search__toggle.search__toggle--orange:hover {
      background-color: #0071b9; }

.search.search--main {
  background-color: #fefefe;
  border-top: 10px solid #0f2c52;
  display: none;
  height: 0;
  left: 0;
  position: absolute;
  top: 0;
  transition: height 0.3s;
  width: 100%;
  z-index: 4; }
  .search.search--main .close-button {
    font-size: 70px;
    position: absolute;
    right: 0;
    top: 30px; }
    .search.search--main .close-button:hover {
      color: #e36018; }
  .search.search--main.is-expanded {
    display: block;
    height: 146px;
    top: 0; }
  .header--microsite .search.search--main {
    border-top: 0; }

.search.search--mobile {
  background-color: #fefefe;
  display: none;
  position: absolute;
  top: 70px;
  width: 100%; }
  .search.search--mobile.is-expanded {
    display: block;
    left: 0; }

.search__input-group {
  position: relative;
  width: 100%; }
  .header-main .search__input-group {
    width: 90%; }
  .search__input-group label {
    width: 100%; }
  .search__input-group .search__input {
    background-color: #fefefe;
    border: 1px solid #b7b7b7;
    border-radius: 10px;
    height: 64px;
    padding: 1rem 1.5rem; }
    .search__input-group .search__input:focus {
      border: 1px solid #b7b7b7;
      box-shadow: 0 0 0 0; }
    .header-main .search__input-group .search__input {
      height: 71px;
      position: relative;
      top: 30px; }
    .search--mobile .search__input-group .search__input {
      height: 57px;
      left: 5%;
      top: 0;
      width: 90%; }
  .search__input-group .search__button {
    background-color: #e1e1e1;
    border: 0;
    border-radius: 20px;
    color: #e36018;
    height: 40px;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 12px;
    width: 40px; }
    .search__input-group .search__button:focus, .search__input-group .search__button:hover {
      background-color: #e36018;
      color: #fefefe; }
    .header-main .search__input-group .search__button {
      top: 8px; }
    .search--mobile .search__input-group .search__button {
      right: -8px;
      top: 4px; }
    .search__input-group .search__button .icon--search {
      font-size: 1em;
      position: relative;
      right: -3px;
      top: 0; }
      .search__input-group .search__button .icon--search::before {
        font-size: 1.15em; }

.search--main .input-group-button {
  position: absolute;
  right: 10%;
  top: 40px; }

.search--mobile .input-group-button {
  right: 0;
  top: 5px; }

.separator--green::after {
  border: 3px solid #4dbeb5; }

.separator-center::after {
  transition: width 2s;
  width: 0; }

.separator-center.is-animating::after,
.is-animating .separator-center::after {
  width: 3rem; }

@media screen and (max-width: 53.1875em) {
  .separator-center::after {
    margin-top: .5rem;
    width: 3rem; } }

/* YAPL
name: Table
notes: wrapping div with table-scroll allows horizontal scroll at small media queries
partial: sg-table
selector: .table.table--horizontal
*/
table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  table thead,
  table tbody,
  table tfoot {
    border: 0;
    background-color: #fefefe; }
  table caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700; }
  table thead {
    background: #c6a16d;
    color: #fefefe; }
  table tfoot {
    background: #f1f1f1;
    color: #2d2c2c; }
  table thead tr,
  table tfoot tr {
    background: transparent; }
  table thead th,
  table thead td,
  table tfoot th,
  table tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700;
    text-align: left; }
  table tbody th,
  table tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  table tbody tr:nth-child(even) {
    border-bottom: 0;
    /*background-color: #f1f1f1; }*/
	background-color: #fff; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 0;
      background-color: #fefefe; }

@media screen and (max-width: 63.9375em) {
  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: #c39c66; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.table-scroll {
  width: 100.5%; }
  .table-scroll table {
    margin-bottom: 0;
    min-width: 99.5%; }

.table {
  width: 100%; }
  .table ul {
    margin-left: 0; }
    .table ul li {
      margin-bottom: 0;
      padding-left: 0; }
      .table ul li::before {
        display: none; }
  .table tr th {
    height: 54px; }
  .table tr td {
    color: #2d2c2c;
    font-size: 14px; }
    .table tr td:first-child {
      font-weight: 700; }
  .table thead tr th {
    background-color: #c6a06c;
    font-size: 14px;
    text-transform: uppercase; }
    .table thead tr th:first-child {
      background-color: #b98e5a; }
  .table tbody tr:nth-child(even) td {
    background-color: #fff; }
    .table tbody tr:nth-child(even) td:first-child {
      background-color: #f4f4f4; }
  .table tbody tr:nth-child(odd) {
    background-color: #f4f4f4; }
    .table tbody tr:nth-child(odd) td {
      background-color: #f4f4f4; }
      .table tbody tr:nth-child(odd) td:first-child {
        background-color: #e9e9e9; }

/* YAPL
name: Tabs Horizontal
partial: sg-tabs-horizontal
selector: .basic-tabs.tabs
*/
/* YAPL
name: Tabs Vertical
partial: sg-tabs-vertical
selector: .basic-tabs.tabs.tabs--vertical
*/
.basic-tabs {
  border: 0; }
  .basic-tabs .tabs-content,
  .basic-tabs .tabs-title {
    box-shadow: 0 0 1.25rem rgba(10, 10, 10, 0.2); }
  .basic-tabs .tabs-title {
    margin-right: 0.625rem; }
    .basic-tabs .tabs-title a {
      background-color: #fefefe;
      box-shadow: inset 0 10px 0 0 #1779ba;
      font-weight: 600;
      height: 3.75rem;
      text-align: center;
      text-transform: uppercase; }
      @media screen and (min-width: 40em) {
        .basic-tabs .tabs-title a {
          font-size: 1.125rem;
          min-width: 9.625rem; } }
      @media screen and (max-width: 39.9375em) {
        .basic-tabs .tabs-title a {
          font-size: 0.8125rem;
          padding-left: .5rem;
          padding-right: .5rem; } }
    .basic-tabs .tabs-title.is-active a {
      box-shadow: inset 0 10px 0 0 #0f2c52;
      position: relative;
      z-index: 1; }
      .basic-tabs .tabs-title.is-active a::after {
        background-color: #fefefe;
        content: '';
        height: 10px;
        left: 0;
        position: absolute;
        right: 0;
        top: 100%; }
  .basic-tabs .tabs-content {
    position: relative; }
  .basic-tabs.tabs--contact-form .tabs-title a {
    text-transform: capitalize; }
  .basic-tabs.tabs--contact-form .tabs-panel {
    padding: 1rem 2rem 2rem; }
    @media print, screen and (min-width: 53.25em) {
      .basic-tabs.tabs--contact-form .tabs-panel {
        padding: 1rem 2.5rem 2.5rem; } }
  .basic-tabs.tabs--vertical .tabs-content {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    min-height: 400px; }
  .basic-tabs.tabs--vertical .tabs-title {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    border-left: 0.625rem solid #0071b9;
    box-shadow: 0 0 1.25rem rgba(10, 10, 10, 0.2);
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    min-height: 76px;
    transition: border-left-color .25s;
    width: 100%; }
    .basic-tabs.tabs--vertical .tabs-title.is-active, .basic-tabs.tabs--vertical .tabs-title:hover, .basic-tabs.tabs--vertical .tabs-title:focus {
      border-left-color: #0f2c52; }
      .basic-tabs.tabs--vertical .tabs-title.is-active > a, .basic-tabs.tabs--vertical .tabs-title:hover > a, .basic-tabs.tabs--vertical .tabs-title:focus > a {
        color: #0f2c52; }
    .basic-tabs.tabs--vertical .tabs-title.is-active {
      box-shadow: 0 0 1.25rem rgba(10, 10, 10, 0.2);
      width: calc(100% + 1px); }
    .basic-tabs.tabs--vertical .tabs-title > a {
      border-top: 0;
      box-shadow: 0 0 0 0;
      color: #0071b9;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      font-size: 1rem;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      min-height: 76px;
      padding: 1rem;
      text-align: left;
      text-transform: capitalize;
      width: 100%; }
      .basic-tabs.tabs--vertical .tabs-title > a::after {
        content: '';
        height: 0;
        left: 0;
        position: absolute;
        right: 0;
        top: 100%; }

.tile {
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 53.1875em) {
    .tile {
      margin-left: auto;
      margin-right: auto;
      max-width: 400px; }
      .tile.cell {
        margin-left: auto;
        margin-right: auto; } }
  .tile:hover .tile__image {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }
  .tile:hover .tile__text {
    color: #e36018; }
    .tile:hover .tile__text .icon--arrow-right {
      color: #505050; }
  .tile.tile--shadow {
    box-shadow: 0 0 0.625rem rgba(10, 10, 10, 0.25); }

.tile--max-width {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 300px; }

.tile__header {
  color: #404040;
  font-size: 2.25rem; }
  @media screen and (max-width: 53.1875em) {
    .tile__header {
      font-size: 1.75rem;
      text-align: center; } }

.tile__image {
  overflow: hidden;
  position: relative;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s; }

.tile__tag {
  background-color: rgba(0, 0, 0, 0.2);
  border: 1px solid #fefefe;
  color: #fefefe;
  font-size: 0.75rem;
  font-weight: 600;
  left: 18px;
  padding: 0.25rem 0.5rem;
  position: absolute;
  text-transform: uppercase;
  top: 20px;
  z-index: 9; }
  .tile__tag.tile__tag--blue {
    background-color: rgba(0, 113, 185, 0.9); }
  .tile__tag.tile__tag--orange {
    background-color: rgba(227, 96, 24, 0.9); }
  .tile__tag.tile__tag--green {
    background-color: rgba(77, 190, 181, 0.9); }
  .tile__tag.tile__tag--brown {
    background-color: rgba(151, 111, 63, 0.9); }

.tile__text {
  background-color: #fefefe;
  color: #2d2c2c;
  font-weight: 600;
  padding: 44px 2rem 10px;
  position: relative;
  text-align: center;
  transition: color 0.3s; }
  .tile__text .icon--arrow-right {
    transition: color 0.3s; }
  .tile__text.tile__text--equal-padding {
    font-weight: 300;
    padding: 1.5rem;
    text-align: left; }
  .tile__text h4 {
    color: #e36018;
    font-size: 1.25rem;
    font-weight: 700; }
  .tile__text p {
    font-size: 0.875rem; }

.tile__text-link {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase; }
  .tile__text-link .icon {
    margin-right: 0.5rem; }

.tile__icon {
  color: #fefefe;
  left: calc(50% - 28px);
  position: absolute;
  top: -28px;
  z-index: 1; }
  .tile__icon::before {
    left: 15px;
    position: absolute;
    top: 15px; }
  .tile__icon.icon--patient-story::before, .tile__icon.icon--treatment::before {
    left: 16px; }
  .tile__icon.icon--treatment::before {
    top: 16px; }

.tile__list {
  margin: 1rem 0; }
  .tile__list > a {
    border-bottom: 1px solid #b7b7b7;
    display: block;
    padding: 0.75rem 0; }
    .tile__list > a:last-child {
      border-bottom: 0; }
  .tile__list.tile__list--semibold > a {
    font-weight: 600; }
  .tile__list.tile__list--border-bottom > a:last-child {
    border-bottom: 1px solid #b7b7b7; }

.awesomplete {
  display: block; }

/* YAPL
name: Upcoming Events
partial: hp-upcoming-events
selector: .upcoming-events
*/
/* YAPL
name: Upcoming Events Microsite
partial: sg-upcoming-events-microsite
selector: .upcoming-events.upcoming-events--microsite
*/
.upcoming-events {
  margin-left: 0; }
  .upcoming-events li {
    margin-top: 2rem; }
    .upcoming-events li:first-child {
      margin-top: 0; }
  .upcoming-events .upcoming-events__item {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .upcoming-events .upcoming-events__item:hover {
      color: #e36018; }
      .upcoming-events .upcoming-events__item:hover .upcoming-events__date {
        background-color: #e36018; }
  .upcoming-events .upcoming-events__item-detail {
    display: block;
    /*font-size: 1.25rem;*/
    /*line-height: 1.3;*/
	font-size: 1.15rem;
    line-height: 1.0;
    transition: color 0.3s; }
    .upcoming-events .upcoming-events__item-detail span {
      color: #2d2c2c;
      display: block;
      font-size: 0.9375rem;
      line-height: 1.6; }
    @media screen and (max-width: 63.9375em) {
      .upcoming-events .upcoming-events__item-detail {
        font-size: 1.125rem; }
        .upcoming-events .upcoming-events__item-detail span {
          font-size: 0.8125rem; } }
  .upcoming-events .upcoming-events__date {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #c6a16d;
    border-radius: 50%;
    color: #fefefe;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    font-family: "Roboto", Helvetica, Arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    height: 78px;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    line-height: 1.8;
    margin-right: 1rem;
    text-transform: uppercase;
    transition: background-color 0.3s;
    width: 78px; }
    .upcoming-events .upcoming-events__date span {
      display: block;
      font-size: 1.4375rem; }
  .upcoming-events.upcoming-events--microsite li {
    border-bottom: 1px dashed #cecece;
    margin-top: 1.5rem; }
    .upcoming-events.upcoming-events--microsite li:last-child {
      border-bottom: 0; }
  .upcoming-events.upcoming-events--microsite .upcoming-events__item {
    padding-bottom: 1.5rem; }
  .upcoming-events.upcoming-events--microsite .upcoming-events__date {
    background-color: #e36018;
    font-size: 1rem;
    height: 63px;
    width: 63px; }
    .upcoming-events.upcoming-events--microsite .upcoming-events__date span {
      font-size: 1rem; }
  .upcoming-events.upcoming-events--microsite .upcoming-events__item-detail {
    font-size: 1.125rem; }

.updates {
  position: fixed;
  right: -55px;
  top: 248px;
  z-index: 12; }
  @media screen and (max-width: 63.9375em) {
    .updates {
      display: none; } }

.updates__button {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #e36018;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  height: 52px;
  padding: 10px;
  text-transform: uppercase;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  transition: background-color 0.3s;
  width: 162px; }
  .updates__button .icon {
    background-color: #fefefe;
    border-radius: 13px;
    color: #c6a16d;
    height: 26px;
    pointer-events: none;
    position: relative;
    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
    transition: background-color 0.3s;
    width: 26px; }
    .updates__button .icon::before {
      left: 6px;
      position: absolute;
      top: 6px; }
  .updates__button:hover, .updates__button:focus {
    background-color: #ed7821;
    color: #fefefe!important; }

.updates__button-text {
  margin-left: 6px; }

.updates__form {
  background-color: #0071b9;
  border-bottom-left-radius: 40px;
  border-top-left-radius: 40px;
  color: #fefefe;
  display: none;
  padding: 2rem;
  position: fixed;
  right: 0;
  top: 0;
  width: 707px;
  z-index: 11; }
  .updates__form.is-open {
    display: block; }
  @media (max-height: 600px) {
    .updates__form {
      border-bottom-left-radius: 0;
      border-top-left-radius: 0;
      height: 100vh;
      overflow-y: auto; } }
  .updates__form .close-button {
    background-color: #fefefe;
    border-radius: 16px;
    color: #e36018;
    height: 32px;
    width: 32px; }

.updates__body * {
  color: white; }

.updates__body h3 {
  font-size: 1.5625rem; }

.updates__body h4 {
  font-size: 1.125rem; }

.updates__checkbox {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 4px; }
  .updates__checkbox label {
    font-weight: 600;
    margin-top: -5px; }

.updates__input-wrap {
  position: relative; }
  .updates__input-wrap input:focus + label {
    display: none; }
  .updates__input-wrap input:valid + label {
    display: none; }
  .updates__input-wrap label {
    color: #656565;
    font-weight: 500;
    left: 12px;
    position: absolute;
    top: 10px;
    z-index: 1; }
    .updates__input-wrap label span {
      color: #e36018; }

.updates__input {
  border: 1px solid #b7b7b7;
  border-radius: 8px;
  color: #656565;
  height: 46px; }

.updates__legal {
  font-size: 13px; }

.sg-block__list {
  list-style-type: none;
  margin-left: 0; }
  .sg-block__list > li h3 {
    font-size: 1.25rem; }
  .sg-block__list > li h4 {
    font-size: 1rem; }
  .sg-block__list .sg-block__module-list {
    margin-left: 0; }

.sg-header__left img {
  width: 300px; }

@media print {
  .show-for-print {
    display: block !important;
    height: auto;
    position: relative; }
  .hide-for-print {
    display: none !important; }
  a {
    text-decoration: none !important; }
    a [href]::after {
      content: ''; }
  .accordion__arrow,
  .accordion__button,
  .accordion--search,
  .alphabet-list,
  .button,
  .button__container,
  .chat,
  .cta,
  .diagonals,
  .doc-profile__refine-col,
  .filter,
  .follow,
  .follow__facebook,
  .follow__icons,
  .footer-main__logo,
  .footer__social,
  .footer__utility,
  .future,
  .header__back-link,
  .hero__image,
  .hero-nav__section-container,
  .hp-portlets,
  .infographic,
  .infographic__stat-container--tabs,
  .more-section,
  .more-section__block,
  .nav-main,
  .nav__secondary,
  .nav-utility,
  .nav-breadcrumbs__mobile-toggle,
  .nav-breadcrumbs__submenu,
  .nav-breadcrumbs__icon,
  .nav-breadcrumbs__submenu.js-dropdown-active,
  .pagination,
  .portlet,
  .quote,
  .quote__image-container,
  .search__toggle,
  .social,
  .tile__header,
  .tile__header + div,
  .updates,
  .video,
  .view-more {
    display: none !important; }
  .white,
  .orange,
  .gray,
  .medium-brown,
  .red,
  .green-blue,
  .medium-blue {
    color: #000 !important; }
  .align-center {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .accordion-content {
    border: 0 !important;
    display: block !important;
    padding: 0; }
  .accordion-item {
    border-left: 0; }
  .accordion-title {
    border: 0 !important;
    padding-bottom: 1rem;
    padding-left: 0;
    padding-top: 0;
    text-decoration: none; }
    .accordion-title::before {
      content: '' !important; }
  .accordion--microsite .accordion-item.is-active {
    border-color: #000 !important; }
  .article__header {
    padding-bottom: 1rem;
    padding-left: 0;
    padding-top: 1rem; }
    .article__header > .row {
      margin-left: 0;
      margin-right: 0; }
    .article__header h1 {
      margin-top: 0; }
  .background-padding {
    padding: 0; }
  .breadcrumbs {
    margin: 0 auto;
    max-width: 75rem; }
  .border--green {
    border: 0; }
  .border-green-bottom {
    border-color: #000 !important; }
  .box {
    padding: 1rem 0 !important; }
  .box--padding {
    padding: 1rem 0 !important; }
  .box.box--margin-left {
    margin-left: 0 !important; }
  *[class*='background--'],
  *[class*='bordered-element--'] {
    background: none !important;
    background-color: #fefefe !important;
    border: 0; }
  .careers-info {
    display: block;
    padding: 0; }
  .careers-results table tr td:nth-child(1) {
    display: none; }
  .figure__caption {
    max-width: 400px !important;
    padding: 1rem 0; }
  .figure__image {
    border-bottom: 0;
    max-width: 400px !important; }
  .figure__video {
    display: none; }
  .figure.float-left,
  .figure--small,
  .figure.float-left.figure--offset {
    float: none;
    margin-bottom: 1rem;
    margin-left: 0;
    width: auto; }
  .figure.float-right {
    float: none;
    margin-bottom: 1rem;
    margin-left: 0;
    margin-right: 0; }
  .footer-main {
    margin-top: 3rem; }
  .footer-main__address {
    border-left: 0; }
  .footer-main__info {
    display: block;
    padding: 0;
    text-align: center; }
  .footer-main .contact {
    display: block;
    margin: 0 auto;
    position: relative;
    right: auto;
    top: auto; }
  .grid-margin-x > .cell {
    width: 100%; }
  .grid-margin-x.medium-up-2 > .cell {
    width: 100%; }
  .header-main__sticky {
    border: 0 !important;
    top: 0 !important; }
  .hero,
  .hero__wrap {
    height: auto !important;
    min-height: 0 !important; }
  .hero-directions {
    padding-left: 0;
    padding-right: 0;
    position: relative; }
  .hero__overlay {
    margin-top: 0; }
  .hero__textbox {
    padding-left: 0;
    padding-right: 0;
    width: auto; }
  .microsite-info {
    border-bottom: 0; }
  .rounded-box__heading {
    height: auto;
    margin-top: 2rem;
    text-align: left; }
  .rounded-box__heading,
  .rounded-box__body {
    border-color: #000 !important;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0; }
  .rtf h1,
  .rtf h2,
  .rtf h3,
  .rtf h4,
  .rtf h5,
  .rtf h6 {
    margin-top: 1rem; }
  .rtf ul {
    color: #000;
    list-style-type: circle !important;
    margin-left: 0; }
    .rtf ul li {
      list-style-type: disc !important; }
      .rtf ul li::before {
        content: ''; }
      .rtf ul li li::before {
        content: ''; }
  .rtf ol li::before {
    color: #000; }
  .tabs .cell {
    width: 100% !important; }
  .tabs-title {
    display: none !important; }
	
	/* Scroller */
	.scroller1 {
 	   	height: 50px;	
 		overflow: hidden;
 		position: relative;
}
.scroller1 h3 {
 font-size: 3em;
 color: limegreen;
 position: absolute;
 width: 100%;
 height: 100%;
 margin: 0;
 line-height: 50px;
 text-align: center;
 /* Starting position */
 -moz-transform:translateX(100%);
 -webkit-transform:translateX(100%);	
 transform:translateX(100%);
 /* Apply animation to this element */	
 -moz-animation: example1 15s linear infinite;
 -webkit-animation: example1 15s linear infinite;
 animation: example1 15s linear infinite;
}
/* Move it (define the animation) */
@-moz-keyframes example1 {
 0%   { -moz-transform: translateX(100%); }
 100% { -moz-transform: translateX(-100%); }
}
@-webkit-keyframes example1 {
 0%   { -webkit-transform: translateX(100%); }
 100% { -webkit-transform: translateX(-100%); }
}
@keyframes example1 {
 0%   { 
 -moz-transform: translateX(100%); /* Firefox bug fix */
 -webkit-transform: translateX(100%); /* Firefox bug fix */
 transform: translateX(100%); 		
 }
 100% { 
 -moz-transform: translateX(-100%); /* Firefox bug fix */
 -webkit-transform: translateX(-100%); /* Firefox bug fix */
 transform: translateX(-100%); 
 }
}
	
	/*End Scroller*/
	
	
	
  .tabs-panel {
    display: block !important;
    padding-left: 0;
    padding-right: 0; }
  *[class*='vertical-margin-'] {
    margin-top: 1rem !important; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9hd2Vzb21wbGV0ZS9hd2Vzb21wbGV0ZS5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdW5kZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NlcGFyYXRvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2l6aW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJfYmFzZS5zY3NzIiwiX3R5cG9ncmFwaHkuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiX2NvbG9ycy5zY3NzIiwiX2ljb25zLnNjc3MiLCJfdXRpbGl0eS5zY3NzIiwidXRpbC9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJjb21wb25lbnRzL2xheW91dC9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvbGF5b3V0L19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvbGF5b3V0L19ncmlkLnNjc3MiLCJjb21wb25lbnRzL2xheW91dC9faGVhZGVyLW1haW4uc2NzcyIsImNvbXBvbmVudHMvbGF5b3V0L19tYWluLnNjc3MiLCJjb21wb25lbnRzL2xheW91dC9fbmF2LW1haW4uc2NzcyIsImNvbXBvbmVudHMvbGF5b3V0L19uYXYtbW9iaWxlLnNjc3MiLCJjb21wb25lbnRzL2xheW91dC9fbmF2LXNlY29uZGFyeS5zY3NzIiwiY29tcG9uZW50cy9sYXlvdXQvX25hdi11dGlsaXR5LnNjc3MiLCJjb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImNvbXBvbmVudHMvX2FsaWduLnNjc3MiLCJjb21wb25lbnRzL19hbHBoYWJldC1saXN0LnNjc3MiLCJjb21wb25lbnRzL19hcnRpY2xlLnNjc3MiLCJjb21wb25lbnRzL19iYWNrZ3JvdW5kLnNjc3MiLCJjb21wb25lbnRzL19iYWNrLXRvLXRvcC5zY3NzIiwiY29tcG9uZW50cy9fYm9yZGVyLnNjc3MiLCJjb21wb25lbnRzL19ib3guc2NzcyIsImNvbXBvbmVudHMvX2NhcmVlcnMtaW5mby5zY3NzIiwiY29tcG9uZW50cy9fY2FyZWVycy1yZXN1bHRzLnNjc3MiLCJjb21wb25lbnRzL19jaGF0LnNjc3MiLCJjb21wb25lbnRzL19jb2xvcnMuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhY3Quc2NzcyIsImNvbXBvbmVudHMvX2Nzcy1jb2x1bW5zLnNjc3MiLCJjb21wb25lbnRzL19jdGEuc2NzcyIsImNvbXBvbmVudHMvX2RpYWdvbmFscy5zY3NzIiwiY29tcG9uZW50cy9fZGl2aWRlci5zY3NzIiwiY29tcG9uZW50cy9fZG9jLXByb2ZpbGUuc2NzcyIsImNvbXBvbmVudHMvX2VtYmVkLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlZC1zdG9yaWVzLnNjc3MiLCJjb21wb25lbnRzL19maWd1cmUuc2NzcyIsImNvbXBvbmVudHMvX2ZpbHRlci5zY3NzIiwiY29tcG9uZW50cy9fZm9sbG93LnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fZnV0dXJlLnNjc3MiLCJjb21wb25lbnRzL19oYW1idXJnZXIuc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLW5hdi5zY3NzIiwiY29tcG9uZW50cy9faG90LWpvYnMuc2NzcyIsImNvbXBvbmVudHMvX2hwLXBvcnRsZXRzLnNjc3MiLCJjb21wb25lbnRzL19pbmZvZ3JhcGhpYy5zY3NzIiwiY29tcG9uZW50cy9fbGluay5zY3NzIiwiY29tcG9uZW50cy9fbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fbG9jYXRpb25zLnNjc3MiLCJjb21wb25lbnRzL19tYWlsaW5nLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX21lbnUuc2NzcyIsImNvbXBvbmVudHMvX21pY3Jvc2l0ZS1pbmZvLnNjc3MiLCJjb21wb25lbnRzL19tb3JlLXNlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX29yZGVyLnNjc3MiLCJjb21wb25lbnRzL19wYWRkZWQtYm94LnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19wb3J0bGV0LnNjc3MiLCJjb21wb25lbnRzL19xdW90ZS5zY3NzIiwiY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCJjb21wb25lbnRzL19yb3VuZGVkLWJveC5zY3NzIiwiY29tcG9uZW50cy9fcm91bmRlZC1jb3JuZXIuc2NzcyIsImNvbXBvbmVudHMvX3J0Zi5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL19zZXBhcmF0b3Iuc2NzcyIsImNvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJjb21wb25lbnRzL190YWJzLnNjc3MiLCJjb21wb25lbnRzL190aWxlLnNjc3MiLCJjb21wb25lbnRzL190eXBlYWhlYWQuc2NzcyIsImNvbXBvbmVudHMvX3VwY29taW5nLWV2ZW50cy5zY3NzIiwiY29tcG9uZW50cy9fdXBkYXRlcy5zY3NzIiwiX3N0eWxlZ3VpZGUuc2NzcyIsIl9wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0dqQiw2RkFBWTtBQUNaLCtGQUFZO0FDSlo7RUFDSSxjQUFjLEVBQ2pCOztBQUVEO0VBQ0ksbUJBQW1CO0VBQ25CLHVCQUFVLEVBQ2I7O0FBRUQ7RUFDSSxzQkFBc0I7RUFDdEIsbUJBQW1CLEVBQ3RCOztBQUVEO0VBQ0ksZUFBZSxFQUNsQjs7QUFFRDtFQUNJLG1CQUFtQjtFQUNuQixRQUFRO0VBQ1IsV0FBVztFQUNYLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsaUJBQWlCLEVBQ3BCOztBQUVEO0VBQ0ksY0FBYyxFQUNqQjs7QUFFRDtFQUNDLG9CQUFvQjtFQUNwQixp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QkFBNEIsRUQ4SGpDLEVBQUE7RUEvQkQ7SUlwREUseUJBRHdDO0lIakN0QyxvQkFBNEI7SUFBNUIscUJBQTRCLEVENEY3QjtFUjhCQztJUXBDSjtNSXBERSw2QkFEd0M7TUhqQ3RDLHVCQUE0QjtNQUE1Qix3QkFBNEIsRURtR3pCLEVBQUE7RUFyQ0w7SUl6QkEsWUFBb0IsRUoyQnJCO0VBRUM7SUl6QkEsWUFBb0IsRUoyQnJCO0VBTUc7SUk3QkYsNkJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDhCQUQwRCxFSmdDekQ7RUFGQztJSTdCRix3QkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsOEJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDhCQUQwRCxFSmdDekQ7RUFGQztJSTdCRix3QkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsOEJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDhCQUQwRCxFSmdDekQ7RUFGQztJSTdCRix3QkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsOEJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDhCQUQwRCxFSmdDekQ7RUFGQztJSTdCRix5QkFEMEQsRUpnQ3pEO0VSOENDO0lRNURGO01JekJBLFlBQW9CLEVKMkJyQjtJQUVDO01JekJBLFlBQW9CLEVKMkJyQjtJQU1HO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw4QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsd0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDhCQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw4QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsd0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDhCQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw4QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsd0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDhCQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw4QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYseUJBRDBELEVKZ0N6RCxFQUFBO0VSOENDO0lRNURGO01JekJBLFlBQW9CLEVKMkJyQjtJQUVDO01JekJBLFlBQW9CLEVKMkJyQjtJQU1HO01JN0JGLGlDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RDtJQWREO01JekJBLFlBQW9CLEVKMkJyQjtJQUVDO01JekJBLFlBQW9CLEVKMkJyQjtJQU1HO01JN0JGLGlDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RCxFQUFBO0VSOENDO0lRNURGO01JekJBLFlBQW9CLEVKMkJyQjtJQUVDO01JekJBLFlBQW9CLEVKMkJyQjtJQU1HO01JN0JGLGlDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLGtDQUQwRCxFSmdDekQ7SUFGQztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsNkJBRDBELEVKZ0N6RCxFQUFBOztBQThDSDtFQ25JTSxzQkFBNEI7RUFBNUIscUJBQTRCLEVEd0kvQjtFUkxDO0lRQUo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRHdJL0IsRUFBQTs7QUFMSDtFQ25JTSxzQkFBNEI7RUFBNUIscUJBQTRCLEVEOEkvQjtFUlhDO0lRQUo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRDhJL0IsRUFBQTs7QUFYSDtFQ25JTSxzQkFBNEI7RUFBNUIscUJBQTRCLEVEbUovQjtFUmhCQztJUUFKO01DbklNLHlCQUE0QjtNQUE1Qix3QkFBNEIsRURtSi9CLEVBQUE7O0FLdEpDO0VEeURGLFlBRG9ELEVDdERyRDs7QUFGRztFRHlERixXQURvRCxFQ3REckQ7O0FBRkc7RUR5REYsaUJBRG9ELEVDdERyRDs7QUFGRztFRHlERixXQURvRCxFQ3REckQ7O0FBRkc7RUR5REYsV0FEb0QsRUN0RHJEOztBQUZHO0VEeURGLGlCQURvRCxFQ3REckQ7O0FBRkc7RUR5REYsaUJBRG9ELEVDdERyRDs7QUFGRztFRHlERixhQURvRCxFQ3REckQ7O0Fib0lHO0VhdElBO0lEeURGLFlBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLGlCQURvRCxFQ3REckQ7RUFGRztJRHlERixXQURvRCxFQ3REckQ7RUFGRztJRHlERixXQURvRCxFQ3REckQ7RUFGRztJRHlERixpQkFEb0QsRUN0RHJEO0VBRkc7SUR5REYsaUJBRG9ELEVDdERyRDtFQUZHO0lEeURGLGFBRG9ELEVDdERyRCxFQUFBOztBYm9JRztFYXRJQTtJRHlERixZQURvRCxFQ3REckQ7RUFGRztJRHlERixXQURvRCxFQ3REckQ7RUFGRztJRHlERixpQkFEb0QsRUN0RHJEO0VBRkc7SUR5REYsV0FEb0QsRUN0RHJEO0VBRkc7SUR5REYsV0FEb0QsRUN0RHJEO0VBRkc7SUR5REYsaUJBRG9ELEVDdERyRDtFQUZHO0lEeURGLGlCQURvRCxFQ3REckQ7RUFGRztJRHlERixhQURvRCxFQ3REckQsRUFBQTs7QWJvSUc7RWF0SUE7SUR5REYsWUFEb0QsRUN0RHJEO0VBRkc7SUR5REYsV0FEb0QsRUN0RHJEO0VBRkc7SUR5REYsaUJBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLGlCQURvRCxFQ3REckQ7RUFGRztJRHlERixpQkFEb0QsRUN0RHJEO0VBRkc7SUR5REYsYUFEb0QsRUN0RHJELEVBQUE7O0FBRkc7RUR5REYseUJBRDBELEVDdEQzRDs7QUFGRztFRHlERix3QkFEMEQsRUN0RDNEOztBQUZHO0VEeURGLDhCQUQwRCxFQ3REM0Q7O0FBRkc7RUR5REYsd0JBRDBELEVDdEQzRDs7QUFGRztFRHlERix3QkFEMEQsRUN0RDNEOztBQUZHO0VEeURGLDhCQUQwRCxFQ3REM0Q7O0FBRkc7RUR5REYsOEJBRDBELEVDdEQzRDs7QUFGRztFRHlERiwwQkFEMEQsRUN0RDNEOztBYm9JRztFYXRJQTtJRHlERix5QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsd0JBRDBELEVDdEQzRDtFQUZHO0lEeURGLDhCQUQwRCxFQ3REM0Q7RUFGRztJRHlERix3QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsd0JBRDBELEVDdEQzRDtFQUZHO0lEeURGLDhCQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw4QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsMEJBRDBELEVDdEQzRCxFQUFBOztBYm9JRztFYXRJQTtJRHlERix5QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsd0JBRDBELEVDdEQzRDtFQUZHO0lEeURGLDhCQUQwRCxFQ3REM0Q7RUFGRztJRHlERix3QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsd0JBRDBELEVDdEQzRDtFQUZHO0lEeURGLDhCQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw4QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsMEJBRDBELEVDdEQzRDtFQUZHO0lEeURGLDZCQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw0QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsa0NBRDBELEVDdEQzRDtFQUZHO0lEeURGLDRCQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw0QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsa0NBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw4QkFEMEQsRUN0RDNELEVBQUE7O0Fib0lHO0VhdElBO0lEeURGLDZCQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw0QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsa0NBRDBELEVDdEQzRDtFQUZHO0lEeURGLDRCQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw0QkFEMEQsRUN0RDNEO0VBRkc7SUR5REYsa0NBRDBELEVDdEQzRDtFQUZHO0lEeURGLGtDQUQwRCxFQ3REM0Q7RUFGRztJRHlERiw4QkFEMEQsRUN0RDNELEVBQUE7O0FMZ01HO0VNdk1FLGdCQUEyQjtFQUEzQixlQUEyQixFTnlNNUI7RU10TUM7SUFFRSxnQkFBMkI7SUFBM0IsZUFBMkIsRUFFOUI7RUFvQk87SUZtQ1YsZ0JBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixZQURvRCxFRWhDM0M7RWQ4R1A7SWNoSFE7TUZtQ1YsZ0JBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixXQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFdBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsV0FEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixZQURvRCxFRWhDM0MsRUFBQTtFZDhHUDtJY2hIUTtNRm1DVixnQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFdBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsV0FEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixXQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFlBRG9ELEVFaEMzQyxFQUFBO0VkOEdQO0ljaEhRO01GbUNWLGdCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsV0FEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixXQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFdBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsWUFEb0QsRUVoQzNDLEVBQUE7O0FOZ0xQO0VNdEtFLGdCQUEyQjtFQUEzQixlQUEyQixFTndLNUI7RU1yS0M7SUFFRSxpQkFBNkI7SUFBN0IsZ0JBQTZCLEVBRWhDOztBZDZGRDtFUTREQTtJTXZNRSxnQkFBMkI7SUFBM0IsZUFBMkIsRU55TTVCO0lNdE1DO01BRUUsZ0JBQTJCO01BQTNCLGVBQTJCLEVBRTlCLEVBQUE7O0Fkb0lEO0VjekhRO0lGNENWLGdCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsWUFEb0QsRUV6QzNDLEVBQUE7O0FkdUhQO0VjaEhRO0lGbUNWLGdCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsWUFEb0QsRUVoQzNDLEVBQUE7O0FkOEdQO0VjaEhRO0lGbUNWLGdCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsWUFEb0QsRUVoQzNDLEVBQUE7O0FkOEdQO0VjaEhRO0lGbUNWLGdCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsWUFEb0QsRUVoQzNDLEVBQUE7O0FkOEdQO0VRa0VBO0lNdEtFLGdCQUEyQjtJQUEzQixlQUEyQixFTndLNUI7SU1yS0M7TUFFRSxpQkFBNkI7TUFBN0IsZ0JBQTZCLEVBRWhDLEVBQUE7O0FkNkZEO0VRNERBO0lNdk1FLGdCQUEyQjtJQUEzQixlQUEyQixFTnlNNUI7SU10TUM7TUFFRSxnQkFBMkI7TUFBM0IsZUFBMkIsRUFFOUIsRUFBQTs7QWRvSUQ7RWN6SFE7SUY0Q1YsZ0JBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixZQURvRCxFRXpDM0MsRUFBQTs7QWR1SFA7RWN6SFE7SUY0Q1YsZ0JBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixZQURvRCxFRXpDM0MsRUFBQTs7QWR1SFA7RWNoSFE7SUZtQ1YsZ0JBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixZQURvRCxFRWhDM0MsRUFBQTs7QWQ4R1A7RWNoSFE7SUZtQ1YsZ0JBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixZQURvRCxFRWhDM0MsRUFBQTs7QWQ4R1A7RVFrRUE7SU10S0UsZ0JBQTJCO0lBQTNCLGVBQTJCLEVOd0s1QjtJTXJLQztNQUVFLGlCQUE2QjtNQUE3QixnQkFBNkIsRUFFaEMsRUFBQTs7QWQ2RkQ7RVE0REE7SU12TUUsZ0JBQTJCO0lBQTNCLGVBQTJCLEVOeU01QjtJTXRNQztNQUVFLGdCQUEyQjtNQUEzQixlQUEyQixFQUU5QixFQUFBOztBZG9JRDtFY3pIUTtJRjRDVixnQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY3pIUTtJRjRDVixnQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY3pIUTtJRjRDVixnQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY2hIUTtJRm1DVixnQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFlBRG9ELEVFaEMzQyxFQUFBOztBZDhHUDtFUWtFQTtJTXRLRSxnQkFBMkI7SUFBM0IsZUFBMkIsRU53SzVCO0lNcktDO01BRUUsaUJBQTZCO01BQTdCLGdCQUE2QixFQUVoQyxFQUFBOztBTjZLRDtFTzFORixnQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLCtCQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsc0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixxQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsc0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixzQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsc0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixzQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsc0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixzQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsc0NBQTZCLEVQZ08xQjs7QVJ0RkQ7RVFnRkE7SU8xTkYsZ0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLCtCQUE2QixFUGdPMUI7RUFORDtJTzFORixzQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYscUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORixzQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsc0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORixzQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsc0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORixzQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsc0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORixzQ0FBNkIsRVBnTzFCLEVBQUE7O0FSdEZEO0VRZ0ZBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsc0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHdDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQixFQUFBOztBUnRGRDtFUWdGQTtJTzFORixnQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHNCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZC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QXJDTDtJSXpCQSxhQUFvQixFSjJCckI7RUFFQztJSXpCQSxhQUFvQixFSjJCckI7RUFNRztJSTdCRiw4QkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsK0JBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLHlCQUQwRCxFSmdDekQ7RUFGQztJSTdCRiwrQkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsK0JBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLHlCQUQwRCxFSmdDekQ7RUFGQztJSTdCRiwrQkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsK0JBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLHlCQUQwRCxFSmdDekQ7RUFGQztJSTdCRiwrQkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsK0JBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLDBCQUQwRCxFSmdDekQ7RVI4Q0M7SVE1REY7TUl6QkEsYUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsYUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsOEJBRDBELEVKZ0N6RDtJQUZDO01JN0JGLCtCQUQwRCxFSmdDekQ7SUFGQztNSTdCRix5QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsK0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLCtCQUQwRCxFSmdDekQ7SUFGQztNSTdCRix5QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsK0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLCtCQUQwRCxFSmdDekQ7SUFGQztNSTdCRix5QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsK0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLCtCQUQwRCxFSmdDekQ7SUFGQztNSTdCRiwwQkFEMEQsRUpnQ3pELEVBQUE7RVI4Q0M7SVE1REY7TUl6QkEsYUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsYUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw4QkFEMEQsRUpnQ3pEO0lBZEQ7TUl6QkEsYUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsYUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw4QkFEMEQsRUpnQ3pELEVBQUE7RVI4Q0M7SVE1REY7TUl6QkEsYUFBb0IsRUoyQnJCO0lBRUM7TUl6QkEsYUFBb0IsRUoyQnJCO0lBTUc7TUk3QkYsa0NBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw2QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLG1DQUQwRCxFSmdDekQ7SUFGQztNSTdCRiw4QkFEMEQsRUpnQ3pELEVBQUE7O0FBZ09IO0VRclVFLGlCQUFpQjtFQUNq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ekJBLGFBQW9CLEVKMkJyQjtFQUVDO0lJekJBLGFBQW9CLEVKMkJyQjtFQU1HO0lJN0JGLDhCQUQwRCxFSmdDekQ7RUFGQztJSTdCRiwrQkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYseUJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLCtCQUQwRCxFSmdDekQ7RUFGQztJSTdCRiwrQkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYseUJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLCtCQUQwRCxFSmdDekQ7RUFGQztJSTdCRiwrQkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYseUJBRDBELEVKZ0N6RDtFQUZDO0lJN0JGLCtCQUQwRCxFSmdDekQ7RUFGQztJSTdCRiwrQkFEMEQsRUpnQ3pEO0VBRkM7SUk3QkYsMEJBRDBELEVKZ0N6RDtFUjhDQztJUTVERjtNSXpCQSxhQUFvQixFSjJCckI7SUFFQztNSXpCQSxhQUFvQixFSjJCckI7SUFNRztNSTdCRiw4QkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsK0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLHlCQUQwRCxFSmdDekQ7SUFGQztNSTdCRiwrQkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsK0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLHlCQUQwRCxFSmdDekQ7SUFGQztNSTdCRiwrQkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsK0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLHlCQUQwRCxFSmdDekQ7SUFGQztNSTdCRiwrQkFEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsK0JBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDBCQUQwRCxFSmdDekQsRUFBQTtFUjhDQztJUTVERjtNSXpCQSxhQUFvQixFSjJCckI7SUFFQztNSXpCQSxhQUFvQixFSjJCckI7SUFNRztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDhCQUQwRCxFSmdDekQ7SUFkRDtNSXpCQSxhQUFvQixFSjJCckI7SUFFQztNSXpCQSxhQUFvQixFSjJCckI7SUFNRztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDhCQUQwRCxFSmdDekQsRUFBQTtFUjhDQztJUTVERjtNSXpCQSxhQUFvQixFSjJCckI7SUFFQztNSXpCQSxhQUFvQixFSjJCckI7SUFNRztNSTdCRixrQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDZCQUQwRCxFSmdDekQ7SUFGQztNSTdCRixtQ0FEMEQsRUpnQ3pEO0lBRkM7TUk3QkYsbUNBRDBELEVKZ0N6RDtJQUZDO01JN0JGLDhCQUQwRCxFSmdDekQsRUFBQTs7QUF5U0Q7RVEzWEksMkJBQVksRVI2WGY7RVI3UEM7SVEyUEY7TVEzWEksMkJBQVksRVI2WGYsRUFBQTtFUjdQQztJUTJQRjtNUTNYSSwrQkFBWSxFUjZYZixFQUFBO0VSN1BDO0lRMlBGO01RM1hJLCtCQUFZLEVSNlhmLEVBQUE7O0FSN1BDO0VRK1BBO0lRL1hFLDJCQUFZLEVSaVliLEVBQUE7O0FSalFEO0VRK1BBO0lRL1hFLCtCQUFZLEVSaVliLEVBQUE7O0FSalFEO0VRK1BBO0lRL1hFLCtCQUFZLEVSaVliLEVBQUE7O0FTcktMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVU7RUFDVixXQUFXLEVBQ1o7O0FBR0Q7RUFDRSxvQlh4RTBCO0VXMEUxQixtQkFBbUI7RUFDbkIsaUJYNUVzQjtFVzZFdEIsbUNYM0V5QyxFVzRFMUM7O0FBR0Q7O0VBRUUsbUJBQW1CO0VBQ25CLHFCQUFxQixFQUN0Qjs7QUFHRDs7RUFFRSxpQlh4S29CO0VXeUtwQixxQkFBcUIsRUFDdEI7O0FBR0Q7RUFDRSxlWGxHaUI7RVdtR2pCLHFCQUFxQixFQUN0Qjs7QUFHRDs7Ozs7O0VBTUUsdURYck13RDtFV3NNeEQsbUJYdElzQjtFV3VJdEIsaUJYOUxzQjtFVytMdEIsZVh0SWtCO0VXdUlsQixtQ1hsSHNDLEVXd0h2QztFQWhCRDs7Ozs7O0lBYUksZUFBZTtJQUNmLGVYNU5lLEVXNk5oQjs7QUFRRztFQUlJLGtCTnZQVTtFTW1RVixpQlhuS1c7RVcyS1gsY0FBYztFQU9kLHNCWGpMZ0IsRVdtTG5COztBQWpDRDtFQUlJLG1CTnZQVTtFTW1RVixpQlhuS1c7RVcyS1gsY0FBYztFQU9kLHNCWGpMZ0IsRVdtTG5COztBQWpDRDtFQUlJLHFCTnZQVTtFTW1RVixpQlhuS1c7RVcyS1gsY0FBYztFQU9kLHNCWGpMZ0IsRVdtTG5COztBQWpDRDtFQUlJLG9CTnZQVTtFTW1RVixpQlhuS1c7RVcyS1gsY0FBYztFQU9kLHNCWGpMZ0IsRVdtTG5COztBQWpDRDtFQUlJLHFCTnZQVTtFTW1RVixpQlhuS1c7RVcyS1gsY0FBYztFQU9kLHNCWGpMZ0IsRVdtTG5COztBQWpDRDtFQUlJLGdC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Z0I7SUFDaEIsZUFBZSxFQXdKd0I7RUFWekM7SUFuSEEsMEJmM0VnQjtJZTRFaEIsZWZ2Q2EsRWUwS047SUFqQlA7TUEvR0UsMEJBUDhCO01BUTlCLGVmM0NXLEVlNENaO0VBNkdEO0lBbkhBLDBCZjFFa0I7SWUyRWxCLGVmdkNhLEVlMEtOO0lBakJQO01BL0dFLDBCQVA4QjtNQVE5QixlZjNDVyxFZTRDWjtFQTZHRDtJQW5IQSwwQmZ6RWdCO0llMEVoQixlZnhDYSxFZTJLTjtJQWpCUDtNQS9HRSwwQkFQOEI7TUFROUIsZWY1Q1csRWU2Q1o7RUE2R0Q7SUFuSEEsMEJmeEVnQjtJZXlFaEIsZWZ4Q2EsRWUyS047SUFqQlA7TUEvR0UsMEJBUDhCO01BUTlCLGVmNUNXLEVlNkNaO0VBNkdEO0lBbkhBLDBCZnZFYztJZXdFZCxlZnZDYSxFZTBLTjtJQWpCUDtNQS9HRSwwQkFQOEI7TUFROUIsZWYzQ1csRWU0Q1o7RUE2R0Q7SUExREEsY2Y2STRCO0llNUk1QixvQkFBb0IsRUFpR2pCO0lBeENIO01BdERFLDBCZnhJYztNZXlJZCxlZnBHVyxFZXFHWjtJQW9ERDtNQTFEQSxjZjZJNEI7TWU1STVCLG9CQUFvQixFQStGYjtNQXRDUDtRQXRERSwwQmZ4SWM7UWV5SWQsZWZwR1csRWVxR1o7SUFvREQ7TUExREEsY2Y2STRCO01lNUk1QixvQkFBb0IsRUErRmI7TUF0Q1A7UUF0REUsMEJmdklnQjtRZXdJaEIsZWZwR1csRWVxR1o7SUFvREQ7TUExREEsY2Y2STRCO01lNUk1QixvQkFBb0IsRUErRmI7TUF0Q1A7UUF0REUsMEJmdEljO1FldUlkLGVmckdXLEVlc0daO0lBb0REO01BMURBLGNmNkk0QjtNZTVJNUIsb0JBQW9CLEVBK0ZiO01BdENQO1FBdERFLDBCZnJJYztRZXNJZCxlZnJHVyxFZXNHWjtJQW9ERDtNQTFEQSxjZjZJNEI7TWU1STVCLG9CQUFvQixFQStGYjtNQXRDUDtRQXRERSwwQmZwSVk7UWVxSVosZWZwR1csRWVxR1o7RUFvREQ7SUFuRkEsMEJmM0dnQjtJZTRHaEIsZWY1R2dCLEVlbVBYO0lB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ZnBTTSxFZXFTUDtFQXhHWDtJQXVHWSwwQmZuU0ksRWVvU0w7RUF4R1g7SUF1R1ksMEJmbFNJLEVlbVNMO0VBeEdYO0lBdUdZLDBCZmpTRSxFZWtTSDtFQXhHWDtJQWdISSxZQUFZO0lBQ1osWUFBWTtJQUNaLGVBQWlDLEVBQ2xDOztBQUVIO0VBR0ksc0JBQXNCLEVBQ3ZCOztBekJ5b0ZMOztFMEJoN0ZFLGVBQWU7RUFDZix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLG1CQUwwQjtFQU0xQixpQlhIb0I7RVdJcEIsb0JoQjJZMkI7RWdCelkzQiwwQmhCRG1CO0VnQkVuQixtQmhCOFlnQjtFZ0I3WWhCLDBCaEJZYTtFZ0JYYixrRGhCVWE7RWdCUmIscUJoQjJYeUI7RWdCMVh6QixvQlhab0I7RVdhcEIsaUJoQnlCd0I7RWdCeEJ4QixpQmhCakNxQjtFZ0JrQ3JCLGVoQklhO0VnQkRYLDREaEJpWThEO0VnQjdXOUQseUJBQWlCO0tBQWpCLHNCQUFpQjtVQUFqQixpQkFBaUIsRUFDbEI7RTFCMjVGRDs7STBCMzZGRSxjQUFjO0lBQ2QsMEJoQm5CaUI7SWdCb0JqQiwwQmhCTFc7SWdCTVgsNEJoQnJCaUI7SWdCd0JmLDREaEJzWDRELEVnQnBYL0Q7O0FBV0Q7RUFDRSxnQkFBZ0IsRUFLakI7RUFORDtJQUlJLGFBQWEsRUFDZDs7QUFHSDs7RUFJSSxlaEIrVTJCLEVnQjlVNUI7O0FBTEg7O0VBSUksZWhCK1UyQixFZ0I5VTVCOztBQUxIOztFQUlJLGVoQitVMkIsRWdCOVU1Qjs7QUFMSDs7O0VBVUksMEJoQmhEYztFZ0JpRGQsb0JoQnFWNkIsRWdCcFY5Qjs7QTFCMjVGTDs7RTBCcjVGSSx5QkFBaUI7S0FBakIsc0JBQWlCO1VBQWpCLGlCQUFpQjtFQUNqQixpQmhCcEJhLEVnQnFCZDs7QUFHRDtFQUNFLHVCQUF1QixFQUN4Qjs7QTFCczVGSDs7O0UyQjdpR0ksaUJaNEVrQixFWTNFbkI7O0EzQmlqR0g7O0UyQjVpR0ksc0JBQXNCO0VBQ3RCLHlCQUF5QjtFQUV6QixvQkFBNEM7RUFDNUMsbUJaa0VrQjtFWWpF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O0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBOURxREQ7RThEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBOURxREQ7RThEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBOURxREQ7RThEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJE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QztFQUF4QywyREFBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpMSDtFRW1DRSxxQ0FGaUI7TUFFakIsaUNBRmlCO1VBRWpCLDZCQUZpQixFRWhCaEI7O0FKZEg7RUFsQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUtBbEMsNkJBQTZCLEVERTVCOztBSkZIO0VFZ0NFLFdGaENxQyxFSWNwQzs7QUpiSDtFQW5CQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFS0RsQyw2QkFBNkIsRURFNUI7O0FKREg7RUUrQkUsV0YvQnFDLEVJYXBDOztBSlZIO0VBdEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJckNZO1VKcUNaLCtDSXJDWTtFSnFDWiw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpFSDtFRTRCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlRIO0VBdkJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJcENjO1VKb0NkLCtDSXBDYztFSm9DZCxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpHSDtFRTJCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlJIO0VBeEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RJbkNlO1VKbUNmLDhDSW5DZTtFSm1DZixpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpJSDtFRTBCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlBIO0VBekJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RJbENhO1VKa0NiLDhDSWxDYTtFSmtDYiwrQkFGaUI7TUFFakIsMkJBRmlCO1VBRWpCLHVCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpLSDtFRXlCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSk5IO0VBMUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJckNZO1VKcUNaLCtDSXJDWTtFSnFDWixpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpNSDtFRXdCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkxIO0VBM0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJcENjO1VKb0NkLCtDSXBDYztFSm9DZCxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpPSDtFRXVCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkpIO0VBNUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4Qyw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpRSDtFRXNCRSx1RElyQ1k7VUpxQ1osK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkhIO0VBN0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpTSDtFRXFCRSx1RElwQ2M7VUpvQ2QsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBSkZIO0VBOUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpVSDtFRW9CRSxzREluQ2U7VUptQ2YsOENJbkNlO0VDcUJiLFdBQThCLEVISi9COztBSkRIO0VBL0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QywrQkFGaUI7TUFFakIsMkJBRmlCO1VBRWpCLHVCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpXSDtFRW1CRSxzRElsQ2E7VUprQ2IsOENJbENhO0VDb0JYLFdBQThCLEVISi9COztBSkFIO0VBaENBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpZSDtFRWtCRSx1RElyQ1k7VUpxQ1osK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkNIO0VBakNBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUphSDtFRWlCRSx1RElwQ2M7VUpvQ2Qs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Q2xCO1FBdkxYO1VBMExZLGlCQUFpQixFQUNsQjtFQTNMWDtJQ2hCRSwwQjdFbUNtQjtJNkVsQ25CLG9CeEUyQ29CO0l3RTFDcEIsaUI3RWtGMEI7STZFakYxQixtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLDhDN0VrRjJCLEU2RWM1QjtJRHJGRDtNQ1JJLGlCQUFpQixFQUNsQjtJRE9IO01DSkksOEJBQThCO01BQzlCLDBCN0VzQmlCO002RXJCakIsZTdFcUJpQixFNkVwQmxCO0lEQ0g7TUNFSSw4QkFBOEI7TUFDOUIsMEI3RTZDVztNNkU1Q1gsZTdFNENXO002RTNDWCxzQkFBc0I7TUFDdEIsbUJBQW1CO01BQ25CLFdBQVcsRUFNWjtNRGJIO1FDVU0sMEI3RXNDUztRNkVyQ1QsZTdFY1UsRTZFYlg7SURaTDtNQ2dCSSw4QkFBOEI7TUFDOUIsc0I3RWF3QjtNNkVaeEIsZTdFV3NCLEU2RUx2QjtNRHhCSDtRQ3FCTSwwQjdFT2U7UTZFTmYsZTdFMEJTLEU2RXpCVjtJRHZCTDtNQzJCSSxzQjdFUmlCO002RVNqQixlN0VUaUIsRTZFZWxCO01EbENIO1FDK0JNLDBCN0VaZTtRNkVhZixlN0VnQlMsRTZFZlY7SURqQ0w7TUNxQ0ksNEJBQW9CO1VBQXBCLHVCQUFvQjtjQUFwQixvQkFBb0I7TUFDcEIsc0JBQWM7TUFBZCxxQkFBYztNQUFkLGNBQWM7TUFDZCxpQkFBaUI7TUFDakIsZ0JBQWdCO01BQ2hCLGlCQUFpQjtNQUNqQixxQkFBcUIsRUF1QnRCO01EakVIO1FDOENNLHVCQUFlO1lBQWYscUJBQWU7Z0JBQWYsZUFBZTtRQUNmLGVBQWU7UUFDZixlQUFlO1FBQ2Ysb0JBQW9CLEVBQ3JCO01EbERMO1FDc0RRLGU3RU5PLEU2RU9SO01uRnFERDtRa0Y1R047VUMyRE0sZUFBZSxFQU1sQjtVRGpFSDtZQzhEUSxxQkFBcUIsRUFDdEIsRUFBQTtJRC9EUDtNQ29FSSxvQkFBb0IsRUFDckI7SURyRUg7TUN3RUksOEJBQThCO01BQzlCLG9CQUFvQjtNQUNwQixlN0V2RGlCLEU2RTZEbEI7TURoRkg7UUM2RU0s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aUIsRUFDbEI7RUFFRDtJQUNFLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsaUJBQWlCLEVBQ2xCO0VBRUQ7O0lBRUUsOEJBQThCO0lBQzlCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZUFBZSxFQUNoQjtFQUVEOzs7Ozs7SUFPSSxpQnBKMUtjLEVvSjJLZjtFQVJIO0lBV0ksWUFBWTtJQUNaLG1DQUFtQztJQUNuQyxlQUFlLEVBZWhCO0lBNUJIO01BZ0JNLGlDQUFpQyxFQVdsQztNQTNCTDtRQW1CUSxZQUFZLEVBQ2I7TUFwQlA7UUF3QlUsWUFBWSxFQUNiO0VBekJUO0lBaUNRLFlBQVksRUFDYjtFQUtQO0lBRU0sdUJBQXVCLEVBQzFCO0VBR0g7SUFDRSx5QkFBeUIsRUFDMUI7RUFFRDtJQUNFLDBCQUEwQjtJQUMxQixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQ2xCO0VBR0Q7SUFDRSw0QkFBNEIsRUFDN0IsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjMwMCw0MDAsNDAwaSw1MDAsNTAwaSw3MDAsNzAwaVwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsNDAwLDQwMGksNTAwLDUwMGksNjAwLDcwMFwiKTtcbi5hd2Vzb21wbGV0ZSBbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmF3ZXNvbXBsZXRlIC52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLmF3ZXNvbXBsZXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmF3ZXNvbXBsZXRlID4gaW5wdXQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYXdlc29tcGxldGUgPiB1bCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmF3ZXNvbXBsZXRlID4gdWw6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hd2Vzb21wbGV0ZSA+IHVsIHtcbiAgYm9yZGVyLXJhZGl1czogLjNlbTtcbiAgbWFyZ2luOiAuMmVtIDAgMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCB3aGl0ZSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3gtc2hhZG93OiAwLjA1ZW0gMC4yZW0gMC42ZW0gcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG5Ac3VwcG9ydHMgKHRyYW5zZm9ybTogc2NhbGUoMCkpIHtcbiAgLmF3ZXNvbXBsZXRlID4gdWwge1xuICAgIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMC4yLCAwLjUsIDEuNCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMS40M2VtIC0uNDNlbTsgfVxuICAuYXdlc29tcGxldGUgPiB1bFtoaWRkZW5dLFxuICAuYXdlc29tcGxldGUgPiB1bDplbXB0eSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9IH1cblxuLyogUG9pbnRlciAqL1xuLmF3ZXNvbXBsZXRlID4gdWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0uNDNlbTtcbiAgbGVmdDogMWVtO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAuNGVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiBpbmhlcml0O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmF3ZXNvbXBsZXRlID4gdWwgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogLjJlbSAuNWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmF3ZXNvbXBsZXRlID4gdWwgPiBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNiOGQzZTA7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4uYXdlc29tcGxldGUgPiB1bCA+IGxpW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgYmFja2dyb3VuZDogIzNkNmQ4ZjtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5hd2Vzb21wbGV0ZSBtYXJrIHtcbiAgYmFja2dyb3VuZDogI2VhZmYwMDsgfVxuXG4uYXdlc29tcGxldGUgbGk6aG92ZXIgbWFyayB7XG4gIGJhY2tncm91bmQ6ICNiNWQxMDA7IH1cblxuLmF3ZXNvbXBsZXRlIGxpW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIG1hcmsge1xuICBiYWNrZ3JvdW5kOiAjM2Q2YjAwO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1hd2Vzb21wbGV0ZS5jc3MubWFwICovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mcGhhYmxldD00MGVtJm1lZGl1bT01My4yNWVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzJkMmMyYztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41NjI1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNTYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjU2MjVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAucGhhYmxldC1zaHJpbmssIC5ncmlkLXggPiAucGhhYmxldC1mdWxsLCAuZ3JpZC14ID4gLnBoYWJsZXQtMSwgLmdyaWQteCA+IC5waGFibGV0LTIsIC5ncmlkLXggPiAucGhhYmxldC0zLCAuZ3JpZC14ID4gLnBoYWJsZXQtNCwgLmdyaWQteCA+IC5waGFibGV0LTUsIC5ncmlkLXggPiAucGhhYmxldC02LCAuZ3JpZC14ID4gLnBoYWJsZXQtNywgLmdyaWQteCA+IC5waGFibGV0LTgsIC5ncmlkLXggPiAucGhhYmxldC05LCAuZ3JpZC14ID4gLnBoYWJsZXQtMTAsIC5ncmlkLXggPiAucGhhYmxldC0xMSwgLmdyaWQteCA+IC5waGFibGV0LTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAucGhhYmxldC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAucGhhYmxldC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAucGhhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5waGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5waGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5waGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5waGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5waGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5waGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5waGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5waGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5waGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAucGhhYmxldC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnBoYWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjU2MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjU2MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMTI1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjU2MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNTYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waGFibGV0LWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waGFibGV0LXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBoYWJsZXQtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBoYWJsZXQtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waGFibGV0LTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMTI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMTI1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjU2MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNTYyNXJlbTsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41NjI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC41NjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjU2MjVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGhhYmxldC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5waGFibGV0LXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAucGhhYmxldC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5waGFibGV0LXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAucGhhYmxldC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnBoYWJsZXQtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5waGFibGV0LXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5waGFibGV0LXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnBoYWJsZXQtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5waGFibGV0LXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgucGhhYmxldC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnBoYWJsZXQtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5waGFibGV0LXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgucGhhYmxldC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnBoYWJsZXQtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDFyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjEyNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMTI1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAucGhhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnBoYWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5waGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGhhYmxldC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAucGhhYmxldC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5waGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAucGhhYmxldC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnBoYWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC41cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGhhYmxldC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnBoYWJsZXQtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC41cmVtKTsgfVxuICAucGhhYmxldC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnBoYWJsZXQtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC41cmVtKTsgfVxuICAucGhhYmxldC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5waGFibGV0LW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjVyZW0pOyB9XG4gIC5waGFibGV0LW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnBoYWJsZXQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNXJlbSk7IH1cbiAgLnBoYWJsZXQtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC41cmVtKTsgfVxuICAucGhhYmxldC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5waGFibGV0LW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjVyZW0pOyB9XG4gIC5waGFibGV0LW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnBoYWJsZXQtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNXJlbSk7IH1cbiAgLnBoYWJsZXQtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAucGhhYmxldC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC41cmVtKTsgfVxuICAucGhhYmxldC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5waGFibGV0LW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjVyZW0pOyB9XG4gIC5waGFibGV0LW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnBoYWJsZXQtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNXJlbSk7IH1cbiAgLnBoYWJsZXQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnBoYWJsZXQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjVyZW0pOyB9XG4gIC5waGFibGV0LW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5waGFibGV0LW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC41cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC41NjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC41NjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjU2MjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC41NjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjU2MjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC41NjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNTYyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjU2MjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC41NjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNTYyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjU2MjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC41NjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNTYyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNTYyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNTYyNXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5waGFibGV0LXNocmluaywgLmdyaWQteSA+IC5waGFibGV0LWZ1bGwsIC5ncmlkLXkgPiAucGhhYmxldC0xLCAuZ3JpZC15ID4gLnBoYWJsZXQtMiwgLmdyaWQteSA+IC5waGFibGV0LTMsIC5ncmlkLXkgPiAucGhhYmxldC00LCAuZ3JpZC15ID4gLnBoYWJsZXQtNSwgLmdyaWQteSA+IC5waGFibGV0LTYsIC5ncmlkLXkgPiAucGhhYmxldC03LCAuZ3JpZC15ID4gLnBoYWJsZXQtOCwgLmdyaWQteSA+IC5waGFibGV0LTksIC5ncmlkLXkgPiAucGhhYmxldC0xMCwgLmdyaWQteSA+IC5waGFibGV0LTExLCAuZ3JpZC15ID4gLnBoYWJsZXQtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5waGFibGV0LWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAucGhhYmxldC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5waGFibGV0LTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAucGhhYmxldC0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5waGFibGV0LTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnBoYWJsZXQtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAucGhhYmxldC01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5waGFibGV0LTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnBoYWJsZXQtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAucGhhYmxldC04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5waGFibGV0LTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnBoYWJsZXQtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnBoYWJsZXQtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnBoYWJsZXQtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41NjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNTYyNXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjU2MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41NjI1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjU2MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4xMjVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC41NjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41NjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhhYmxldC1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhhYmxldC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhhYmxldC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhhYmxldC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjEyNXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMTI1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGhhYmxldC1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnBoYWJsZXQtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBoYWJsZXQtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5waGFibGV0LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5waGFibGV0LWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnBoYWJsZXQtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5waGFibGV0LWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkucGhhYmxldC1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjU2MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC41NjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMTI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNTYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhhYmxldC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhhYmxldC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhhYmxldC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBoYWJsZXQtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhhYmxldC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waGFibGV0LTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4xMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjEyNXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMTI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjEyNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5waGFibGV0LWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMTI1cmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogIzJkMmMyYzsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMTc3OWJhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2UzNjAxODsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyZDJjMmM7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMmQyYzJjOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzJmMmUyZTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzJmMmUyZTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJkMmMyYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlMWUxO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogIzJmMmUyZTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBoYWJsZXQtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5waGFibGV0LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5waGFibGV0LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBoYWJsZXQtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMmYyZTJlO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uY2xlYXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNzg4NDZyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNzY5MjNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiN2I3Yjc7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiN2I3Yjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNiN2I3Yjc7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzQ1NDU0NTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlMWUxO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMyNDI0MjQ7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHggMCAwIDZweDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJkMmMyYztcbiAgYmFja2dyb3VuZDogI2UxZTFlMTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2I3YjdiNzsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjc4ODQ2cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjc2OTIzcmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjdiN2I3O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4NDcsIDQ2LCA0NiUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I3YjdiNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2I3YjdiNztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNzc5YmE7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlMWUxOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMmQyYzJjOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTFlMWUxOyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogIzJkMmMyYzsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzJkMmMyYztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMmQyYzJjOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZWNmYTtcbiAgICBjb2xvcjogIzJkMmMyYzsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgY29sb3I6ICMyZDJjMmM7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgICBjb2xvcjogIzJkMmMyYzsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5O1xuICAgIGNvbG9yOiAjMmQyYzJjOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNGUxO1xuICAgIGNvbG9yOiAjMmQyYzJjOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMyZDJjMmM7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlMWUxZTE7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICMyZjJlMmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUucGhhYmxldC1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5waGFibGV0LXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnBoYWJsZXQtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LnBoYWJsZXQtc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLWxlZnQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5tZW51LmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVudS5hbGlnbi1jZW50ZXIgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51IC5tZW51LXRleHQge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZWZlZmUsIDAgMTRweCAwICNmZWZlZmU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyZDJjMmM7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMmQyYzJjLCAwIDE0cHggMCAjMmQyYzJjOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMGEwYTBhLCAwIDE0cHggMCAjMGEwYTBhO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyZjJlMmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMmYyZTJlLCAwIDE0cHggMCAjMmYyZTJlOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH1cblxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyZDJjMmM7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbi5kcm9wZG93bi5tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzE3NzliYTsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUucGhhYmxldC1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5waGFibGV0LWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5waGFibGV0LWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUucGhhYmxldC1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LnBoYWJsZXQtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnBoYWJsZXQtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnBoYWJsZXQtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnBoYWJsZXQtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5waGFibGV0LXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51LnBoYWJsZXQtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMmQyYzJjO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIC5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTFlMWUxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlMWUxZTE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItcGhhYmxldCB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItcGhhYmxldCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItcGhhYmxldCB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXBoYWJsZXQgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1waGFibGV0IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItcGhhYmxldCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXBoYWJsZXQge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1waGFibGV0IH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1waGFibGV0IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXBoYWJsZXQgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItcGhhYmxldCB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXBoYWJsZXQgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1waGFibGV0IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXBoYWJsZXQgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItcGhhYmxldCB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXBoYWJsZXQgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItcGhhYmxldCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXBoYWJsZXQucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1waGFibGV0LnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXBoYWJsZXQucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXBoYWJsZXQucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXBoYWJsZXQgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQyYzJjOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZjJlMmU7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZjJlMmU7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlMWUxZTE7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzJkMmMyYztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBhYic7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGJiJzsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDJjMmM7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNzsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDJjMmM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMmQyYzJjO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogIzJkMmMyYztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgY29udGVudDogJyc7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGFibGUgdGhlYWQsXG4gIHRhYmxlIHRib2R5LFxuICB0YWJsZSB0Zm9vdCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgdGFibGUgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNjNmExNmQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgdGFibGUgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMyZDJjMmM7IH1cbiAgdGFibGUgdGhlYWQgdHIsXG4gIHRhYmxlIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZSB0aGVhZCB0aCxcbiAgdGFibGUgdGhlYWQgdGQsXG4gIHRhYmxlIHRmb290IHRoLFxuICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZSB0Ym9keSB0aCxcbiAgdGFibGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMzljNjY7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjczYjE7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjI1cmVtIDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzE0NjhhMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMyZDJjMmM7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIDA7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMmQyYzJjO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAwO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIzLCAxMjEsIDE4NiwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICMyZjJlMmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXBoYWJsZXQge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1waGFibGV0IC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1waGFibGV0IC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLXBoYWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItcGhhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAuaGlkZS1mb3ItcGhhYmxldC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLnNob3ctZm9yLXBoYWJsZXQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBoYWJsZXQtb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBoYWJsZXQtb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnBoYWJsZXQtb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnBoYWJsZXQtb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnBoYWJsZXQtb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnBoYWJsZXQtb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBoYWJsZXQtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnBoYWJsZXQtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAucGhhYmxldC1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5waGFibGV0LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAucGhhYmxldC1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnBoYWJsZXQtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAucGhhYmxldC1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnBoYWJsZXQtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDsgfVxuXG4ucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG5cbi5ib3JkZXJlZCB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMyZDJjMmM7IH1cblxuLnNlcGFyYXRvci1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuc2VwYXJhdG9yLWNlbnRlcjo6YmVmb3JlLCAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zZXBhcmF0b3ItY2VudGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMTc3OWJhO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvIDA7IH1cblxuLnNlcGFyYXRvci1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5zZXBhcmF0b3ItbGVmdDo6YmVmb3JlLCAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMTc3OWJhO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvIDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4uc2VwYXJhdG9yLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAuc2VwYXJhdG9yLXJpZ2h0OjpiZWZvcmUsIC5zZXBhcmF0b3ItcmlnaHQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMxNzc5YmE7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ud2lkdGgtMjUge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cblxuLndpZHRoLTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbi53aWR0aC03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuXG4ud2lkdGgtMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTI1IHtcbiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTUwIHtcbiAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTc1IHtcbiAgaGVpZ2h0OiA3NSUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLm1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tMCB7XG4gIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXRvcC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXJpZ2h0LTAge1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC0wIHtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTAge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tbGVmdC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTAge1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWhvcml6b250YWwtMCB7XG4gIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdG9wLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tcmlnaHQtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXJpZ2h0LTEge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tMSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ib3R0b20tMSB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1sZWZ0LTEge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWxlZnQtMSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0xIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi10b3AtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy10b3AtMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctcmlnaHQtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWJvdHRvbS0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS0yIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctbGVmdC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTIge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTIge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdmVydGljYWwtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTIge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXRvcC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXJpZ2h0LTMge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC0zIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTMge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTMge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tbGVmdC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTMge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWhvcml6b250YWwtMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbmgyOm9ubHktY2hpbGQsXG5oMzpvbmx5LWNoaWxkLFxudWw6b25seS1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5pbWc6bm90KFtzcmNdKSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5pbWdbZGF0YS1vcmlnaW5hbF0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41czsgfVxuXG5pbWcuaXMtbG9hZGVkIHtcbiAgb3BhY2l0eTogMTsgfVxuXG5pZnJhbWUge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuaHIge1xuICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgaHIuaHItLW1hcmdpbi1zbWFsbCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gIGltZzotbW96LWxvYWRpbmcge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfSB9XG5cbmgxIHtcbiAgY29sb3I6ICMwZjJjNTI7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogMzJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9IH1cblxuaDIge1xuICBjb2xvcjogIzQwNDA0MDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuXG5oMyB7XG4gIGNvbG9yOiAjZTM2MDE4O1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG5oNCB7XG4gIGNvbG9yOiAjMjQyNDI0O1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbmg1IHtcbiAgY29sb3I6ICNjNmExNmQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLnJ0ZiB7XG4gIC8qIFlBUExcbm5hbWU6IEJ1dHRvblxucGFydGlhbDogc2ctYnV0dG9uXG5zZWxlY3RvcjogLmJ1dHRvblxuKi9cbiAgLyogWUFQTFxubmFtZTogQnV0dG9uIEhvbGxvd1xubm90ZXM6IFRoaXMgaGFzIGEgd2hpdGUgYm9yZGVyIGFuZCB0ZXh0IHNvIHNob3VsZCBiZSB1c2VkIG9uIGEgY29sb3IgYmFja2dyb3VuZFxucGFydGlhbDogc2ctYnV0dG9uLWhvbGxvd1xuc2VsZWN0b3I6IC5idXR0b24uYnV0dG9uLS1ob2xsb3dcbiovXG4gIC8qIFlBUExcbm5hbWU6IEJ1dHRvbiBIb2xsb3cgTGlnaHQgQnJvd25cbnBhcnRpYWw6IHNnLWJ1dHRvbi1ob2xsb3ctLWxpZ2h0LWJyb3duXG5zZWxlY3RvcjogLmJ1dHRvbi5idXR0b24tLWhvbGxvdy0tbGlnaHQtYnJvd25cbiovXG4gIC8qIFlBUExcbm5hbWU6IEJ1dHRvbiBIb2xsb3cgQmx1ZVxucGFydGlhbDogc2ctYnV0dG9uLWhvbGxvdy0tYmx1ZVxuc2VsZWN0b3I6IC5idXR0b24uYnV0dG9uLS1ob2xsb3ctLWJsdWUud2hpdGVcbiovXG4gIC8qIFlBUExcbm5hbWU6IEJ1dHRvbiBNaWNyb3NpdGVcbnBhcnRpYWw6IHNnLWJ1dHRvbi1taWNyb3NpdGVcbnNlbGVjdG9yOiAuYnV0dG9uLmJ1dHRvbi0tbWljcm9zaXRlXG4qL1xuICAvKiBZQVBMXG5uYW1lOiBCdXR0b24gUm91bmRlZFxucGFydGlhbDogc2ctYnV0dG9uLXJvdW5kZWRcbnNlbGVjdG9yOiAuYnV0dG9uLmJ1dHRvbi0tcm91bmRlZFxuKi9cbiAgLyogWUFQTFxubmFtZTogQnV0dG9uIEljb25cbnBhcnRpYWw6IHNnLWJ1dHRvbi1pY29uXG5zZWxlY3RvcjogLmJ1dHRvbi5idXR0b24tLWljb25cbiovIH1cbiAgLnJ0ZiA+ICouaWNvbiwgLnJ0ZiA+ICo6b25seS1jaGlsZCwgLnJ0ZiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5ydGYgPiAqLnUtZmxvYXQtbGVmdCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5ydGYgZmlndXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5ydGYgaDEsXG4gIC5ydGYgaDIsXG4gIC5ydGYgaDMsXG4gIC5ydGYgaDQge1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cbiAgLnJ0ZiBoNSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5ydGYgaDYge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgLnJ0ZiBoNCxcbiAgLnJ0ZiBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucnRmIHAge1xuICAgIGNvbG9yOiAjMmQyYzJjO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWluLXdpZHRoOiA3LjVyZW07IH1cbiAgICAucnRmIHAucGFyYWdyYXBoLXRpZ2h0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAgIC5ydGYgcC5wYXJhZ3JhcGgtZXh0cmEtc3BhY2Uge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gIC5ydGYgYTpob3ZlciB7XG4gICAgY29sb3I6ICNlMzYwMTg7IH1cbiAgLnJ0ZiBvbCxcbiAgLnJ0ZiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnJ0ZiBvbDpsYXN0LWNoaWxkLFxuICAgIC5ydGYgdWw6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnJ0ZiBvbCBsaSxcbiAgICAucnRmIHVsIGxpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgICAgLnJ0ZiBvbCBsaSxcbiAgICAgICAgLnJ0ZiB1bCBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtOyB9IH1cbiAgICAgIC5ydGYgb2wgbGk6OmJlZm9yZSxcbiAgICAgIC5ydGYgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZTM2MDE4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5ydGYgb2wsXG4gICAgICAucnRmIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuICAgIC5ydGYgb2wgKyBoMixcbiAgICAucnRmIG9sICsgaDMsXG4gICAgLnJ0ZiBvbCArIGg0LFxuICAgIC5ydGYgb2wgKyBoNSxcbiAgICAucnRmIG9sICsgaDYsXG4gICAgLnJ0ZiB1bCArIGgyLFxuICAgIC5ydGYgdWwgKyBoMyxcbiAgICAucnRmIHVsICsgaDQsXG4gICAgLnJ0ZiB1bCArIGg1LFxuICAgIC5ydGYgdWwgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIC5ydGYgb2wge1xuICAgIGNvdW50ZXItcmVzZXQ6IG9sLWNvdW50ZXI7IH1cbiAgICAucnRmIG9sIG9sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC5ydGYgb2wgbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpIFwiLlwiO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAucnRmIG9sIGxpIGxpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogY291bnRlcihvbC1jb3VudGVyLCBsb3dlci1hbHBoYSkgXCIuXCI7IH1cbiAgICAucnRmIG9sIGxpIGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucnRmIHVsIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5ydGYgdWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgICAgLnJ0ZiB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC43NXJlbTsgfSB9XG4gICAgLnJ0ZiB1bCBsaTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfigKInO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5ydGYgdWwgbGkgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgICAucnRmIHVsIGxpIGxpOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAn4peLJztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzsgfVxuICAgICAgLnJ0ZiB1bCBsaSBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnJ0ZiB1bCBsaSBsaSBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAgICAgICAucnRmIHVsIGxpIGxpIGxpOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICfigKInO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAgIC5ydGYgdWwgbGkgbGkgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucnRmIC5idXR0b24ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDcxYjk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDFlbSAxLjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zczsgfVxuICAgIC5ydGYgLmJ1dHRvbiAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IC43NWVtOyB9XG4gICAgLnJ0ZiAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwNzFiOTtcbiAgICAgIGNvbG9yOiAjMDA3MWI5OyB9XG4gICAgLnJ0ZiAuYnV0dG9uLmJ1dHRvbi0taG9sbG93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLnJ0ZiAuYnV0dG9uLmJ1dHRvbi0taG9sbG93OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgY29sb3I6ICNlMzYwMTg7IH1cbiAgICAucnRmIC5idXR0b24uYnV0dG9uLS1ob2xsb3ctLWxpZ2h0LWJyb3duIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYzY5ZjZkO1xuICAgICAgY29sb3I6ICNhYThhNWQ7IH1cbiAgICAgIC5ydGYgLmJ1dHRvbi5idXR0b24tLWhvbGxvdy0tbGlnaHQtYnJvd246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZhMTZkO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5ydGYgLmJ1dHRvbi5idXR0b24tLWhvbGxvdy0tYmx1ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDcxYjk7XG4gICAgICBjb2xvcjogIzAwNzFiOTsgfVxuICAgICAgLnJ0ZiAuYnV0dG9uLmJ1dHRvbi0taG9sbG93LS1ibHVlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAucnRmIC5idXR0b24uYnV0dG9uLS1pY29uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgLnJ0ZiAuYnV0dG9uLmJ1dHRvbi0taWNvbiAuaWNvbiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgICAgIC5ydGYgLmJ1dHRvbi5idXR0b24tLWljb246aG92ZXIgLmljb24ge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5ydGYgLmJ1dHRvbi5idXR0b24tLWljb24ge1xuICAgICAgICAgIHBhZGRpbmc6IC41cmVtOyB9XG4gICAgICAgICAgLnJ0ZiAuYnV0dG9uLmJ1dHRvbi0taWNvbiAuaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbTsgfSB9XG4gICAgLnJ0ZiAuYnV0dG9uLmJ1dHRvbi0tcm91bmRlZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyN3B4OyB9XG4gICAgLnJ0ZiAuYnV0dG9uLmJ1dHRvbi0tbWljcm9zaXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgIGNvbG9yOiAjMDA3MWI5OyB9XG4gICAgICAucnRmIC5idXR0b24uYnV0dG9uLS1taWNyb3NpdGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MWI5O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5ydGYgLmJ1dHRvbi5idXR0b24tLW5vLW1hcmdpbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLnJ0ZiAuYnV0dG9uX19jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLnJ0ZiAuYnV0dG9uX19jb250YWluZXIgYSxcbiAgICAucnRmIC5idXR0b25fX2NvbnRhaW5lciBidXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgICAucnRmIC5idXR0b25fX2NvbnRhaW5lciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAucnRmIGltZy5mbG9hdC1sZWZ0LCAucnRmIGltZy5mbG9hdC1yaWdodCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnJ0ZiBpbWcuZmxvYXQtbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgLnJ0ZiBpbWcuZmxvYXQtcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnJ0ZiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLnJ0ZiBoMSxcbiAgICAucnRmIGgyLFxuICAgIC5ydGYgaDMsXG4gICAgLnJ0ZiBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICAucnRmIGg1LFxuICAgIC5ydGYgaDYge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9IH1cblxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ubWVkaXVtIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4ubGFyZ2Uge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4uc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5vcmFuZ2Uge1xuICBjb2xvcjogI2UzNjAxODsgfVxuXG4uZ3JheSB7XG4gIGNvbG9yOiAjMjQyNDI0OyB9XG5cbi5tZWRpdW0tYnJvd24ge1xuICBjb2xvcjogIzk3NmYzZjsgfVxuXG4ucmVkIHtcbiAgY29sb3I6ICNmNDIwMjA7IH1cblxuLmljb24tLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDAnOyB9XG5cbi8qICfuoIAnICovXG4uaWNvbi0tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDEnOyB9XG5cbi8qICfuoIEnICovXG4uaWNvbi0tbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMic7IH1cblxuLyogJ+6ggicgKi9cbi5pY29uLS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDMnOyB9XG5cbi8qICfuoIMnICovXG4uaWNvbi0tdGg6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNCc7IH1cblxuLyogJ+6ghCcgKi9cbi5pY29uLS10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDUnOyB9XG5cbi8qICfuoIUnICovXG4uaWNvbi0taW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDYnOyB9XG5cbi8qICfuoIYnICovXG4uaWNvbi0teW91dHViZS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDcnOyB9XG5cbi8qICfuoIcnICovXG4uaWNvbi0tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwOCc7IH1cblxuLyogJ+6giCcgKi9cbi5pY29uLS1icmllZmNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwOSc7IH1cblxuLyogJ+6giScgKi9cbi5pY29uLS10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODBhJzsgfVxuXG4vKiAn7qCKJyAqL1xuLmljb24tLWFwcHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwYic7IH1cblxuLyogJ+6giycgKi9cbi5pY29uLS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODBjJzsgfVxuXG4vKiAn7qCMJyAqL1xuLmljb24tLWluc3RhZ3JhbS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MGQnOyB9XG5cbi8qICfuoI0nICovXG4uaWNvbi0tbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwZSc7IH1cblxuLyogJ+6gjicgKi9cbi5pY29uLS1tYWtlLWFuLWFwcHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwZic7IH1cblxuLyogJ+6gjycgKi9cbi5pY29uLS1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTAnOyB9XG5cbi8qICfuoJAnICovXG4uaWNvbi0tcGh5c2ljaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTEnOyB9XG5cbi8qICfuoJEnICovXG4uaWNvbi0tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxMic7IH1cblxuLyogJ+6gkicgKi9cbi5pY29uLS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTMnOyB9XG5cbi8qICfuoJMnICovXG4uaWNvbi0tdmlldy1hbGwtZXZlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxNCc7IH1cblxuLyogJ+6glCcgKi9cbi5pY29uLS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTUnOyB9XG5cbi8qICfuoJUnICovXG4uaWNvbi0tZmluZC1hLWRvYzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODE2JzsgfVxuXG4vKiAn7qCWJyAqL1xuLmljb24tLXBhdGllbnQtc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxNyc7IH1cblxuLyogJ+6glycgKi9cbi5pY29uLS1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxOCc7IH1cblxuLyogJ+6gmCcgKi9cbi5pY29uLS1lbnZlbG9wZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTknOyB9XG5cbi8qICfuoJknICovXG4uaWNvbi0tdHJlYXRtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MWEnOyB9XG5cbi8qICfuoJonICovXG4uaWNvbi0tbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODFiJzsgfVxuXG4vKiAn7qCbJyAqL1xuLmljb24tLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODFjJzsgfVxuXG4vKiAn7qCcJyAqL1xuLmljb24tLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MWQnOyB9XG5cbi8qICfuoJ0nICovXG4uaWNvbi0tcmVzZXQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxZSc7IH1cblxuLyogJ+6gnicgKi9cbi5pY29uLS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MWYnOyB9XG5cbi8qICfuoJ8nICovXG4uaWNvbi0tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODIwJzsgfVxuXG4vKiAn7qCgJyAqL1xuLmljb24tLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MjEnOyB9XG5cbi8qICfuoKEnICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdsaWZlYnJpZGdlJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mb250ZWxsby5lb3Q/MzY5MjQ5NjZcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZm9udGVsbG8uZW90PzM2OTI0OTY2I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby53b2ZmMj8zNjkyNDk2NlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8ud29mZj8zNjkyNDk2NlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby50dGY/MzY5MjQ5NjZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLnN2Zz8zNjkyNDk2NiNmb250ZWxsb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5cbi5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuM2VtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIFxuICAuaWNvbjo6YmVmb3JlIHtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtZmFtaWx5OiAnbGlmZWJyaWRnZScgIWltcG9ydGFudDtcbiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jdGFcbiAgLmljb24sXG4gIC5ydGZcbiAgLmljb24sXG4gIHBcbiAgLmljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uaWNvbi0tc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmljb24tLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuLmljb24tLXZlcnktbGFyZ2Uge1xuICBmb250LXNpemU6IDNyZW07IH1cblxuLmljb24tLWNlbnRlciB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uaWNvbi0tY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICB3aWR0aDogNTZweDsgfVxuXG4uaWNvbi0tbWFyZ2luLXJpZ2h0LWhhbGYge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5pY29uLS1yZXZlcnNlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4uaWNvbl9fYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMzYwMTg7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzOyB9XG4gIC5pY29uX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uaWNvbl9fYmFja2dyb3VuZC0tbGFyZ2Uge1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4OyB9XG4gIC5pY29uX19iYWNrZ3JvdW5kLS1sYXJnZTo6YmVmb3JlIHtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDVweCk7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDVweCk7IH1cblxuLmljb25fX2JhY2tncm91bmQtLW1lZGl1bSB7XG4gIGJvcmRlci1yYWRpdXM6IDIxcHg7XG4gIGhlaWdodDogNDJweDtcbiAgd2lkdGg6IDQycHg7IH1cbiAgLmljb25fX2JhY2tncm91bmQtLW1lZGl1bTo6YmVmb3JlIHtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDE0cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTRweCk7IH1cblxuLmljb25fX2JhY2tncm91bmQtLXNtYWxsIHtcbiAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICB3aWR0aDogMzZweDsgfVxuICAuaWNvbl9fYmFja2dyb3VuZC0tc21hbGw6OmJlZm9yZSB7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA3cHgpO1xuICAgIHRvcDogY2FsYyg1MCUgLSA3cHgpOyB9XG5cbi5pY29uX19iYWNrZ3JvdW5kLS12ZXJ5LXNtYWxsIHtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDsgfVxuICAuaWNvbl9fYmFja2dyb3VuZC0tdmVyeS1zbWFsbDo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNHB4KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNXB4KTsgfVxuXG4uaWNvbi0tcG9zaXRpb24tY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5pY29uLS1wb3NpdGlvbi1jZW50ZXIuaWNvbi0tcGxheSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxuXG4udS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAudS1ibG9jay0tc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnUtY2xlYXJmaXg6OmJlZm9yZSwgLnUtY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51LWNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi51LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4udS1uby1tYXJnaW4ge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4udS1mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnUtZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAudS1mbG9hdC1yaWdodC0tbWVkaXVtIHtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uYmFzaWMtdGFicy50YWJzLS12ZXJ0aWNhbCAudGFicy10aXRsZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDByZW07IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTAge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5ydGYgaDQgKyBwLFxuLnJ0ZiBoNSArIHAsIC5iYXNpYy10YWJzLnRhYnMtLXZlcnRpY2FsIC50YWJzLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4taGFsZiB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLWhhbGYge1xuICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnJ0ZiA+ICoge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy0xIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tNCB7XG4gIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy00IHtcbiAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTUge1xuICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctNSB7XG4gIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi02IHtcbiAgbWFyZ2luLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTYge1xuICBwYWRkaW5nLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tNyB7XG4gIG1hcmdpbi10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy03IHtcbiAgcGFkZGluZy10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTgge1xuICBtYXJnaW4tdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctOCB7XG4gIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi05IHtcbiAgbWFyZ2luLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTkge1xuICBwYWRkaW5nLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tMTAge1xuICBtYXJnaW4tdG9wOiAxMHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTEwIHtcbiAgcGFkZGluZy10b3A6IDEwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0xMSB7XG4gIG1hcmdpbi10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctMTEge1xuICBwYWRkaW5nLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTEyIHtcbiAgbWFyZ2luLXRvcDogMTJyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy0xMiB7XG4gIHBhZGRpbmctdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tMC1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy0wLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLWhhbGYtMS1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLWhhbGYtMS1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTEtc21hbGwge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctMS1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0yLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTItc21hbGwge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tMy1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy0zLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTQtc21hbGwge1xuICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctNC1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi01LXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogNXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTUtc21hbGwge1xuICBwYWRkaW5nLXRvcDogNXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tNi1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDZyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy02LXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDZyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTctc21hbGwge1xuICBtYXJnaW4tdG9wOiA3cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctNy1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiA3cmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi04LXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogOHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTgtc21hbGwge1xuICBwYWRkaW5nLXRvcDogOHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tOS1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDlyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy05LXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDlyZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtbWFyZ2luLTEwLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTByZW0gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtcGFkZGluZy0xMC1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAxMHJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1tYXJnaW4tMTEtc21hbGwge1xuICBtYXJnaW4tdG9wOiAxMXJlbSAhaW1wb3J0YW50OyB9XG5cbi52ZXJ0aWNhbC1wYWRkaW5nLTExLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLW1hcmdpbi0xMi1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDEycmVtICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLXBhZGRpbmctMTItc21hbGwge1xuICBwYWRkaW5nLXRvcDogMTJyZW0gIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmVydGljYWwtbWFyZ2luLTAtcGhhYmxldCB7XG4gICAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTAtcGhhYmxldCB7XG4gICAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLWhhbGYtMS1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy1oYWxmLTEtcGhhYmxldCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMS1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMS1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMi1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMi1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMy1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMy1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNC1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNC1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNS1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNS1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNi1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNi1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNy1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNy1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tOC1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctOC1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tOS1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiA5cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctOS1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMTAtcGhhYmxldCB7XG4gICAgbWFyZ2luLXRvcDogMTByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xMC1waGFibGV0IHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTExLXBoYWJsZXQge1xuICAgIG1hcmdpbi10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMTEtcGhhYmxldCB7XG4gICAgcGFkZGluZy10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xMi1waGFibGV0IHtcbiAgICBtYXJnaW4tdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTEyLXBoYWJsZXQge1xuICAgIHBhZGRpbmctdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLnZlcnRpY2FsLW1hcmdpbi0wLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTAtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4taGFsZi0xLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctaGFsZi0xLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMS1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTItbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMi1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0zLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTMtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNC1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy00LW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTUtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNS1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi02LW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTYtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNy1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy03LW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTgtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctOC1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi05LW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTktbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMTAtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAxMHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTEwLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDEwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xMS1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMTEtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTEyLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMTJyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xMi1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAxMnJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnZlcnRpY2FsLW1hcmdpbi0wLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMC1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLWhhbGYtMS1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctaGFsZi0xLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctMS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTItbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0yLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tMy1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTMtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi00LWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNC1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTUtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy01LWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tNi1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTYtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi03LWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLXBhZGRpbmctNy1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtbWFyZ2luLTgtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy04LWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1tYXJnaW4tOS1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogOXJlbSAhaW1wb3J0YW50OyB9XG4gIC52ZXJ0aWNhbC1wYWRkaW5nLTktbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA5cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xMC1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMTByZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xMC1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDEwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xMS1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMTFyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xMS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDExcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnZlcnRpY2FsLW1hcmdpbi0xMi1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMTJyZW0gIWltcG9ydGFudDsgfVxuICAudmVydGljYWwtcGFkZGluZy0xMi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDEycmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBCcmVhZGNydW1iIE5hdmlnYXRpb25cbnBhcnRpYWw6IGJyZWFkY3J1bWJzXG5jb250ZXh0OiBicmVhZGNydW1icy5tYXN0ZXJzdWJcbnNlbGVjdG9yOiAuYnJlYWRjcnVtYnNcbiovXG4uYnJlYWRjcnVtYnMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MWI5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGhlaWdodDogNTZweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmJyZWFkY3J1bWJzIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgdWwgbGkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICAgIC5icmVhZGNydW1icyB1bCBsaTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJyAhaW1wb3J0YW50OyB9XG4gICAgICAuYnJlYWRjcnVtYnMgdWwgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuYnJlYWRjcnVtYnMgdWwgbGkgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7IH1cbiAgICAuYnJlYWRjcnVtYnMgdWwgYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogI2FhZWJlNjtcbiAgICAgIHRyYW5zaXRpb246IDAuM3M7IH1cbiAgICAgIC5icmVhZGNydW1icyB1bCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNhYWViZTY7IH1cblxuLmZvb3Rlci1tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmMmM1MjtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIG1pbi1oZWlnaHQ6IDE4NHB4O1xuICBwYWRkaW5nOiAwIDAgNzNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mb290ZXItbWFpbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfSB9XG5cbi5mb290ZXItbWFpbl9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mb290ZXItbWFpbl9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4uZm9vdGVyLW1haW5fX2xvZ28ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbG9nby1yZXZlcnNlZC5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBtaW4td2lkdGg6IDQ0MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mb290ZXItbWFpbl9fbG9nbyB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICB3aWR0aDogMzMwcHg7IH0gfVxuICAuc3VibG9jYXRpb24gLmZvb3Rlci1tYWluX19sb2dvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbG9nby1zaW5haS13aGl0ZS5zdmdcIik7XG4gICAgbWluLXdpZHRoOiAzMzZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgICAgLnN1YmxvY2F0aW9uIC5mb290ZXItbWFpbl9fbG9nbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuXG4uZm9vdGVyX191dGlsaXR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBjMjU0NzsgfVxuXG4uZm9vdGVyX191dGlsaXR5LW5hdiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBtaW4taGVpZ2h0OiA4NXB4OyB9XG4gIC5mb290ZXJfX3V0aWxpdHktbmF2IGRpdiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mb290ZXJfX3V0aWxpdHktbmF2IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgLmZvb3Rlcl9fdXRpbGl0eS1uYXYgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2Y0ODE0MjsgfVxuICAuZm9vdGVyX191dGlsaXR5LW5hdiAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIG1hcmdpbi10b3A6IDNweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuZm9vdGVyX191dGlsaXR5LW5hdiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMnJlbSAwOyB9XG4gICAgICAuZm9vdGVyX191dGlsaXR5LW5hdiBkaXYge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAgICAgLmZvb3Rlcl9fdXRpbGl0eS1uYXYgZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5mb290ZXJfX3V0aWxpdHktbmF2IC5pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mb290ZXItbWFpbl9faW5mbyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiA1OHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mb290ZXItbWFpbl9faW5mbyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZy10b3A6IDc4cHg7IH0gfVxuXG4uZm9vdGVyLW1haW5fX2FkZHJlc3Mge1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICM4Nzk2YTk7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mb290ZXItbWFpbl9fYWRkcmVzcyBoNSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuZm9vdGVyLW1haW5fX2FkZHJlc3MgcCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3Rlci1tYWluX19hZGRyZXNzIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuZm9vdGVyLW1haW5fX2FkZHJlc3Mge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg2MywgODYsIDExNywgMC42KTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5ncmlkLWZ1bGwtc21hbGwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAuZ3JpZC1tYXJnaW4td2lkZSAuY2VsbC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4td2lkZSAuY2VsbC5tZWRpdW0tNjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAgIC5ncmlkLW1hcmdpbi13aWRlIC5jZWxsLm1lZGl1bS02Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uaGVhZGVyLW1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IC4yNXMgaGVpZ2h0IGxpbmVhcjtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlYWRlci1tYWluIHtcbiAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjMGYyYzUyOyB9XG4gICAgICAuaXMtbmF2LW9wZW4gLmhlYWRlci1tYWluIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5pcy1uYXYtb3BlbiAuaGVhZGVyLW1haW4gLmhlYWRlci1tYWluX19zdGlja3kge1xuICAgICAgICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuICAgICAgICAuaXMtbmF2LW9wZW4gLmhlYWRlci1tYWluIC5oZWFkZXItbWFpbl9fdGl0bGUtYmFyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI2UxZTFlMTsgfVxuICAgICAgLmhlYWRlci1tYWluLmhlYWRlci0tY2FyZWVycywgLmhlYWRlci1tYWluLmhlYWRlci0tbWljcm9zaXRlLCAuaGVhZGVyLW1haW4uaGVhZGVyLS1jYW1wYWlnbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG4uaGVhZGVyLW1haW5fX3N0aWNreSB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCAxLjU2MjVyZW0gcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgaGVpZ2h0OiAxNDZweDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3M7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmhlYWRlci1tYWluX19zdGlja3kuaXMtc3R1Y2sge1xuICAgIGhlaWdodDogODVweDsgfVxuICAgIC5pcy1leHBhbmRlZCAuaGVhZGVyLW1haW5fX3N0aWNreS5pcy1zdHVjayB7XG4gICAgICBoZWlnaHQ6IDE0NnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5oZWFkZXItbWFpbl9fc3RpY2t5IHtcbiAgICAgIGhlaWdodDogNzJweDsgfVxuICAgICAgLmhlYWRlci1tYWluX19zdGlja3kuaXMtc3R1Y2sge1xuICAgICAgICBoZWlnaHQ6IDcycHg7IH1cbiAgICAgIC5pcy1uYXYtb3BlbiAuc3VibG9jYXRpb24gLmhlYWRlci1tYWluX19zdGlja3kge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsgfSB9XG4gIC5oZWFkZXItLWNhcmVlcnMgLmhlYWRlci1tYWluX19zdGlja3kge1xuICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgIzBmMmM1MjtcbiAgICBoZWlnaHQ6IDExOHB4OyB9XG4gICAgLmhlYWRlci0tY2FyZWVycyAuaGVhZGVyLW1haW5fX3N0aWNreS5pcy1zdHVjayB7XG4gICAgICBoZWlnaHQ6IDg1cHg7IH1cbiAgICAgIC5pcy1leHBhbmRlZCAuaGVhZGVyLS1jYXJlZXJzIC5oZWFkZXItbWFpbl9fc3RpY2t5LmlzLXN0dWNrIHtcbiAgICAgICAgaGVpZ2h0OiAxMThweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgICAgLmhlYWRlci0tY2FyZWVycyAuaGVhZGVyLW1haW5fX3N0aWNreSB7XG4gICAgICAgIGhlaWdodDogODJweDsgfVxuICAgICAgICAuaXMtc3R1Y2sgLmhlYWRlci0tY2FyZWVycyAuaGVhZGVyLW1haW5fX3N0aWNreSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjMGYyYzUyOyB9IH1cbiAgLmhlYWRlci0tY2FtcGFpZ24gLmhlYWRlci1tYWluX19zdGlja3kge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgIzBmMmM1MjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwO1xuICAgIGhlaWdodDogMTIzcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzOyB9XG4gICAgLmhlYWRlci0tY2FtcGFpZ24gLmhlYWRlci1tYWluX19zdGlja3kuaXMtc3R1Y2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMmM1MjsgfVxuICAgICAgLmlzLWV4cGFuZGVkIC5oZWFkZXItLWNhbXBhaWduIC5oZWFkZXItbWFpbl9fc3RpY2t5LmlzLXN0dWNrIHtcbiAgICAgICAgaGVpZ2h0OiAxMThweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhlYWRlci0tY2FtcGFpZ24gLmhlYWRlci1tYWluX19zdGlja3kge1xuICAgICAgICBoZWlnaHQ6IDgycHg7IH0gfVxuICAuaGVhZGVyLS1taWNyb3NpdGUgLmhlYWRlci1tYWluX19zdGlja3kge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgI2UzNjAxODtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwO1xuICAgIGhlaWdodDogMTU3cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzOyB9XG4gICAgLmhlYWRlci0tbWljcm9zaXRlIC5oZWFkZXItbWFpbl9fc3RpY2t5LmlzLXN0dWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMS41NjI1cmVtIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gICAgICBoZWlnaHQ6IDEzN3B4OyB9XG4gICAgICAuaXMtZXhwYW5kZWQgLmhlYWRlci0tbWljcm9zaXRlIC5oZWFkZXItbWFpbl9fc3RpY2t5LmlzLXN0dWNrIHtcbiAgICAgICAgaGVpZ2h0OiAxMzdweDsgfVxuICAuaGVhZGVyLW1pY3Jvc2l0ZS0tc3ViIC5oZWFkZXItbWFpbl9fc3RpY2t5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxLjU2MjVyZW0gcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgICBoZWlnaHQ6IDEzN3B4OyB9XG5cbi5oZWFkZXItbWFpbl9fY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDhweDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3M7XG4gIHdpbGwtY2hhbmdlOiBoZWlnaHQ7IH1cbiAgLmlzLXN0dWNrIC5oZWFkZXItbWFpbl9fY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDgycHg7IH1cbiAgICAuaXMtZXhwYW5kZWQgLmlzLXN0dWNrIC5oZWFkZXItbWFpbl9fY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTA4cHg7IH1cbiAgICAuaGVhZGVyLS1taWNyb3NpdGUgLmlzLXN0dWNrIC5oZWFkZXItbWFpbl9fY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTA4cHg7IH1cbiAgICAuaGVhZGVyLS1jYW1wYWlnbiAuaXMtc3R1Y2sgLmhlYWRlci1tYWluX19jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiA1MnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5pcy1uYXYtb3BlbiAuaGVhZGVyLS1jYW1wYWlnbiAuaGVhZGVyLW1haW5fX2NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYyYzUyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlYWRlci1tYWluX19jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiA3MnB4OyB9XG4gICAgICAuaXMtc3R1Y2sgLmhlYWRlci1tYWluX19jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDcycHg7IH0gfVxuXG4uaGVhZGVyLW1haW5fX3RpdGxlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xvZ28uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gIGhlaWdodDogNTNweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWluLXdpZHRoOiAzODFweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDAuM3MsIGhlaWdodCAwLjNzO1xuICB3aWxsLWNoYW5nZTogaGVpZ2h0LCBtYXJnaW47IH1cbiAgLmlzLXN0dWNrIC5oZWFkZXItbWFpbl9fdGl0bGUge1xuICAgIGhlaWdodDogNDBweDsgfVxuICAgIC5zdWJsb2NhdGlvbiAuaXMtc3R1Y2sgLmhlYWRlci1tYWluX190aXRsZSB7XG4gICAgICBoZWlnaHQ6IDMycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlYWRlci1tYWluX190aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMnB4IDE4cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIyMHB4IGF1dG87XG4gICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICB3aWR0aDogMjQwcHg7IH1cbiAgICAgIC5pcy1zdHVjayAuaGVhZGVyLW1haW5fX3RpdGxlIHtcbiAgICAgICAgaGVpZ2h0OiA1M3B4OyB9XG4gICAgICAgIC5zdWJsb2NhdGlvbiAuaXMtc3R1Y2sgLmhlYWRlci1tYWluX190aXRsZSB7XG4gICAgICAgICAgaGVpZ2h0OiA1M3B4OyB9IH1cbiAgLnN1YmxvY2F0aW9uIC5oZWFkZXItbWFpbl9fdGl0bGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sb2dvLXNpbmFpLnN2Z1wiKTtcbiAgICBoZWlnaHQ6IDQzcHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBtaW4td2lkdGg6IDI2MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc3VibG9jYXRpb24gLmhlYWRlci1tYWluX190aXRsZSB7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5oZWFkZXItbWFpbl9fdGl0bGUtLW90aGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAuaGVhZGVyLW1haW5fX3RpdGxlLS1vdGhlciA+IGltZyB7XG4gICAgbWF4LWhlaWdodDogNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaGVhZGVyLW1haW5fX3RpdGxlLS1vdGhlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDUwcHg7IH0gfVxuXG4uaGVhZGVyX19sb2dvLS1taWNyb3NpdGUge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmlzLXN0dWNrIC5oZWFkZXJfX2xvZ28tLW1pY3Jvc2l0ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLmhlYWRlcl9fbG9nby0tbWljcm9zaXRlIGltZyB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MsIG1hcmdpbi10b3AgMC4zczsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhlYWRlcl9fbG9nby0tbWljcm9zaXRlIGltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgICAgIC5pcy1zdHVjayAuaGVhZGVyX19sb2dvLS1taWNyb3NpdGUgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH0gfVxuICAuaXMtc3R1Y2sgLmhlYWRlcl9fbG9nby0tbWljcm9zaXRlIGltZyB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBtYXgtaGVpZ2h0OiA5MHB4OyB9XG4gIC5oZWFkZXItbWljcm9zaXRlLS1zdWIgLmhlYWRlcl9fbG9nby0tbWljcm9zaXRlIGltZyB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBtYXgtaGVpZ2h0OiA5MHB4OyB9XG4gIC5pcy1zdHVjayAuaGVhZGVyLW1pY3Jvc2l0ZS0tc3ViIC5oZWFkZXJfX2xvZ28tLW1pY3Jvc2l0ZSBpbWcge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmhlYWRlcl9fbG9nby0tbWljcm9zaXRlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5oZWFkZXJfX2xvZ28tLW1pY3Jvc2l0ZSBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4OyB9IH1cblxuLmhlYWRlcl9fbG9nby0tY2FyZWVycyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjNzOyB9XG4gIC5pcy1zdHVjayAuaGVhZGVyX19sb2dvLS1jYXJlZXJzIHtcbiAgICBtYXgtaGVpZ2h0OiA5MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5oZWFkZXJfX2xvZ28tLWNhcmVlcnMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuaGVhZGVyX19sb2dvLS1jYXJlZXJzIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAgIC5oZWFkZXJfX2xvZ28tLWNhcmVlcnMgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzBweDsgfSB9XG5cbi5oZWFkZXJfX2JhY2stbGluayB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1sZWZ0OiAycmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmZvb3Rlci1tYWluIC5oZWFkZXJfX2JhY2stbGluayB7XG4gICAgdG9wOiA4cHg7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAuZm9vdGVyLW1haW4gLmhlYWRlcl9fYmFjay1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNDFiNWZmOyB9XG4gICAgICAuZm9vdGVyLW1haW4gLmhlYWRlcl9fYmFjay1saW5rOmhvdmVyIC5pY29uIHtcbiAgICAgICAgY29sb3I6ICM0MWI1ZmY7IH1cbiAgLmhlYWRlcl9fYmFjay1saW5rIC5pY29uIHtcbiAgICBjb2xvcjogIzAwNzFiOTtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC00cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlYWRlcl9fYmFjay1saW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5pcy1uYXYtb3BlbiAuaGVhZGVyX19iYWNrLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4OyB9XG4gICAgICAuZm9vdGVyLW1haW4gLmhlYWRlcl9fYmFjay1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB0b3A6IDYwcHg7IH0gfVxuXG4ubWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAubmF2LW1haW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNiN2I3Yjc7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubmF2LW1haW4ubmF2LS1jYW1wYWlnbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTEzLCAxODUsIDAuOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNDFweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5uYXYtbWFpbi5uYXYtLWNhbXBhaWduIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmlzLW5hdi1vcGVuIC5uYXYtbWFpbi5uYXYtLWNhbXBhaWduIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcxYjk7IH0gfVxuXG4ubmF2LS1jYW1wYWlnbi13cmFwIHtcbiAgaGVpZ2h0OiA0MXB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuaXMtc3R1Y2sgLm5hdi0tY2FtcGFpZ24td3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLm5hdi0tY2FtcGFpZ24td3JhcCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLm5hdi1tYWluX19saW5rcyB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubmF2LW1haW5fX2xpbmtzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5uYXYtLWNhbXBhaWduIC5uYXYtbWFpbl9fbGlua3Mge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5hdi0tbWljcm9zaXRlIC5uYXYtbWFpbl9fbGlua3Mge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLm5hdi0tbWljcm9zaXRlIC5uYXYtbWFpbl9fbGlua3Mge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAubmF2LS1jYXJlZXJzIC5uYXYtbWFpbl9fbGlua3Mge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4ubmF2LW1haW5fX2xpbmsge1xuICBjb2xvcjogIzJmMmUyZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubmF2LW1haW5fX2xpbmsge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiN2I3Yjc7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICAgICAgcGFkZGluZy10b3A6IDZweDsgfSB9XG4gIC5uYXYtbWFpbl9fbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNlMzYwMTg7IH1cbiAgLm5hdi1tYWluX19saW5rID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm5hdi1tYWluX19saW5rIC5pY29uIHtcbiAgICBmb250LXNpemU6IC44ZW07IH1cbiAgLm5hdi0tY2FtcGFpZ24gLm5hdi1tYWluX19saW5rIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLm5hdi0tY2FtcGFpZ24gLm5hdi1tYWluX19saW5rIHtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5uYXYtLW1pY3Jvc2l0ZSAubmF2LW1haW5fX2xpbmsge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7IH1cbiAgICAuaXMtc3R1Y2sgLm5hdi0tbWljcm9zaXRlIC5uYXYtbWFpbl9fbGluayxcbiAgICAuaGVhZGVyLW1pY3Jvc2l0ZS0tc3ViIC5uYXYtLW1pY3Jvc2l0ZSAubmF2LW1haW5fX2xpbmsge1xuICAgICAgY29sb3I6ICMyZjJlMmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5uYXYtLW1pY3Jvc2l0ZSAubmF2LW1haW5fX2xpbmsge1xuICAgICAgICBjb2xvcjogIzBmMmM1MjsgfSB9XG4gIC5uYXYtLWNhcmVlcnMgLm5hdi1tYWluX19saW5rIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5uYXYtbWFpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMmM1MjsgfVxuICAgIC5pcy1uYXYtb3BlbiAubmF2LW1haW4ge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzJweCk7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmF2LW1haW5fX21lbnUgPiAubmF2LW1haW5fX3V0aWxpdHkge1xuICAgIG1hcmdpbi10b3A6IDM0cHg7IH1cbiAgLm5hdi1tYWluX19tZW51ID4gLm5hdi1tYWluX191dGlsaXR5IH4gLm5hdi1tYWluX191dGlsaXR5IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5uYXYtbWFpbl9fbWVudTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAubmF2LW1haW5fX2xpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgLm5hdi1tYWluX191dGlsaXR5IHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgcGFkZGluZy10b3A6IDFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubmF2LW1haW5fX3V0aWxpdHkgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMwNTY0YTQ7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiA4MCU7IH1cbiAgLm5hdi1tYWluX19tZW51LWl0ZW0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubmF2LW1haW5fX21lbnUtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMzRweDsgfSB9XG5cbi5uYXYtbW9iaWxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMnB4O1xuICB0b3A6IDIwcHg7IH1cbiAgLm5hdi1tb2JpbGUuaXMtbWVudS1vcGVuIC5zZWFyY2hfX3RvZ2dsZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubmF2LW1vYmlsZSB7XG4gICAgICB0b3A6IDE2cHg7IH1cbiAgICAgIC5oZWFkZXItLWNhbXBhaWduIC5uYXYtbW9iaWxlIHtcbiAgICAgICAgdG9wOiAxMHB4OyB9IH1cblxuLm5hdi1tb2JpbGVfX2J1dHRvbiB7XG4gIGNvbG9yOiAjMmYyZTJlO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmc6IDAgLjI1cmVtOyB9XG4gIC5uYXYtbW9iaWxlX19idXR0b24gLmljb246OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gIC5uYXYtbW9iaWxlX19idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5uYXYtbW9iaWxlX19idXR0b246bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLm5hdi1tb2JpbGVfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi5uYXZfX3NlY29uZGFyeSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDQwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxLjI1cmVtIHJnYmEoMTAsIDEwLCAxMCwgMC4yKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5hdl9fc2Vjb25kYXJ5IHtcbiAgICAgIG1heC13aWR0aDogMzQ2cHg7IH0gfVxuXG4ubmF2LXNlY29uZGFyeV9fdG9nZ2xlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5pcy1leHBhbmRlZCAubmF2LXNlY29uZGFyeV9fdG9nZ2xlIC5pY29uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdkJzsgfVxuXG4ubmF2X19zZWNvbmRhcnktbGV2ZWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5uYXZfX3NlY29uZGFyeS1sZXZlbC5uYXZfX3NlY29uZGFyeV9fbGV2ZWwxIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwYWRkaW5nOiA4cHggMjBweDsgfVxuICAgICAgLm5hdl9fc2Vjb25kYXJ5LWxldmVsLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDEgbGkge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLm5hdl9fc2Vjb25kYXJ5LWxldmVsLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDIsIC5uYXZfX3NlY29uZGFyeS1sZXZlbC5uYXZfX3NlY29uZGFyeV9fbGV2ZWwzLCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsNCwgLm5hdl9fc2Vjb25kYXJ5LWxldmVsLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDUsIC5uYXZfX3NlY29uZGFyeS1sZXZlbC5uYXZfX3NlY29uZGFyeV9fbGV2ZWw2IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIC5leHBhbmRlZCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsMiwgLmV4cGFuZGVkIC5uYXZfX3NlY29uZGFyeS1sZXZlbC5uYXZfX3NlY29uZGFyeV9fbGV2ZWwzLCAuZXhwYW5kZWQgLm5hdl9fc2Vjb25kYXJ5LWxldmVsLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDQsIC5leHBhbmRlZCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsNSwgLmV4cGFuZGVkIC5uYXZfX3NlY29uZGFyeS1sZXZlbC5uYXZfX3NlY29uZGFyeV9fbGV2ZWw2IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzLCBvcGFjaXR5IDAuM3M7IH1cbiAgICAgIC5leHBhbmRlZCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsMi5uYXZfX3NlY29uZGFyeV9fbGV2ZWwyLCAuZXhwYW5kZWQgLm5hdl9fc2Vjb25kYXJ5LWxldmVsLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDMubmF2X19zZWNvbmRhcnlfX2xldmVsMiwgLmV4cGFuZGVkIC5uYXZfX3NlY29uZGFyeS1sZXZlbC5uYXZfX3NlY29uZGFyeV9fbGV2ZWw0Lm5hdl9fc2Vjb25kYXJ5X19sZXZlbDIsIC5leHBhbmRlZCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsNS5uYXZfX3NlY29uZGFyeV9fbGV2ZWwyLCAuZXhwYW5kZWQgLm5hdl9fc2Vjb25kYXJ5LWxldmVsLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDYubmF2X19zZWNvbmRhcnlfX2xldmVsMiB7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMjBweDsgfVxuICAgICAgLm5hdl9fc2Vjb25kYXJ5LXBhcmVudCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsMiwgLm5hdl9fc2Vjb25kYXJ5LXBhcmVudCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsMywgLm5hdl9fc2Vjb25kYXJ5LXBhcmVudCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsNCwgLm5hdl9fc2Vjb25kYXJ5LXBhcmVudCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsNSwgLm5hdl9fc2Vjb25kYXJ5LXBhcmVudCAubmF2X19zZWNvbmRhcnktbGV2ZWwubmF2X19zZWNvbmRhcnlfX2xldmVsNiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG4gIC5uYXZfX3NlY29uZGFyeS1sZXZlbCBsaSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uYXZfX3NlY29uZGFyeS1sZXZlbCBsaSBhLmlzLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2UzNjAxODsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubmF2X19zZWNvbmRhcnktbGV2ZWwgbGkgc3BhbiB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogNTJweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA1MnB4OyB9IH1cbiAgLm5hdl9fc2Vjb25kYXJ5LWxldmVsIGxpIHNwYW4gLmljb24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiZWI1O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMTRweCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5uYXZfX3NlY29uZGFyeV9fbGV2ZWwxIHtcbiAgICAgIHBhZGRpbmc6IDhweCAyMHB4OyB9IH1cblxuLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmOGY3O1xuICBjb2xvcjogIzRhYjZhZDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMTRweCAyMHB4OyB9XG5cbi5uYXZfX3NlY29uZGFyeV9fbGV2ZWwzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIGNvbG9yOiAjMjQyNDI0O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMCAyMHB4IDIwcHg7IH1cbiAgLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDMgbGkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgIHBhZGRpbmc6IDEzcHggMDsgfVxuICAgIC5uYXZfX3NlY29uZGFyeV9fbGV2ZWwzIGxpOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZTM2MDE4OyB9XG4gICAgLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5uYXZfX3NlY29uZGFyeV9fbGV2ZWw0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIGNvbG9yOiAjNTA1MDUwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tdG9wOiAxNHB4O1xuICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gIC5uYXZfX3NlY29uZGFyeV9fbGV2ZWw0IGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgICBwYWRkaW5nOiAxM3B4IDA7IH1cbiAgICAubmF2X19zZWNvbmRhcnlfX2xldmVsNCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cblxuLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgY29sb3I6ICMyNDI0MjQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi10b3A6IDE0cHg7XG4gIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDUgbGkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmc6IDEzcHggMDsgfVxuICAgIC5uYXZfX3NlY29uZGFyeV9fbGV2ZWw1IGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4ubmF2X19zZWNvbmRhcnlfX2xldmVsNiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBjb2xvcjogIzI0MjQyNDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLXRvcDogMTRweDtcbiAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAubmF2X19zZWNvbmRhcnlfX2xldmVsNiBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgcGFkZGluZzogMTNweCAwOyB9XG4gICAgLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDYgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5uYXZfX3NlY29uZGFyeS1wYXJlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5uYXYtdXRpbGl0eSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjJjNTI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGhlaWdodDogMzhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zczsgfVxuICAuaXMtc3R1Y2sgLm5hdi11dGlsaXR5IHtcbiAgICBoZWlnaHQ6IDEycHg7IH1cbiAgICAuaXMtZXhwYW5kZWQgLmlzLXN0dWNrIC5uYXYtdXRpbGl0eSB7XG4gICAgICBoZWlnaHQ6IDM4cHg7IH1cblxuLm5hdi11dGlsaXR5X19pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubmF2LXV0aWxpdHlfX2xpbmtzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMjY3cHg7IH1cbiAgLm5hdi11dGlsaXR5X19saW5rcyAubmF2LXV0aWxpdHlfX2xpbmsge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLm5hdi11dGlsaXR5X19saW5rcyAubmF2LXV0aWxpdHlfX2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICNhYWViZTY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubmF2LXV0aWxpdHlfX2xpbmtzIC5uYXYtdXRpbGl0eV9fbGluayB7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgLjc1cmVtOyB9XG4gICAgICAgIC5pcy1zdHVjayAubmF2LXV0aWxpdHlfX2xpbmtzIC5uYXYtdXRpbGl0eV9fbGluayB7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4ubmF2LXV0aWxpdHlfX2V4cGFuZC10YWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYyYzUyO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA3cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA3cHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMzBweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcbiAgd2lkdGg6IDYwcHg7IH1cbiAgLmlzLXN0dWNrIC5uYXYtdXRpbGl0eV9fZXhwYW5kLXRhYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxOHB4OyB9XG4gICAgLmlzLWV4cGFuZGVkIC5pcy1zdHVjayAubmF2LXV0aWxpdHlfX2V4cGFuZC10YWIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubmF2LXV0aWxpdHlfX2V4cGFuZC10YWIgLmljb24ge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4OyB9XG5cbi8qIFlBUExcbm5hbWU6IEFjY29yZGlvblxucGFydGlhbDogYWNjb3JkaW9uXG5jb250ZXh0OiBhY2NvcmRpb24uYXJ0aWNsZVxuc2VsZWN0b3I6IC5hY2NvcmRpb25cbiovXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5hY2NvcmRpb24uYWNjb3JkaW9uLS1taWNyb3NpdGUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwLjYyNXJlbSByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1sZWZ0OiAwLjYyNXJlbSBzb2xpZCAjMDA3MWI5O1xuICBib3gtc2hhZG93OiAwIDAgMC42MjVyZW0gcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgbWFyZ2luLXRvcDogLjVyZW07XG4gIHRyYW5zaXRpb246IGJvcmRlci1sZWZ0LWNvbG9yIC4yNXM7IH1cbiAgLmFjY29yZGlvbi1pdGVtOmhvdmVyLCAuYWNjb3JkaW9uLWl0ZW06Zm9jdXMge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMTE1YjhjOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuYWNjb3JkaW9uLWl0ZW06aG92ZXIsIC5hY2NvcmRpb24taXRlbTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMGYyYzUyOyB9IH1cbiAgICAuYWNjb3JkaW9uLS1taWNyb3NpdGUgLmFjY29yZGlvbi1pdGVtOmhvdmVyLCAuYWNjb3JkaW9uLS1taWNyb3NpdGUgLmFjY29yZGlvbi1pdGVtOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTM2MDE4OyB9XG4gICAgICAuYWNjb3JkaW9uLS1taWNyb3NpdGUgLmFjY29yZGlvbi1pdGVtOmhvdmVyLmlzLWFjdGl2ZSwgLmFjY29yZGlvbi0tbWljcm9zaXRlIC5hY2NvcmRpb24taXRlbTpmb2N1cy5pcy1hY3RpdmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NlY2VjZTsgfVxuICAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzBmMmM1MjsgfVxuICAuYWNjb3JkaW9uLS1taWNyb3NpdGUgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NlY2VjZTtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuYWNjb3JkaW9uLS1taWNyb3NpdGUgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICNlMzYwMTg7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHBhZGRpbmc6IDEuNzVyZW0gMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIgLmFjY29yZGlvbi10aXRsZV9fbGluaywgLmFjY29yZGlvbi10aXRsZTpmb2N1cyAuYWNjb3JkaW9uLXRpdGxlX19saW5rIHtcbiAgICAgIGNvbG9yOiAjMTE1YjhjOyB9XG4gICAgLmFjY29yZGlvbi0tbWljcm9zaXRlIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tLW1pY3Jvc2l0ZSAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMzYwMTg7XG4gICAgICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG4gICAgICAuYWNjb3JkaW9uLS1taWNyb3NpdGUgLmFjY29yZGlvbi10aXRsZTpob3Zlcjpob3Zlcjo6YmVmb3JlLCAuYWNjb3JkaW9uLS1taWNyb3NpdGUgLmFjY29yZGlvbi10aXRsZTpmb2N1czpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICByaWdodDogMjRweDtcbiAgICB0b3A6IDM3JTsgfVxuICAgIC5hY2NvcmRpb24tLW1pY3Jvc2l0ZSAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNlMzYwMTg7IH1cbiAgLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHRvcDogMzQlOyB9XG4gIC5hY2NvcmRpb24tLW1pY3Jvc2l0ZSAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGNvbG9yOiAjZTM2MDE4OyB9XG4gIC5hY2NvcmRpb24tLW1pY3Jvc2l0ZSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjb2xvcjogIzI0MjQyNDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5hY2NvcmRpb24tdGl0bGVfX3RleHQge1xuICBmbGV4OiAxIDEgMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDM4cHg7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMyZDJjMmM7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UxZTFlMTsgfVxuICAuYWNjb3JkaW9uLWNvbnRlbnQ6OmJlZm9yZSwgLmFjY29yZGlvbi1jb250ZW50OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmFjY29yZGlvbi1jb250ZW50OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmFjY29yZGlvbi0tbWljcm9zaXRlIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgLmFjY29yZGlvbi10aXRsZSxcbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtOyB9IH1cblxuLmFsaWduLXZlcnRpY2FsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKiBZQVBMXG5uYW1lOiBBbHBoYWJldCBMaXN0XG5wYXJ0aWFsOiBhbHBoYWJldC1saXN0XG5zZWxlY3RvcjogLmFscGhhYmV0LWxpc3RcbiovXG4vKiBZQVBMXG5uYW1lOiBBbHBoYWJldCBMaXN0IFdpZGVcbnBhcnRpYWw6IGFscGhhYmV0LWxpc3RcbmNvbnRleHQ6IGFscGhhYmV0TGlzdC53aWRlXG5zZWxlY3RvcjogYWxwaGFiZXQtbGlzdC5hbHBoYWJldC1saXN0LS13aWRlXG4qL1xuLyogWUFQTFxubmFtZTogQWxwaGFiZXQgTGlzdCBNaWRcbnBhcnRpYWw6IGFscGhhYmV0LWxpc3RcbmNvbnRleHQ6IGFscGhhYmV0TGlzdC5taWRcbnNlbGVjdG9yOiBhbHBoYWJldC1saXN0LmFscGhhYmV0LWxpc3QtLW1pZFxuKi9cbi5hbHBoYWJldC1saXN0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAyMHB4IDE0cHggMnB4OyB9XG4gIC5hbHBoYWJldC1saXN0OjpiZWZvcmUsIC5hbHBoYWJldC1saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmFscGhhYmV0LWxpc3Q6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYWxwaGFiZXQtbGlzdCBsaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA3MWI5O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMzZweDsgfVxuICAgIC5hbHBoYWJldC1saXN0IGxpLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM2MDE4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2UzNjAxODsgfVxuICAgICAgLmFscGhhYmV0LWxpc3QgbGkuaXMtYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UzNjAxODtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2UzNjAxODtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYWxwaGFiZXQtbGlzdCBsaSBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDsgfVxuICAgIC5hbHBoYWJldC1saXN0IGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMwMDcxYjk7IH1cbiAgICAuYWxwaGFiZXQtbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAuYWxwaGFiZXQtbGlzdC5hbHBoYWJldC1saXN0LS13aWRlIGxpIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiA0OHB4OyB9XG4gICAgLmFscGhhYmV0LWxpc3QuYWxwaGFiZXQtbGlzdC0td2lkZSBsaSBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgICAuYWxwaGFiZXQtbGlzdC5hbHBoYWJldC1saXN0LS13aWRlIGxpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB3aWR0aDogMzZweDsgfVxuICAgICAgICAuYWxwaGFiZXQtbGlzdC5hbHBoYWJldC1saXN0LS13aWRlIGxpIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9IH1cbiAgLmFscGhhYmV0LWxpc3QuYWxwaGFiZXQtbGlzdC0tbWlkIGxpIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiA0NHB4OyB9XG4gICAgLmFscGhhYmV0LWxpc3QuYWxwaGFiZXQtbGlzdC0tbWlkIGxpIGEge1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5hbHBoYWJldC1saXN0LmFscGhhYmV0LWxpc3QtLW1pZCBsaSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgd2lkdGg6IDM2cHg7IH1cbiAgICAgICAgLmFscGhhYmV0LWxpc3QuYWxwaGFiZXQtbGlzdC0tbWlkIGxpIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9IH1cblxuLmFydGljbGVfX3N1YmhlYWRlciB7XG4gIGNvbG9yOiAjYzZhMTZkO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi5iYWNrZ3JvdW5kLS1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTsgfVxuXG4uYmFja2dyb3VuZC0tZGFyay1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmMmM1MjsgfVxuXG4uYmFja2dyb3VuZC0tb2Zmd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbi5iYWNrZ3JvdW5kLS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLmJhY2tncm91bmQtLWxpZ2h0LWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMGVmOyB9XG5cbi5iYWNrZ3JvdW5kLS1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZTllODsgfVxuXG4uYmFja2dyb3VuZC0tZ3JlZW4tYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGJlYjU7IH1cblxuLmJhY2tncm91bmQtLW9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMzYwMTg7IH1cblxuLmJhY2tncm91bmQtcGFkZGluZyB7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICBwYWRkaW5nLXRvcDogNjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuYmFja2dyb3VuZC1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9IH1cblxuLmJhY2stdG8tdG9wIHtcbiAgY29sb3I6ICMyNDI0MjQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuYmFjay10by10b3AgLmljb24ge1xuICAgIGNvbG9yOiAjMDA3MWI5OyB9XG4gIC5iYWNrLXRvLXRvcDpob3ZlciAuaWNvbiB7XG4gICAgY29sb3I6ICNlMzYwMTg7IH1cblxuLmJvcmRlci0tZ3JlZW4ge1xuICBib3JkZXItdG9wOiA4cHggc29saWQgIzRkYmViNTsgfVxuXG4uYm9yZGVyLWJyb3duLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjYzZhMTZkO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAuYm9yZGVyLWJyb3duLWJvdHRvbS5ib3JkZXItbm8tcGFkZGluZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmJvcmRlci1ncmVlbi1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiA4cHggc29saWQgIzRkYmViNTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cblxuLmJvcmRlci10b3Age1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuXG4uYm9yZGVyLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9XG5cbi5ib3gge1xuICBib3gtc2hhZG93OiAwIDAgMS4yNXJlbSByZ2JhKDEwLCAxMCwgMTAsIDAuMik7IH1cbiAgLmJveC5ib3gtLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDJyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5ib3guYm94LS1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTsgfSB9XG4gIC5ib3guYm94LS1uby1zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDA7IH1cbiAgLmJveC5ib3gtLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IDMzNnB4OyB9XG4gIC5ib3guYm94LS1tYXJnaW4tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5ib3guYm94LS1tYXJnaW4tbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgLmJveC5ib3gtLXBhZGRpbmctYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAuYm94LmJveC0tY2VudGVyLXNtYWxsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA0MDBweDsgfVxuXG4uYm94LS1zbWFsbC10ZXh0IHAge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuOTsgfVxuXG4uYm94LS1ib3JkZXItdG9wIHtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICNjNmExNmQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gIC5ib3gtLWhpZGRlbi1zbWFsbCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IEJ1dHRvblxucGFydGlhbDogc2ctYnV0dG9uXG5zZWxlY3RvcjogLmJ1dHRvblxuKi9cbi8qIFlBUExcbm5hbWU6IEJ1dHRvbiBIb2xsb3dcbm5vdGVzOiBUaGlzIGhhcyBhIHdoaXRlIGJvcmRlciBhbmQgdGV4dCBzbyBzaG91bGQgYmUgdXNlZCBvbiBhIGNvbG9yIGJhY2tncm91bmRcbnBhcnRpYWw6IHNnLWJ1dHRvbi1ob2xsb3dcbnNlbGVjdG9yOiAuYnV0dG9uLmJ1dHRvbi0taG9sbG93XG4qL1xuLyogWUFQTFxubmFtZTogQnV0dG9uIEhvbGxvdyBMaWdodCBCcm93blxucGFydGlhbDogc2ctYnV0dG9uLWhvbGxvdy0tbGlnaHQtYnJvd25cbnNlbGVjdG9yOiAuYnV0dG9uLmJ1dHRvbi0taG9sbG93LS1saWdodC1icm93blxuKi9cbi8qIFlBUExcbm5hbWU6IEJ1dHRvbiBIb2xsb3cgQmx1ZVxucGFydGlhbDogc2ctYnV0dG9uLWhvbGxvdy0tYmx1ZVxuc2VsZWN0b3I6IC5idXR0b24uYnV0dG9uLS1ob2xsb3ctLWJsdWUud2hpdGVcbiovXG4vKiBZQVBMXG5uYW1lOiBCdXR0b24gTWljcm9zaXRlXG5wYXJ0aWFsOiBzZy1idXR0b24tbWljcm9zaXRlXG5zZWxlY3RvcjogLmJ1dHRvbi5idXR0b24tLW1pY3Jvc2l0ZVxuKi9cbi8qIFlBUExcbm5hbWU6IEJ1dHRvbiBSb3VuZGVkXG5wYXJ0aWFsOiBzZy1idXR0b24tcm91bmRlZFxuc2VsZWN0b3I6IC5idXR0b24uYnV0dG9uLS1yb3VuZGVkXG4qL1xuLyogWUFQTFxubmFtZTogQnV0dG9uIEljb25cbnBhcnRpYWw6IHNnLWJ1dHRvbi1pY29uXG5zZWxlY3RvcjogLmJ1dHRvbi5idXR0b24tLWljb25cbiovXG4uYnV0dG9uIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwNzFiOTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMWVtIDEuNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7IH1cbiAgLmJ1dHRvbiAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAuNzVlbTsgfVxuICAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA3MWI5O1xuICAgIGNvbG9yOiAjMDA3MWI5OyB9XG4gIC5idXR0b24uYnV0dG9uLS1ob2xsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZWZlZmU7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLmJ1dHRvbi5idXR0b24tLWhvbGxvdzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICNlMzYwMTg7IH1cbiAgLmJ1dHRvbi5idXR0b24tLWhvbGxvdy0tbGlnaHQtYnJvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogI2M2OWY2ZDtcbiAgICBjb2xvcjogI2FhOGE1ZDsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1ob2xsb3ctLWxpZ2h0LWJyb3duOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNmExNmQ7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmJ1dHRvbi0taG9sbG93LS1ibHVlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDcxYjk7XG4gICAgY29sb3I6ICMwMDcxYjk7IH1cbiAgICAuYnV0dG9uLmJ1dHRvbi0taG9sbG93LS1ibHVlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcxYjk7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmJ1dHRvbi0taWNvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgcGFkZGluZzogLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAuYnV0dG9uLmJ1dHRvbi0taWNvbiAuaWNvbiB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtOyB9XG4gICAgLmJ1dHRvbi5idXR0b24tLWljb246aG92ZXIgLmljb24ge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5idXR0b24uYnV0dG9uLS1pY29uIHtcbiAgICAgICAgcGFkZGluZzogLjVyZW07IH1cbiAgICAgICAgLmJ1dHRvbi5idXR0b24tLWljb24gLmljb24ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLjI1cmVtOyB9IH1cbiAgLmJ1dHRvbi5idXR0b24tLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDI3cHg7IH1cbiAgLmJ1dHRvbi5idXR0b24tLW1pY3Jvc2l0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBjb2xvcjogIzAwNzFiOTsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1taWNyb3NpdGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uYnV0dG9uLS1uby1tYXJnaW4ge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uYnV0dG9uX19jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5idXR0b25fX2NvbnRhaW5lciBhLFxuICAuYnV0dG9uX19jb250YWluZXIgYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmJ1dHRvbl9fY29udGFpbmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbi5jYXJlZXJzLWluZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmNhcmVlcnMtaW5mbyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuLmNhcmVlcnMtcmVzdWx0cyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzZhMTZkOyB9XG4gIC5jYXJlZXJzLXJlc3VsdHMgdGFibGUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWluLXdpZHRoOiA2MDBweDsgfVxuICAgIC5jYXJlZXJzLXJlc3VsdHMgdGFibGUgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M2YTE2ZDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzZhMTZkO1xuICAgICAgY29sb3I6ICM5NzZmM2Y7IH1cbiAgICAuY2FyZWVycy1yZXN1bHRzIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2I3YjdiNyAhaW1wb3J0YW50OyB9XG4gICAgLmNhcmVlcnMtcmVzdWx0cyB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogLjlyZW07XG4gICAgICBwYWRkaW5nLXRvcDogLjlyZW07IH1cbiAgICAuY2FyZWVycy1yZXN1bHRzIHRhYmxlIHRib2R5IGg2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY2FyZWVycy1yZXN1bHRzIHRhYmxlIHRib2R5IHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uY2hhdCB7XG4gIGJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMjBweDtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNoYXQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5kYXJrLWJsdWUge1xuICBjb2xvcjogIzBmMmM1MiAhaW1wb3J0YW50OyB9XG5cbi5tZWRpdW0tYmx1ZSB7XG4gIGNvbG9yOiAjMDA3MWI5ICFpbXBvcnRhbnQ7IH1cblxuLmdyZWVuLWJsdWUge1xuICBjb2xvcjogIzRkYmViNSAhaW1wb3J0YW50OyB9XG5cbi5saWdodC1icm93biB7XG4gIGNvbG9yOiAjYzZhMTZkICFpbXBvcnRhbnQ7IH1cblxuLm1lZGl1bS1saWdodC1ncmF5IHtcbiAgY29sb3I6ICNiMGIwYjAgIWltcG9ydGFudDsgfVxuXG4uZGFyay1ncmF5IHtcbiAgY29sb3I6ICMyNDI0MjQgIWltcG9ydGFudDsgfVxuXG4ud2hpdGUge1xuICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG5cbi5jb250YWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTZweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDE2cHg7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGhlaWdodDogNTFweDtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3M7XG4gIHdpZHRoOiAyMzlweDsgfVxuICAuY29udGFjdDpob3ZlciB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250YWN0IHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmZvb3Rlci1tYWluIC5jb250YWN0IHtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTIwcHgpO1xuICAgICAgcmlnaHQ6IGF1dG87IH0gfVxuICAuaXMtc3R1Y2sgLmNvbnRhY3Qge1xuICAgIGhlaWdodDogMDsgfVxuICAgIC5pcy1leHBhbmRlZCAuaXMtc3R1Y2sgLmNvbnRhY3Qge1xuICAgICAgaGVpZ2h0OiA1MXB4OyB9XG4gIC5uYXYtbWFpbiAuY29udGFjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE2cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE2cHg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgaGVpZ2h0OiA1MXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyMzlweDsgfVxuICAgIC5uYXYtbWFpbiAuY29udGFjdCAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnN1YmxvY2F0aW9uIC5jb250YWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiZWI1OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLmNzcy1jb2x1bW5zLTIge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIGNvbHVtbi13aWR0aDogNTAlOyB9IH1cblxuLyogWUFQTFxubmFtZTogQ1RBIFByaW1hcnlcbnBhcnRpYWw6IHNnLWN0YVxuc2VsZWN0b3I6IC5jdGEuY3RhLS1wcmltYXJ5XG4qL1xuLyogWUFQTFxubmFtZTogQ1RBIFNlY29uZGFyeVxucGFydGlhbDogc2ctY3RhLXNlY29uZGFyeVxuc2VsZWN0b3I6IC5jdGEuY3RhLS1zZWNvbmRhcnlcbiovXG4vKiBZQVBMXG5uYW1lOiBDVEEgUHJpbWFyeSBNaWNyb3NpdGVcbnBhcnRpYWw6IHNnLWN0YS1taWNyb3NpdGVcbnNlbGVjdG9yOiAuY3RhLmN0YS0tcHJpbWFyeS5jdGEtLW1pY3Jvc2l0ZVxuKi9cbi8qIFlBUExcbm5hbWU6IENUQSBTZWNvbmRhcnkgTWljcm9zaXRlXG5wYXJ0aWFsOiBzZy1jdGEtc2Vjb25kYXJ5LW1pY3Jvc2l0ZVxuc2VsZWN0b3I6IC5jdGEuY3RhLS1zZWNvbmRhcnkuY3RhLS1taWNyb3NpdGVcbiovXG4uY3RhIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMzBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDMwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxLjI1cmVtIHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDI2cHggNDRweDsgfVxuICAuY3RhIC5jdGFfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5jdGEgLmN0YV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgLmN0YSAuY3RhX19ydGYge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5jdGEgLmN0YV9fbGluayB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmN0YSAuY3RhX19saW5rIC5pY29uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAyNHB4OyB9XG4gICAgICAuY3RhIC5jdGFfX2xpbmsgLmljb246OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDdweDsgfVxuICAuY3RhLmN0YS0tbWljcm9zaXRlIHtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4OyB9XG5cbi5jdGEtLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiZWI1O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7IH1cbiAgLmN0YS0tcHJpbWFyeSAuY3RhX190aXRsZSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmN0YS0tcHJpbWFyeSAuY3RhX19ydGYge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5jdGEtLXByaW1hcnkgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcxYjk7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzOyB9XG4gIC5jdGEtLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcxYjk7IH1cbiAgICAuY3RhLS1wcmltYXJ5OmhvdmVyIC5pY29uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzAwNzFiOTsgfVxuXG4uY3RhLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC5jdGEtLXNlY29uZGFyeSAuY3RhX190aXRsZSB7XG4gICAgY29sb3I6ICNlMzYwMTg7IH1cbiAgLmN0YS0tc2Vjb25kYXJ5IC5jdGFfX3J0ZiB7XG4gICAgY29sb3I6ICMyZDJjMmM7IH1cbiAgLmN0YS0tc2Vjb25kYXJ5IC5jdGFfX2xpbmsge1xuICAgIGNvbG9yOiAjMmQyYzJjOyB9XG4gIC5jdGEtLXNlY29uZGFyeSAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UzNjAxODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY3RhLS1zZWNvbmRhcnk6aG92ZXIgLmN0YV9fbGluayB7XG4gICAgY29sb3I6ICNlMzYwMTg7IH1cblxuLmN0YS1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY3RhLWdyaWQgPiAuY3RhIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5jdGEtZ3JpZCA+IC5jdGEtZ3JpZC1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5jdGEtZ3JpZCA+IC5jdGEtZ3JpZC1pdGVtIHtcbiAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmN0YS1ncmlkID4gLmN0YS1ncmlkLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH0gfVxuXG4uZGlhZ29uYWxzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2RpYWdvbmFscy5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5kaWFnb25hbHMuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAuZGlhZ29uYWxzLmRpYWdvbmFscy0tYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNSwgNDQsIDgyLCAwLjc1KTsgfVxuICAuZGlhZ29uYWxzLmRpYWdvbmFscy0tdHJhbnNwYXJlbnQge1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsgfVxuICAgIC5oZXJvIC5kaWFnb25hbHMuZGlhZ29uYWxzLS10cmFuc3BhcmVudCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuaGVybyAuZGlhZ29uYWxzLmRpYWdvbmFscy0tdHJhbnNwYXJlbnQuaXMtYW5pbWF0aW5nIHtcbiAgICAgICAgb3BhY2l0eTogLjU7IH1cbiAgLmRpYWdvbmFscy5kaWFnb25hbHMtLXZlcnktdHJhbnNwYXJlbnQge1xuICAgIG9wYWNpdHk6IC4yOyB9XG4gIC5oZXJvIC5kaWFnb25hbHMge1xuICAgIHotaW5kZXg6IC0xOyB9XG5cbi5kaWFnb25hbHMtLWRhcmtlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogLjM1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmhlcm8gLmRpYWdvbmFscy0tZGFya2VuIHtcbiAgICB6LWluZGV4OiAtMTsgfVxuXG4uZGl2aWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDFweDsgfVxuICAuZGl2aWRlciBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbGVmdDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7XG4gICAgd2lkdGg6IDEwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5kaXZpZGVyIHtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5kaXZpZGVyIHNwYW4ge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogLTI1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjVweCk7XG4gICAgICAgIHdpZHRoOiA1MHB4OyB9IH1cbiAgLmRpdmlkZXIuZGl2aWRlci0taG9yaXpvbnRhbCB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5kaXZpZGVyLmRpdmlkZXItLWhvcml6b250YWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cbiAgLmRpdmlkZXIuZGl2aWRlci0tc21hbGwtbWFyZ2luIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG5cbi8qIFlBUExcbm5hbWU6IERvYyBQcm9maWxlXG5wYXJ0aWFsOiBzZy1kb2MtcHJvZmlsZVxuc2VsZWN0b3I6IC5kb2MtcHJvZmlsZVxuKi9cbi8qIFlBUExcbm5hbWU6IERvYyBQcm9maWxlIFJlc3VsdFxucGFydGlhbDogc2ctZG9jLXByb2ZpbGUtcmVzdWx0XG5zZWxlY3RvcjogLmRvYy1wcm9maWxlLmRvYy1wcm9maWxlLXJlc3VsdFxuKi9cbi8qIFlBUExcbm5hbWU6IERvYyBQcm9maWxlIFNtYWxsXG5wYXJ0aWFsOiBzZy1kb2MtcHJvZmlsZS1zbWFsbFxuc2VsZWN0b3I6IC5kb2NfX2l0ZW1cbiovXG4vKiBZQVBMXG5uYW1lOiBEb2MgUHJvZmlsZSBTbWFsbCAtIDMgYWNyb3NzXG5wYXJ0aWFsOiBzZy1kb2MtcHJvZmlsZS1zbWFsbC0zXG5zZWxlY3RvcjogLmRvY19faXRlbVxud3JhcHBlcjogLmRvY19fcm93LmRvY19fcm93LTNcbiovXG4uZG9jLXByb2ZpbGU6OmJlZm9yZSwgLmRvYy1wcm9maWxlOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5kb2MtcHJvZmlsZTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmRvYy1wcm9maWxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuZG9jLXByb2ZpbGUuYmFja2dyb3VuZC0tZ3JheSB7XG4gICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4uZG9jLXByb2ZpbGVfX2ltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1yaWdodDogMjRweDtcbiAgbWF4LXdpZHRoOiAxNTBweDsgfVxuXG4uZG9jLXByb2ZpbGVfX2ltYWdlLWxpbms6aG92ZXIge1xuICBjb2xvcjogI2UzNjAxODsgfVxuXG4uZG9jLXByb2ZpbGVfX2JvZHkge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE3NHB4KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZG9jLXByb2ZpbGVfX2JvZHkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5kb2MtcHJvZmlsZV9fY29sIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMSU7XG4gIHdpZHRoOiA0OSU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmRvYy1wcm9maWxlX19jb2wge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5kb2MtcHJvZmlsZV9fY29sLmRvYy1wcm9maWxlX19jb2wtLXNtYWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDElO1xuICAgIHdpZHRoOiAzMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5kb2MtcHJvZmlsZV9fY29sLmRvYy1wcm9maWxlX19jb2wtLXNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDQ5JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuZG9jLXByb2ZpbGVfX2NvbC5kb2MtcHJvZmlsZV9fY29sLS1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZG9jLXByb2ZpbGVfX2NvbC5kb2MtcHJvZmlsZV9fY29sLS1iYWRnZXMge1xuICAgIHdpZHRoOiAzNyU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5kb2MtcHJvZmlsZV9fY29sLmRvYy1wcm9maWxlX19jb2wtLWJhZGdlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmRvYy1wcm9maWxlX19iYWRnZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5kb2MtcHJvZmlsZV9fdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmRvYy1wcm9maWxlX190b2dnbGUge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIC5kb2MtcHJvZmlsZV9fdG9nZ2xlIC5pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5kb2MtcHJvZmlsZV9fdG9nZ2xlIC5pY29uIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDJweDsgfVxuICAgIC5leHBhbmRlZCAuZG9jLXByb2ZpbGVfX3RvZ2dsZSAuaWNvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdkJyAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLmRvYy1wcm9maWxlLXJlc3VsdCB7XG4gICAgcGFkZGluZzogMnJlbSAycmVtIDFyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuZG9jLXByb2ZpbGVfX2ZpbHRlci1pbm5lciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5leHBhbmRlZCAuZG9jLXByb2ZpbGVfX2ZpbHRlci1pbm5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5kb2MtcHJvZmlsZV9fcmVmaW5lLWNvbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZG9jX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgLmRvY19faXRlbSAuZG9jLXByb2ZpbGVfX2ltYWdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmRvY19faXRlbSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmRvY19fcm93LTMgLmRvY19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB3aWR0aDogY2FsYygzMyUgLSAxcmVtKTsgfVxuICAgIC5kb2NfX3Jvdy0zIC5kb2NfX2l0ZW06bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuZG9jX19yb3ctMyAuZG9jX19pdGVtIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgICAgIC5kb2NfX3Jvdy0zIC5kb2NfX2l0ZW06bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5kb2NfX3Jvdy0zIC5kb2NfX2l0ZW06bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5kb2NfX3Jvdy0zIC5kb2NfX2l0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZW1iZWQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbi5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFlBUExcbm5hbWU6IEZlYXR1cmVkIFN0b3JpZXNcbnBhcnRpYWw6IGhwLWZlYXR1cmVkLXN0b3JpZXNcbnNlbGVjdG9yOiAuZmVhdHVyZWQtc3Rvcmllc1xuKi9cbi5mZWF0dXJlZC1zdG9yaWVzIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mZWF0dXJlZC1zdG9yaWVzX19ib2R5IHtcbiAgcGFkZGluZzogMXJlbSAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mZWF0dXJlZC1zdG9yaWVzX19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtOyB9IH1cblxuLmZlYXR1cmVkLXN0b3JpZXNfX21haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2MHB4O1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIC5mZWF0dXJlZC1zdG9yaWVzX19tYWluIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZlYXR1cmVkLXN0b3JpZXNfX21haW4gaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmZlYXR1cmVkLXN0b3JpZXNfX21haW4gaDUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2UzNjAxODsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuZmVhdHVyZWQtc3Rvcmllc19fbWFpbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cblxuLmZlYXR1cmVkLXN0b3JpZXNfX3NpZGUge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mZWF0dXJlZC1zdG9yaWVzX19zaWRlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH0gfVxuXG4uZmVhdHVyZWQtc3Rvcmllc19faXRlbSB7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCAjYzZhMTZkO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mZWF0dXJlZC1zdG9yaWVzX19pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuICAuZmVhdHVyZWQtc3Rvcmllc19faXRlbSBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2UzNjAxODsgfVxuXG4uZmVhdHVyZWQtc3Rvcmllc19fdGl0bGUge1xuICBmb250LXNpemU6IDM2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmZlYXR1cmVkLXN0b3JpZXNfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9IH1cblxuLyogWUFQTFxubmFtZTogRmlndXJlXG5ub3RlczogVGhpcyBjYW4gYmUgZmxvYXRlZCBlaXRoZXIgd2F5IHdpdGggdGhlIGFkZGl0aW9uIG9yIHJlbW92YWwgb2YgLmZsb2F0LXJpZ2h0IGFuZCAuZmxvYXQtbGVmdFxucGFydGlhbDogc2ctZmlndXJlXG5zZWxlY3RvcjogLmZpZ3VyZVxuKi9cbi8qIFlBUExcbm5hbWU6IEZpZ3VyZSB3aXRoIFZpZGVvXG5wYXJ0aWFsOiBzZy1maWd1cmUtdmlkZW9cbnNlbGVjdG9yOiAuZmlndXJlLmZpZ3VyZV9fdmlkZW9cbiovXG4vKiBZQVBMXG5uYW1lOiBGaWd1cmUgd2l0aCBEaWFnb25hbHNcbm5vdGVzOiBUaGUgZGlhZ29uYWxzIGRpdiBjYW4gYmUgcmVtb3ZlZCBpZiBuZWVkZWQuIElmIHNvIHlvdSBjYW4gcmVtb3ZlIC5pbWFnZS0tb3ZlcmZsb3ctaGlkZGVuIGFuZCAuaW1hZ2UtLW1heC1kaWFnb25hbHMgZnJvbSB0aGUgY29udGFpbmluZyBkaXZcbnBhcnRpYWw6IHNnLWZpZ3VyZS1zbWFsbFxuc2VsZWN0b3I6IC5maWd1cmUuaW1hZ2UtLW92ZXJmbG93LWhpZGRlbi5pbWFnZS0tbWF4LWRpYWdvbmFsc1xuKi9cbi8qIFlBUExcbm5hbWU6IEZpZ3VyZSBSaWdodCB3aXRoIEJvcmRlclxubm90ZXM6IEFkZCAuZmlndXJlLS1uby1ib3JkZXIgaWYgeW91IGRvIG5vdCB3YW50IHRoZSBib3JkZXJcbnBhcnRpYWw6IHNnLWZpZ3VyZS1yaWdodC1ib3JkZXJcbnNlbGVjdG9yOiAuZmlndXJlLmZsb2F0LXJpZ2h0LmZpZ3VyZV9faW1hZ2VcbiovXG4vKiBZQVBMXG5uYW1lOiBGaWd1cmUgTWF4IFdpZHRoXG5ub3RlczogTWF4IHdpZHRoIGlzIHNldCBpbiB0aGlzIGZpbGU7IHRoaXMgY2FuIGJlIGZsb2F0ZWQgbGVmdCBvciByaWdodCB3aXRoIC5mbG9hdC1sZWZ0IG9yIC5mbG9hdC1yaWdodCBvbiB0aGUgY29udGFpbmluZyBkaXZcbnBhcnRpYWw6IHNnLWZpZ3VyZS1tYXgtd2lkdGhcbnNlbGVjdG9yOiAuZmlndXJlLmZpZ3VyZS0tbWF4LXdpZHRoXG4qL1xuLmZpZ3VyZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmZpZ3VyZS5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDQ1cmVtOyB9XG4gIC5maWd1cmUuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDQ1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5tZWRpdW0tOCAuZmlndXJlLmZsb2F0LWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuZmlndXJlLmZsb2F0LWxlZnQge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZ3VyZS5mbG9hdC1yaWdodCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZmlndXJlX192aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmlndXJlX192aWRlbyBpbWcge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLmZpZ3VyZV9fdmlkZW86OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UzNjAxODtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIHdpZHRoOiA2MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5maWd1cmVfX3ZpZGVvLmZsb2F0LWxlZnQsIC5maWd1cmVfX3ZpZGVvLmZsb2F0LXJpZ2h0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgLmZpZ3VyZV9fdmlkZW8gLmljb24tLXBsYXkge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmlndXJlX192aWRlby5maWd1cmVfX3ZpZGVvLS1tYXgtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiA2NiU7IH0gfVxuXG4uZmlndXJlX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICAuZmlndXJlX19pbWFnZSBpbWcge1xuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjYzZhMTZkOyB9XG4gIC5maWd1cmVfX2ltYWdlLmZpZ3VyZS0tbWF4LXdpZHRoIHtcbiAgICBtYXgtd2lkdGg6IDM0OHB4OyB9XG4gIC5maWd1cmVfX2ltYWdlLmZpZ3VyZS0tbm8tYm9yZGVyIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmZpZ3VyZV9faW1hZ2UuZmlndXJlLS1mbGV4aWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLmZpZ3VyZV9fY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmMmYwZWY7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDMwcHg7XG4gIGNvbG9yOiAjMjQyNDI0O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAyMnB4IDFyZW07IH1cbiAgLmZpZ3VyZV9fY2FwdGlvbiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5maWd1cmVfX2NhcHRpb24uZmlndXJlX19jYXB0aW9uLS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4uZmlsdGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmZpbHRlciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFlBUExcbm5hbWU6IEZvbGxvd1xucGFydGlhbDogc2ctZm9sbG93XG5zZWxlY3RvcjogLmZvbGxvd19faWNvbnNcbiovXG4vKiBZQVBMXG5uYW1lOiBGb2xsb3cgLSBGb290ZXJcbm5vdGVzOiAuZm9vdGVyX19zb2NpYWwgd3JhcHBpbmcgY2xhc3MgbWFrZXMgaWNvbiBiYWNrZ3JvdW5kIGNvbG9yIGJsdWVcbnBhcnRpYWw6IHNnLWZvbGxvdy1mb290ZXJcbnNlbGVjdG9yOiAuZm9sbG93X19pY29uc1xuKi9cbi8qIFlBUExcbm5hbWU6IEZvbGxvdyAtIFNoYXJlXG5ub3RlczogU2hhcmUgZnVuY3Rpb25hbGl0eSBqYXZhc2NyaXB0IGlzIGluIHNyYy9hc3NldHMvanMvc2hhcmUuanNcbnBhcnRpYWw6IHNnLWZvbGxvdy1zaGFyZVxuc2VsZWN0b3I6IC5mb2xsb3dfX2ljb25zXG4qL1xuLmZvbGxvdyB7XG4gIHBhZGRpbmc6IDAgMnJlbSAxcmVtOyB9XG5cbi5mb2xsb3dfX3RpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmMmM1MjtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIwcHg7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mb2xsb3dfX2ljb25zIHtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cbiAgLmZvbGxvd19faWNvbnMgLmljb24ge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGxlZnQ6IDhweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4OyB9XG5cbi5mb2xsb3dfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiZWI1O1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDEuMmVtO1xuICBoZWlnaHQ6IDM2cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgbWFyZ2luOiAwIDZweCAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgd2lkdGg6IDM2cHg7IH1cbiAgLmZvb3Rlcl9fc29jaWFsIC5mb2xsb3dfX2ljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcxYjk7IH1cblxuLmZvbGxvd19faWNvbi0tZmFjZWJvb2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc2MzljOyB9XG4gIC5mb2xsb3dfX2ljb24tLWZhY2Vib29rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI1OWI4OyB9XG5cbi5mb2xsb3dfX2ljb24tLXR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmFhM2VmOyB9XG4gIC5mb2xsb3dfX2ljb24tLXR3aXR0ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYWE3ZmY7IH1cblxuLmZvbGxvd19faWNvbi0taW5zdGFncmFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyMzI3ZTsgfVxuICAuZm9sbG93X19pY29uLS1pbnN0YWdyYW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMTEzN2M7IH1cblxuLmZvbGxvd19faWNvbi0teW91dHViZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzMwMWM7IH1cbiAgLmZvbGxvd19faWNvbi0teW91dHViZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4MWEwMDsgfVxuXG4uZm9sbG93X19pY29uLS1saW5rZWRpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTc4YjM7IH1cbiAgLmZvbGxvd19faWNvbi0tbGlua2VkaW46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdkYzQ7IH1cblxuLmZvbGxvd19fZmFjZWJvb2sge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZmItcGFnZSxcbi5mYi1wYWdlIHNwYW4sXG4uZmItcGFnZSBzcGFuIGlmcmFtZVtzdHlsZV0ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNzg4NDZyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNzY5MjNyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiN2I3Yjc7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiN2I3Yjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNiN2I3Yjc7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzQ1NDU0NTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlMWUxO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMyNDI0MjQ7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHggMCAwIDZweDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJkMmMyYztcbiAgYmFja2dyb3VuZDogI2UxZTFlMTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2I3YjdiNzsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjc4ODQ2cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjc2OTIzcmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjdiN2I3O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4NDcsIDQ2LCA0NiUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I3YjdiNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2I3YjdiNztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5zZWxlY3QsXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAuMjVyZW0gMDsgfVxuXG5sYWJlbC5mdWxsLXdpZHRoLFxubGVnZW5kLmZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbC5yZXF1aXJlZCxcbmxlZ2VuZC5yZXF1aXJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBsYWJlbC5yZXF1aXJlZCAubGFiZWwtdGV4dDo6YmVmb3JlLFxuICBsZWdlbmQucmVxdWlyZWQgLmxhYmVsLXRleHQ6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmNDIwMjA7XG4gICAgY29udGVudDogJyonO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1yaWdodDogLjI1cmVtOyB9XG5cbmxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7IH1cblxuZmllbGRzZXQucmFkaW8taW5wdXQgbGFiZWwge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5zZWxlY3Qtd3JhcCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZmZmZWZmLCAjZTRlNGU0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2I3YjdiNztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VsZWN0LXdyYXAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnNlbGVjdC13cmFwIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MWI5O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMXB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMzJweDsgfVxuICAgIC5zZWxlY3Qtd3JhcCAuaWNvbjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogM3B4OyB9XG5cbi5jaGVja2JveC13cmFwIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDIycHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuY2hlY2tib3gtd3JhcCBpbnB1dDpjaGVja2VkIH4gLmNoZWNrYm94IC5jaGVja2JveF9fY2hlY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIGxhYmVsIC5jaGVja2JveC13cmFwIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxLjI1cmVtOyB9XG5cbi5jaGVja2JveCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZmZmZWZmLCAjZTRlNGU0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2I3YjdiNztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogLTEycHg7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjRweDsgfVxuICAuY2hlY2tib3ggLmNoZWNrYm94X19jaGVjayB7XG4gICAgY29sb3I6ICMwMDcxYjk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGVmdDogM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0ycHg7IH1cblxuLmZvcm1fX3JlcXVpcmVkIHtcbiAgYm90dG9tOiAtMjFweDtcbiAgY29sb3I6ICNmNDIwMjA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmZ1dHVyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZnV0dXJlX19oZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAgMTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAuZnV0dXJlX19oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mdXR1cmVfX2hlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDA7XG4gICAgICBwYWRkaW5nOiAycmVtIDFyZW07IH0gfVxuXG4uZnV0dXJlX19oZWFkZXItdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuICAuZnV0dXJlX19oZWFkZXItdGV4dCBoMiB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5mdXR1cmVfX2hlYWRlci10ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mdXR1cmVfX2hlYWRlci10ZXh0IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgIC5mdXR1cmVfX2hlYWRlci10ZXh0IHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbi5mdXR1cmVfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCUgMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cywgb3BhY2l0eSAuNXM7IH1cbiAgLmlzLWFuaW1hdGluZyAuZnV0dXJlX19pdGVtIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmZ1dHVyZV9faXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG4gIC5mdXR1cmVfX2l0ZW0uZnV0dXJlX19pdGVtLS12aWRlbyB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmZ1dHVyZV9faXRlbS5mdXR1cmVfX2l0ZW0tLXZpZGVvOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UzNjAxODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjVweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMjVweCk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICB3aWR0aDogNTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgICAgIC5mdXR1cmVfX2l0ZW0uZnV0dXJlX19pdGVtLS12aWRlbzo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuZnV0dXJlX19pdGVtLmZ1dHVyZV9faXRlbS0tdmlkZW86aG92ZXI6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZ1dHVyZV9faXRlbS5mdXR1cmVfX2l0ZW0tLXZpZGVvOmhvdmVyIC5pY29uIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZnV0dXJlX19pdGVtLmZ1dHVyZV9faXRlbS0tdmlkZW8gLmljb24ge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICB6LWluZGV4OiA0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgICAgLmZ1dHVyZV9faXRlbS5mdXR1cmVfX2l0ZW0tLXZpZGVvIC5pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmZ1dHVyZV9faXRlbS5mdXR1cmVfX2l0ZW0tLXN0b3J5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5mdXR1cmVfX2l0ZW0uZnV0dXJlX19pdGVtLS1zdG9yeSBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cbiAgICAuZnV0dXJlX19pdGVtLmZ1dHVyZV9faXRlbS0tc3RvcnkgLmljb24tLWZ1dHVyZS1zdG9yeSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvaWNvbi1wYXRpZW50X3N0b3J5LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgd2lkdGg6IDU2cHg7IH1cbiAgICAuZnV0dXJlX19pdGVtLmZ1dHVyZV9faXRlbS0tc3RvcnkgLmljb24tLWFycm93LXJpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZnV0dXJlX19pdGVtLmZ1dHVyZV9faXRlbS0tc3RvcnkgLmljb24tLWFycm93LXJpZ2h0IHtcbiAgICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4zczsgfSB9XG4gICAgLmZ1dHVyZV9faXRlbS5mdXR1cmVfX2l0ZW0tLXN0b3J5IC5pY29uLS1uZXdzLFxuICAgIC5mdXR1cmVfX2l0ZW0uZnV0dXJlX19pdGVtLS1zdG9yeSAuaWNvbi0tcGF0aWVudC1zdG9yeSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiA1NnB4OyB9XG4gICAgICAuZnV0dXJlX19pdGVtLmZ1dHVyZV9faXRlbS0tc3RvcnkgLmljb24tLW5ld3M6OmJlZm9yZSxcbiAgICAgIC5mdXR1cmVfX2l0ZW0uZnV0dXJlX19pdGVtLS1zdG9yeSAuaWNvbi0tcGF0aWVudC1zdG9yeTo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE1cHg7IH1cbiAgICAuZnV0dXJlX19pdGVtLmZ1dHVyZV9faXRlbS0tc3RvcnkgLmljb24tLXBhdGllbnQtc3Rvcnk6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAxN3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZ1dHVyZV9faXRlbS5mdXR1cmVfX2l0ZW0tLXN0b3J5OmhvdmVyIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuICAgICAgLmZ1dHVyZV9faXRlbS5mdXR1cmVfX2l0ZW0tLXN0b3J5OmhvdmVyIC5pY29uLS1hcnJvdy1yaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODBweCk7IH0gfVxuICAuZnV0dXJlX19pdGVtOmhvdmVyIC5mdXR1cmVfX2hpZGRlbi1vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZ1dHVyZV9faXRlbTpob3ZlciAuZnV0dXJlX19oaWRkZW4tb3ZlcmxheSAuaWNvbiB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5mdXR1cmVfX3ZpZGVvIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyOyB9XG4gIC5mdXR1cmVfX3ZpZGVvLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mdXR1cmVfX3ZpZGVvIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgIGNvbG9yOiAjZTM2MDE4O1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiA0MHB4O1xuICAgIHdpZHRoOiA1NnB4OyB9XG5cbi5mdXR1cmVfX2hpZGRlbi1vdmVybGF5IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNSwgNDQsIDgyLCAwLjgpO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5mdXR1cmVfX2hpZGRlbi1vdmVybGF5IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5mdXR1cmVfX2hpZGRlbi1vdmVybGF5IC5pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mdXR1cmVfX2dyaWQgLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5mdXR1cmVfX2dyaWQgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuXG4uZnV0dXJlX19ncmlkIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5mdXR1cmVfX2dyaWQgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG5cbi5oYW1idXJnZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5oYW1idXJnZXJfX2xpbmUge1xuICBzdHJva2U6ICMwMDcxYjk7XG4gIHN0cm9rZS1taXRlcmxpbWl0OiAxMDtcbiAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gIHRyYW5zaXRpb246IHN0cm9rZSAuMjVzLCB0cmFuc2Zvcm0gLjI1cztcbiAgd2lsbC1jaGFuZ2U6IHN0cm9rZSwgYmFja2dyb3VuZDsgfVxuICAuaGFtYnVyZ2VyX19saW5lOm50aC1jaGlsZCgxKSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0OyB9XG4gIC5oYW1idXJnZXJfX2xpbmU6bnRoLWNoaWxkKDMpIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7IH1cbiAgLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyX19saW5lOm50aC1jaGlsZCgxKSxcbiAgLmlzLW1lbnUtb3BlbiAuaGFtYnVyZ2VyX19saW5lOm50aC1jaGlsZCgxKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAuaXMtYWN0aXZlIC5oYW1idXJnZXJfX2xpbmU6bnRoLWNoaWxkKDIpLFxuICAuaXMtbWVudS1vcGVuIC5oYW1idXJnZXJfX2xpbmU6bnRoLWNoaWxkKDIpIHtcbiAgICBzdHJva2U6IHRyYW5zcGFyZW50OyB9XG4gIC5pcy1hY3RpdmUgLmhhbWJ1cmdlcl9fbGluZTpudGgtY2hpbGQoMyksXG4gIC5pcy1tZW51LW9wZW4gLmhhbWJ1cmdlcl9fbGluZTpudGgtY2hpbGQoMykge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAub3JhbmdlIC5oYW1idXJnZXJfX2xpbmUge1xuICAgIHN0cm9rZTogI2UzNjAxODsgfVxuXG4vKiBZQVBMXG5uYW1lOiBJbWFnZSBCb3JkZXJcbnBhcnRpYWw6IHNnLWltYWdlLWJvcmRlclxuc2VsZWN0b3I6IC5pbWFnZS0tYm9yZGVyXG4qL1xuLyogWUFQTFxubmFtZTogSW1hZ2UgUG9ydHJhaXRcbnBhcnRpYWw6IHNnLWltYWdlLXBvcnRyYWl0XG5zZWxlY3RvcjogLmltYWdlLS1wb3J0cmFpdFxuKi9cbi8qIFlBUExcbm5hbWU6IEltYWdlIFBvcnRyYWl0IFNtYWxsXG5wYXJ0aWFsOiBzZy1pbWFnZS1wb3J0cmFpdC1zbWFsbFxuc2VsZWN0b3I6IC5pbWFnZS0tcG9ydHJhaXQtLXNtYWxsXG4qL1xuLyogWUFQTFxubmFtZTogSW1hZ2UgTWF4IFdpZHRoIGFuZCBEaWFnb25hbHNcbm5vdGVzOiBTYW1lIGFzIGV4YW1wbGUgZnJvbSBmaWd1cmUgY29tcG9uZW50XG5wYXJ0aWFsOiBzZy1pbWFnZS1tYXgtZGlhZ29uYWxzXG5zZWxlY3RvcjogLmltYWdlLS1tYXgtZGlhZ29uYWxzXG4qL1xuLyogWUFQTFxubmFtZTogSW1hZ2UgRml0XG5ub3RlczogRm9yIHVzZSBpbiBjYXNlcyB3aGVyZSB0aGUgaW1hZ2UgbmVlZHMgdG8gZmlsbCB0aGUgY29udGFpbmVyOyBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGltYWdlLS1tYXgtNTQwIHRvIGxpbWl0IGhlaWdodDsgeW91IGNvdWxkIGNyZWF0ZSBuZXcgbWF4IGNsYXNzZXMgZm9yIGRpZmZlcmVudCBzaXR1YXRpb25zXG5wYXJ0aWFsOiBzZy1pbWFnZS1maXRcbnNlbGVjdG9yOiAuaW1hZ2UtLWZpdFxuKi9cbi8qIFlBUExcbm5hbWU6IEltYWdlIE1heCBXaWR0aCA1NDBcbm5vdGVzOiBVc2VkIHRvIGxpbWl0IG1heCBoZWlnaHQgb2YgaW1hZ2VcbnBhcnRpYWw6IHNnLWltYWdlLW1heC01NDBcbnNlbGVjdG9yOiAuaW1hZ2UtLW1heC01NDBcbiovXG4uaW1hZ2UtLWJvcmRlciB7XG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjYzZhMTZkOyB9XG5cbi5pbWFnZS0tZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLmltYWdlLS1wb3J0cmFpdCB7XG4gIG1heC13aWR0aDogMTUwcHg7IH1cblxuLmltYWdlLS1wb3J0cmFpdC0tc21hbGwge1xuICBtYXgtd2lkdGg6IDExNHB4OyB9XG5cbi5pbWFnZS0tbWF4LWRpYWdvbmFscyB7XG4gIG1heC13aWR0aDogMzQ4cHggIWltcG9ydGFudDsgfVxuXG4uaW1hZ2UtLW92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaW1hZ2UtLW92ZXJmbG93LWhpZGRlbi5pbWFnZS0tbm8taG92ZXI6aG92ZXIgPiBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgLmltYWdlLS1vdmVyZmxvdy1oaWRkZW4gaW1nIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zczsgfVxuICAuaW1hZ2UtLW92ZXJmbG93LWhpZGRlbjpob3ZlciArIGRpdiA+IHNwYW4ge1xuICAgIGNvbG9yOiAjMDA3MWI5OyB9XG4gIC5pbWFnZS0tb3ZlcmZsb3ctaGlkZGVuOmhvdmVyID4gaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cblxuLmltYWdlLS1maWxsIGltZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pbWFnZS0tZml0IHtcbiAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiB0b3AnO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmltYWdlLS1tYXgtNTQwIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7IH1cblxuLyogWUFQTFxubmFtZTogSGVyb1xubm90ZXM6IHBhcmFsbGF4IHNjcm9sbCBkaXNhYmxlZCBpbiBzdHlsZWd1aWRlOyB6LWluZGV4IGNoYW5nZXMgZm9yIHN0eWxlR3VpZGUgYXQgYm90dG9tIChsb29rIGZvciAuc2ctYmxvY2sgYXQgYm90dG9tIG9mIHRoaXMgZmlsZSlcbnBhcnRpYWw6IHNnLWhlcm9cbmNvbnRleHQ6IGhlcm8uaG9tZXBhZ2VcbnNlbGVjdG9yOiAuaGVyb1xuKi9cbi8qIFlBUExcbm5hbWU6IEhlcm8gTWFzdGVyc3ViXG5ub3RlczogcGFyYWxsYXggc2Nyb2xsIGRpc2FibGVkIGluIHN0eWxlZ3VpZGVcbnBhcnRpYWw6IHNnLWhlcm9cbmNvbnRleHQ6IGhlcm8ubWFzdGVyc3ViXG5zZWxlY3RvcjogLmhlcm8tLXN1YlxuKi9cbi8qIFlBUExcbm5hbWU6IEhlcm8gTWFzdGVyc3ViIE1lc3NhZ2Vcbm5vdGVzOiBwYXJhbGxheCBzY3JvbGwgZGlzYWJsZWQgaW4gc3R5bGVndWlkZVxucGFydGlhbDogc2ctaGVyb1xuY29udGV4dDogaGVyby5sb2NhdGlvbkRldGFpbFxuc2VsZWN0b3I6IC5oZXJvLS1zdWIuaGVyby0tc3ViLS1tZXNzYWdlXG4qL1xuLyogWUFQTFxubmFtZTogSGVybyBDYW1wYWlnblxubm90ZXM6IHotaW5kZXggY2hhbmdlcyBhbmQgcmVtb3ZlZCBuZWdhdGl2ZSB0b3AgbWFyZ2luIGZvciBzdHlsZWd1aWRlXG5wYXJ0aWFsOiBzZy1oZXJvXG5jb250ZXh0OiBoZXJvLmNhbXBhaWduXG5zZWxlY3RvcjogLmhlcm8tLWNhbXBhaWduXG4qL1xuLyogWUFQTFxubmFtZTogSGVybyBNaWNyb3NpdGVcbm5vdGVzOiB6LWluZGV4IGNoYW5nZXMgYW5kIHJlbW92ZWQgbmVnYXRpdmUgdG9wIG1hcmdpbiBmb3Igc3R5bGVndWlkZVxucGFydGlhbDogc2ctaGVyb1xuY29udGV4dDogaGVyby5taWNyb3NpdGVcbnNlbGVjdG9yOiAuaGVyby0tY2FtcGFpZ24uaGVyby0tbWljcm9zaXRlXG4qL1xuLmhlcm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIG1pbi1oZWlnaHQ6IDE1LjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVybyB7XG4gICAgICBoZWlnaHQ6IDU1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmhlcm8ge1xuICAgICAgaGVpZ2h0OiAxNzhweDtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZXJvLS1zdWIgLmhlcm8ge1xuICAgICAgaGVpZ2h0OiAzMzZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaGVyby0tc3ViIC5oZXJvIHtcbiAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAyNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5oZXJvLS1zdWIgLmhlcm8ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm8tLXN1Yi0tbWVzc2FnZSAuaGVybyB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm8tLWNhbXBhaWduIC5oZXJvIHtcbiAgICAgIGhlaWdodDogNjg1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuaGVyby0tY2FtcGFpZ24gLmhlcm8ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uaGVyb19fd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm9fX3dyYXAge1xuICAgICAgaGVpZ2h0OiA1NTBweDsgfSB9XG4gIC5oZXJvX193cmFwLmhlcm8tLXN1YiB7XG4gICAgaGVpZ2h0OiAzMzZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvX193cmFwLmhlcm8tLXN1YiB7XG4gICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0MHB4OyB9XG4gICAgICAgIC5oZXJvX193cmFwLmhlcm8tLXN1Yi5oZXJvLS1zdWItLW1lc3NhZ2Uge1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgICAuaGVyb19fd3JhcC5oZXJvLS1zdWIge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEzMHB4OyB9IH1cbiAgLmhlcm9fX3dyYXAuaGVyby0tY2FtcGFpZ24ge1xuICAgIGhlaWdodDogNjg1cHg7XG4gICAgbWFyZ2luLXRvcDogLTExOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVyb19fd3JhcC5oZXJvLS1jYW1wYWlnbiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMjEwcHg7IH0gfVxuICAgIC5oZXJvX193cmFwLmhlcm8tLWNhbXBhaWduLmhlcm8tLW1pY3Jvc2l0ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTU3cHg7IH1cblxuLmhlcm9fX2ltYWdlIHtcbiAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiB0b3AnO1xuICBoZWlnaHQ6IDU1MHB4O1xuICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICB6LWluZGV4OiAtMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm9fX2ltYWdlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuNXM7IH1cbiAgICAgIC5oZXJvX19pbWFnZS5pcy1hbmltYXRpbmcge1xuICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5oZXJvX19pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgbWluLWhlaWdodDogNDAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuaGVyb19faW1hZ2Uge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMTc4cHg7IH0gfVxuICAuaGVyby0tc3ViIC5oZXJvX19pbWFnZSB7XG4gICAgaGVpZ2h0OiAzMzZweDtcbiAgICBtaW4taGVpZ2h0OiAzMzZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLS1zdWIgLmhlcm9fX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjQwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgICAgLmhlcm8tLXN1YiAuaGVyb19faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDsgfSB9XG4gIC5oZXJvLS1jYW1wYWlnbiAuaGVyb19faW1hZ2Uge1xuICAgIGhlaWdodDogNjg1cHg7XG4gICAgbWluLWhlaWdodDogNjg1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5oZXJvLS1jYW1wYWlnbiAuaGVyb19faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDIxMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyMTBweDsgfSB9XG5cbi5oZXJvX19wb3Mtc3RhdGUtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtODUlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm9fX3Bvcy1zdGF0ZS13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMzBweDsgfVxuICAgICAgLmhlcm9fX3Bvcy1zdGF0ZS13cmFwLmhlcm9fX3Bvcy1zdGF0ZS13cmFwLS1zdWIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5oZXJvLS1zdWItLW1lc3NhZ2UgLmhlcm9fX3Bvcy1zdGF0ZS13cmFwIHtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmhlcm9fX3Bvcy1zdGF0ZS13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDsgfVxuICAgICAgLmhlcm9fX3Bvcy1zdGF0ZS13cmFwLmhlcm9fX3Bvcy1zdGF0ZS13cmFwLS1zdWIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuaGVyby0tY2FtcGFpZ24gLmhlcm9fX3Bvcy1zdGF0ZS13cmFwIHtcbiAgICB0b3A6IC02OCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLS1jYW1wYWlnbiAuaGVyb19fcG9zLXN0YXRlLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm8tLW1pY3Jvc2l0ZSAuaGVyb19fcG9zLXN0YXRlLXdyYXAsXG4gICAgLmhlcm8tLWNhbXBhaWduIC5oZXJvX19wb3Mtc3RhdGUtd3JhcCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjIwcHg7IH0gfVxuXG4uaGVyb19fcG9zLXN0YXRlIHtcbiAgY29sb3I6ICMwZjJjNTI7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjlzIGVhc2UtaW4sIG9wYWNpdHkgMC45cyBlYXNlLWluO1xuICB3aWR0aDogNDUlO1xuICB6LWluZGV4OiAzOyB9XG4gIC5oZXJvX19wb3Mtc3RhdGU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM2MDE4O1xuICAgIGJvdHRvbTogLTI3cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxNDJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm9fX3Bvcy1zdGF0ZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyczsgfVxuICAgICAgLmhlcm9fX3Bvcy1zdGF0ZS5pcy1hbmltYXRpbmcge1xuICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5oZXJvX19wb3Mtc3RhdGUge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5oZXJvX19wb3Mtc3RhdGU6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtMThweDtcbiAgICAgICAgd2lkdGg6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmhlcm9fX3Bvcy1zdGF0ZSB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgIGxlZnQ6IDI0cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICB0b3A6IDE2cHg7XG4gICAgICB3aWR0aDogNjAlOyB9XG4gICAgICAuaGVyb19fcG9zLXN0YXRlOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICB3aWR0aDogNjRweDsgfSB9XG5cbi5oZXJvX190ZXh0Ym94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3NywgMTkwLCAxODEsIDAuOCk7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG4gIHdpZHRoOiA0MCU7IH1cbiAgLmhlcm9fX3RleHRib3ggaDIge1xuICAgIGZvbnQtc2l6ZTogMzdweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmhlcm8tLWNhbXBhaWduIC5oZXJvX190ZXh0Ym94IGgyIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiA0MnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgICAgLmhlcm8tLWNhbXBhaWduIC5oZXJvX190ZXh0Ym94IGgyIHtcbiAgICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgICBmb250LXNpemU6IDI4cHg7IH0gfVxuICAuaGVyb19fdGV4dGJveCBwIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmhlcm8tLWNhbXBhaWduIC5oZXJvX190ZXh0Ym94IHAge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgICAgICAuaGVyby0tY2FtcGFpZ24gLmhlcm9fX3RleHRib3ggcCB7XG4gICAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLmhlcm9fX3RleHRib3guaGVyb19fdGV4dGJveC0tbGFyZ2UtdGV4dCBoMiB7XG4gICAgZm9udC1zaXplOiA1OXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhlcm9fX3RleHRib3guaGVyb19fdGV4dGJveC0tbGFyZ2UtdGV4dCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgICAuaGVyb19fdGV4dGJveC5oZXJvX190ZXh0Ym94LS1sYXJnZS10ZXh0IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzMXB4OyB9IH1cbiAgLmhlcm9fX3RleHRib3guaGVyb19fdGV4dGJveC0tbGFyZ2UtdGV4dCBwIHtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVyb19fdGV4dGJveC5oZXJvX190ZXh0Ym94LS1sYXJnZS10ZXh0IHAge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgICAgLmhlcm9fX3RleHRib3guaGVyb19fdGV4dGJveC0tbGFyZ2UtdGV4dCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm9fX3RleHRib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYmViNTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDIwcHg7XG4gICAgICBvdXRsaW5lOiA0cHggc29saWQgcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjQpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMjZweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmhlcm9fX3RleHRib3gge1xuICAgICAgdG9wOiAtMjZweDsgfSB9XG4gIC5oZXJvX190ZXh0Ym94Lmhlcm9fX3RleHRib3gtLXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogOTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVyb19fdGV4dGJveC5oZXJvX190ZXh0Ym94LS10cmFuc3BhcmVudCB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5oZXJvX190ZXh0Ym94Lmhlcm9fX3RleHRib3gtLXRyYW5zcGFyZW50IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAuaGVyb19fdGV4dGJveC5oZXJvX190ZXh0Ym94LS10cmFuc3BhcmVudCAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgICAgLmhlcm9fX3RleHRib3guaGVyb19fdGV4dGJveC0tdHJhbnNwYXJlbnQgaDIsXG4gICAgICAuaGVyb19fdGV4dGJveC5oZXJvX190ZXh0Ym94LS10cmFuc3BhcmVudCBwIHtcbiAgICAgICAgY29sb3I6ICMyNDI0MjQgIWltcG9ydGFudDsgfSB9XG4gIC5oZXJvX190ZXh0Ym94Lmhlcm9fX3RleHRib3gtLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uaGVyb19fdGV4dGJveC1ib3JkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiZWI1O1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IDgwcHg7IH1cblxuLmhlcm9fX2RpcmVjdGlvbnMtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGVyby1kaXJlY3Rpb25zIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjcpO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmhlcm8tZGlyZWN0aW9ucyBwIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgICAuaGVyby1kaXJlY3Rpb25zIHAge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gIC5oZXJvLWRpcmVjdGlvbnMgYSB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5oZXJvLWRpcmVjdGlvbnMgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgLmhlcm8tZGlyZWN0aW9ucyAuaWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVyby1kaXJlY3Rpb25zIC5pY29uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm8tZGlyZWN0aW9ucyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xOHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uaGVyby1kaXJlY3Rpb25zX19saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmhlcm8tZGlyZWN0aW9uc19fbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9IH1cblxuLmhlcm9fX292ZXJsYXkge1xuICBtYXJnaW4tdG9wOiAtMTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAuaGVyb19fb3ZlcmxheS5oZXJvX19vdmVybGF5LS1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogLTQ2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm9fX292ZXJsYXkuaGVyb19fb3ZlcmxheS0tbWljcm9zaXRlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuaGVyb19fb3ZlcmxheSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLnNnLWJsb2NrIC5oZXJvX19pbWFnZSB7XG4gIHotaW5kZXg6IDA7IH1cblxuLnNnLWJsb2NrIC5oZXJvIC5kaWFnb25hbHMge1xuICBvcGFjaXR5OiAuNTtcbiAgei1pbmRleDogMjsgfVxuXG4uc2ctYmxvY2sgLmhlcm8gLmRpYWdvbmFscy0tZGFya2VuIHtcbiAgei1pbmRleDogMTsgfVxuXG4uc2ctYmxvY2sgLmhlcm8tbmF2X19jb250YWluZXIuaGVyby1uYXYtLWNhbXBhaWduIHtcbiAgei1pbmRleDogMzsgfVxuXG4uc2ctYmxvY2sgLmhlcm9fX3dyYXAuaGVyby0tY2FtcGFpZ24ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhlcm8tbmF2X19jb250YWluZXIge1xuICAgIGJvdHRvbTogMTU0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oZXJvLW5hdl9fY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYyYzUyO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDIwcHg7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDE1NnB4O1xuICAgIG91dGxpbmU6IDRweCBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNCk7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0zNnB4O1xuICAgIHdpZHRoOiA5MiU7IH0gfVxuXG4uaGVyby1uYXZfX2NvbnRhaW5lci5oZXJvLW5hdi0tY2FtcGFpZ24ge1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5oZXJvLW5hdl9fY29udGFpbmVyLmhlcm8tbmF2LS1jYW1wYWlnbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiZWI1O1xuICAgICAgbWFyZ2luLXRvcDogLTgwcHg7XG4gICAgICB0b3A6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuaGVyby1uYXZfX2NvbnRhaW5lci5oZXJvLW5hdi0tY2FtcGFpZ24ge1xuICAgICAgbWFyZ2luLXRvcDogMHB4OyB9IH1cblxuLmhlcm8tbmF2IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjc1KTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm8tbmF2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjJjNTI7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07IH0gfVxuICAuaGVyby1uYXYtLWNhbXBhaWduIC5oZXJvLW5hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MiwgMTUxLCAxNDQsIDAuOSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLW5hdi0tY2FtcGFpZ24gLmhlcm8tbmF2IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGJlYjU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbi5oZXJvLW5hdl9fc2VjdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5oZXJvLW5hdl9fc2VjdGlvbjpob3ZlciAuaGVyby1uYXZfX2xpbmsge1xuICAgIGNvbG9yOiAjNGRiZWI1OyB9XG4gIC5oZXJvLW5hdl9fc2VjdGlvbjpob3ZlciAuaGVyby1uYXZfX2ljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzRkYmViNTtcbiAgICBjb2xvcjogIzRkYmViNTsgfVxuICAgIC5oZXJvLW5hdl9fc2VjdGlvbjpob3ZlciAuaGVyby1uYXZfX2ljb246OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM0ZGJlYjU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcywgb3BhY2l0eSAuMnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm8tbmF2X19zZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjJjNTI7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmhlcm8tbmF2X19zZWN0aW9uIHtcbiAgICAgIHdpZHRoOiA0NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaGVyby1uYXYtLWNhbXBhaWduIC5oZXJvLW5hdl9fc2VjdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiZWI1O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAgIC5oZXJvLW5hdi0tY2FtcGFpZ24gLmhlcm8tbmF2X19zZWN0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cbiAgLmhlcm8tbmF2LS1jYW1wYWlnbiAuaGVyby1uYXZfX3NlY3Rpb24gcCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW46IDA7IH1cbiAgLmhlcm8tbmF2LS1jYW1wYWlnbiAuaGVyby1uYXZfX3NlY3Rpb24gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaGVyby1uYXZfX3NlY3Rpb24uaGVyby1uYXZfX3NlY3Rpb24tLWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVyby1uYXZfX3NlY3Rpb24uaGVyby1uYXZfX3NlY3Rpb24tLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuaGVyby1uYXZfX3NlY3Rpb24uaGVyby1uYXZfX3NlY3Rpb24tLWluZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAzMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLW5hdl9fc2VjdGlvbi5oZXJvLW5hdl9fc2VjdGlvbi0taW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuaGVyby1uYXZfX3NlY3Rpb24gLmhlcm8tbmF2X19saW5rIHtcbiAgICBjb2xvcjogIzBmMmM1MjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLW5hdl9fc2VjdGlvbiAuaGVyby1uYXZfX2xpbmsge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgICAuaGVyby1uYXZfX3NlY3Rpb24gLmhlcm8tbmF2X19saW5rIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7IH0gfVxuICAgIC5oZXJvLW5hdi0tY2FtcGFpZ24gLmhlcm8tbmF2X19zZWN0aW9uIC5oZXJvLW5hdl9fbGluayB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmhlcm8tbmF2X19zZWN0aW9uIC5oZXJvLW5hdl9faWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYmViNTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNGRiZWI1O1xuICAgIGJvcmRlci1yYWRpdXM6IDI3cHg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNTRweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLmhlcm8tbmF2X19zZWN0aW9uIC5oZXJvLW5hdl9faWNvbjo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGVmdDogMTFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuaGVyby1uYXZfX3NlY3Rpb24gLmhlcm8tbmF2X19pY29uLmljb24tLWxvY2F0aW9uOjpiZWZvcmUge1xuICAgICAgdG9wOiAxMXB4OyB9XG4gICAgLmhlcm8tbmF2X19zZWN0aW9uIC5oZXJvLW5hdl9faWNvbi5pY29uLS1icmllZmNhc2U6OmJlZm9yZSB7XG4gICAgICB0b3A6IDEzcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVyby1uYXZfX3NlY3Rpb24gLmhlcm8tbmF2X19pY29uOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGJlYjU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgbGVmdDogLTJweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzLCBvcGFjaXR5IC40cztcbiAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgIHotaW5kZXg6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhlcm8tbmF2X19zZWN0aW9uIC5oZXJvLW5hdl9faWNvbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDA7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgd2lkdGg6IDQycHg7IH1cbiAgICAgICAgLmhlcm8tbmF2X19zZWN0aW9uIC5oZXJvLW5hdl9faWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogN3B4OyB9XG4gICAgICAgIC5oZXJvLW5hdl9fc2VjdGlvbiAuaGVyby1uYXZfX2ljb24uaWNvbi0tbG9jYXRpb246OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiA4cHg7IH1cbiAgICAgICAgLmhlcm8tbmF2X19zZWN0aW9uIC5oZXJvLW5hdl9faWNvbi5pY29uLS1icmllZmNhc2U6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiA5cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oZXJvLW5hdl9fc2VjdGlvbi1jb250YWluZXI6aG92ZXIgLmhlcm8tbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmhlcm8tbmF2LS1jYW1wYWlnbiAuaGVyby1uYXZfX3NlY3Rpb24tY29udGFpbmVyOmhvdmVyIC5oZXJvLW5hdiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiZWI1OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGVyby1uYXZfX3NlY3Rpb24tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGVyby1uYXZfX3NlY3Rpb24tY29udGFpbmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAuaGVyby1uYXZfX3NlY3Rpb24tY29udGFpbmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oZXJvLW5hdl9fc2VjdGlvbi1jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG4uaGVyby1uYXZfX3NlY3Rpb24tLWxvb2tpbmcge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYyYzUyO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHB4O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGhlaWdodDogMTEwcHg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAzMXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDI0MHB4OyB9XG4gIC5oZXJvLW5hdl9fc2VjdGlvbi0tbG9va2luZyBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZXJvLW5hdl9fc2VjdGlvbi0tbG9va2luZyBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlcm8tbmF2X19zZWN0aW9uLS1sb29raW5nIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5oZXJvLW5hdl9fc2VjdGlvbi0tbG9va2luZyB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuaGVyby1uYXYtLWNhbXBhaWduIC5oZXJvLW5hdl9fc2VjdGlvbi0tbG9va2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYmViNTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhlcm8tbmF2LS1jYW1wYWlnbiAuaGVyby1uYXZfX3NlY3Rpb24tLWxvb2tpbmcge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgLmhlcm8tbmF2X19sZWZ0IHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gIC5oZXJvLW5hdl9fcmlnaHQge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfSB9XG5cbi5ob3Qtam9ic19faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjdiN2I3O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAuNzVyZW0gMCAxLjI1cmVtOyB9XG5cbi5ob3Qtam9ic19fam9iIC5ob3Qtam9ic19fY2F0ZWdvcnkge1xuICBjb2xvcjogI2M2YTE2ZDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaG90LWpvYnNfX2pvYiAuaG90LWpvYnNfX2pvYi1uYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogLjI1cmVtOyB9XG5cbi5ob3Qtam9ic19fbG9jYXRpb24ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmhwLXBvcnRsZXRzIC5ocC1wb3J0bGV0cy1jZWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAxczsgfVxuICAuaHAtcG9ydGxldHMgLmhwLXBvcnRsZXRzLWNlbGwuaXMtYW5pbWF0aW5nIHtcbiAgICBtYXJnaW4tdG9wOiAtOTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuaHAtcG9ydGxldHMgLmhwLXBvcnRsZXRzLWNlbGwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLmhwLXBvcnRsZXRzIC5ocC1wb3J0bGV0cy1jZWxsLmlzLWFuaW1hdGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuXG4uaW5mb2dyYXBoaWMge1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmluZm9ncmFwaGljIHtcbiAgICAgIHdpZHRoOiA5MiU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoaWMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5pbmZvZ3JhcGhpY19fdGFicy1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5pbmZvZ3JhcGhpY19fdGFicy1jb250YWluZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEuMjVyZW0gcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICAgICAgaGVpZ2h0OiA0ODRweDsgfSB9XG5cbi5pbmZvZ3JhcGhpY19fbmF2IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxlZnQ6IDQwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMDhweDtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoaWNfX25hdiB7XG4gICAgICB0b3A6IDI0OHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmluZm9ncmFwaGljX19uYXYge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvdHRvbTogLTQwcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoaWNfX25hdiB7XG4gICAgICBib3R0b206IC02MHB4OyB9IH1cbiAgLmluZm9ncmFwaGljX19uYXYgLmluZm9ncmFwaGljX19uYXYtbGluayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDExMywgMTg1LCAwLjgpO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuICAgIHdpZHRoOiAzMDZweDsgfVxuICAgIC5pbmZvZ3JhcGhpY19fbmF2IC5pbmZvZ3JhcGhpY19fbmF2LWxpbmsgLmljb24ge1xuICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmluZm9ncmFwaGljX19uYXYgLmluZm9ncmFwaGljX19uYXYtbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICNlMzYwMTg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGhpY19fbmF2IC5pbmZvZ3JhcGhpY19fbmF2LWxpbmsge1xuICAgICAgICBoZWlnaHQ6IDUzcHg7IH0gfVxuXG4uaW5mb2dyYXBoaWNfX3RhYnMtdGl0bGUge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5pbmZvZ3JhcGhpY19fdGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogNTAlO1xuICB6LWluZGV4OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5pbmZvZ3JhcGhpY19fdGFicy1jb250ZW50IHtcbiAgICAgIGhlaWdodDogNDg0cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5pbmZvZ3JhcGhpY19fY29udGVudCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnM7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5pbmZvZ3JhcGhpY19fY29udGVudC5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmluZm9ncmFwaGljX19jb250ZW50LTEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaHAvaHAtc2luYWkuanBnXCIpO1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cblxuLmluZm9ncmFwaGljX19jb250ZW50LTIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaHAvaHAtbm9ydGh3ZXN0LmpwZ1wiKTsgfVxuXG4uaW5mb2dyYXBoaWNfX2NvbnRlbnQtMyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ocC9ocC1jYXJyb2xsLmpwZ1wiKTsgfVxuXG4uaW5mb2dyYXBoaWNfX2NvbnRlbnQtNCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ocC9ocC1sZXZpbmRhbGUuanBnXCIpOyB9XG5cbi5pbmZvZ3JhcGhpY19fYnV0dG9ucyB7XG4gIGJvdHRvbTogOHB4O1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEyMHB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5pbmZvZ3JhcGhpY19fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMTMsIDE4NSwgMC45KTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAxMTMsIDE4NSwgMC45KTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjNzO1xuICB3aWR0aDogMjQwcHg7IH1cbiAgLmluZm9ncmFwaGljX19idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTtcbiAgICBjb2xvcjogIzBmMmM1MjsgfVxuICAgIC5pbmZvZ3JhcGhpY19fYnV0dG9uOmhvdmVyIC5pY29uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcxYjk7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uaW5mb2dyYXBoaWNfX2ltYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2RpYWdvbmFscy5wbmdcIik7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuaW5mb2dyYXBoaWNfX2ltYWdlIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYyYzUyO1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gICAgd2lkdGg6IDM2cHg7IH1cbiAgICAuaW5mb2dyYXBoaWNfX2ltYWdlIC5pY29uOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA0cHg7XG4gICAgICBsZWZ0OiAxMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5cHg7IH1cbiAgICAuaW5mb2dyYXBoaWNfX2ltYWdlIC5pY29uLmljb24tLWZpbmQtYS1kb2Mge1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG4gICAgICAuaW5mb2dyYXBoaWNfX2ltYWdlIC5pY29uLmljb24tLWZpbmQtYS1kb2M6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMTBweDsgfVxuICAgIC5pbmZvZ3JhcGhpY19faW1hZ2UgLmljb24uaWNvbi0tbWFrZS1hbi1hcHB0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoaWNfX2ltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5pbmZvZ3JhcGhpY19faW1hZ2UuaW5mb2dyYXBoaWNfX2ltYWdlLS1yaWdodDo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tOiAyN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICNmZWZlZmU7XG4gICAgYm9yZGVyLXRvcDogMjdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMjdweCk7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgICAgLmluZm9ncmFwaGljX19pbWFnZS5pbmZvZ3JhcGhpY19faW1hZ2UtLXJpZ2h0OjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAuaW5mb2dyYXBoaWNfX2ltYWdlLmluZm9ncmFwaGljX19pbWFnZS0tcmlnaHQ6OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAwIHNvbGlkICNmZWZlZmU7XG4gICAgYm9yZGVyLXRvcDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAgIC5pbmZvZ3JhcGhpY19faW1hZ2UuaW5mb2dyYXBoaWNfX2ltYWdlLS1yaWdodDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAuaW5mb2dyYXBoaWNfX2ltYWdlLmluZm9ncmFwaGljX19pbWFnZS0tbGVmdDo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tOiAyN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjZmVmZWZlO1xuICAgIGJvcmRlci10b3A6IDI3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogY2FsYyg1MCUgLSAyN3B4KTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgICAuaW5mb2dyYXBoaWNfX2ltYWdlLmluZm9ncmFwaGljX19pbWFnZS0tbGVmdDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgLmluZm9ncmFwaGljX19pbWFnZS5pbmZvZ3JhcGhpY19faW1hZ2UtLWxlZnQ6OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMCBzb2xpZCAjZmVmZWZlO1xuICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgICAgLmluZm9ncmFwaGljX19pbWFnZS5pbmZvZ3JhcGhpY19faW1hZ2UtLWxlZnQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9IH1cblxuLmluZm9ncmFwaGljX19tYXAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaHAvaW5mb2dyYXBoaWMtbWFwLW5vcGlucy5qcGdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmluZm9ncmFwaGljX19tYXAtcGluIHtcbiAgaGVpZ2h0OiAxMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMnB4O1xuICB6LWluZGV4OiA0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaW5mb2dyYXBoaWNfX21hcC1waW4ge1xuICAgICAgb3BhY2l0eTogMDsgfSB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xIHtcbiAgICBsZWZ0OiAyNSU7XG4gICAgdG9wOiAxMiU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTIge1xuICAgIGxlZnQ6IDI2JTtcbiAgICB0b3A6IDE3JTsgfVxuICAuaW5mb2dyYXBoaWNfX21hcC1waW4uaW5mb2dyYXBoaWNfX21hcC1waW4tMyB7XG4gICAgbGVmdDogMjYlO1xuICAgIHRvcDogMjAuNSU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTQge1xuICAgIGxlZnQ6IDI5JTtcbiAgICB0b3A6IDE4LjUlOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi01IHtcbiAgICBsZWZ0OiAzNyU7XG4gICAgdG9wOiAxNSU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTYge1xuICAgIGxlZnQ6IDQ4JTtcbiAgICB0b3A6IDE5JTsgfVxuICAuaW5mb2dyYXBoaWNfX21hcC1waW4uaW5mb2dyYXBoaWNfX21hcC1waW4tNyB7XG4gICAgbGVmdDogNDclO1xuICAgIHRvcDogMjIuNSU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTgge1xuICAgIGxlZnQ6IDczJTtcbiAgICB0b3A6IDEzLjUlOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi05IHtcbiAgICBsZWZ0OiA3NS41JTtcbiAgICB0b3A6IDE2LjUlOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xMCB7XG4gICAgbGVmdDogNzclO1xuICAgIHRvcDogMjElOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xMSB7XG4gICAgbGVmdDogMyU7XG4gICAgdG9wOiAyOSU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTEyIHtcbiAgICBsZWZ0OiAzMSU7XG4gICAgdG9wOiAzMSU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTEzIHtcbiAgICBsZWZ0OiAzOSU7XG4gICAgdG9wOiAyOCU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTE0IHtcbiAgICBsZWZ0OiA0MS41JTtcbiAgICB0b3A6IDMwJTsgfVxuICAuaW5mb2dyYXBoaWNfX21hcC1waW4uaW5mb2dyYXBoaWNfX21hcC1waW4tMTUge1xuICAgIGxlZnQ6IDQ0JTtcbiAgICB0b3A6IDMzJTsgfVxuICAuaW5mb2dyYXBoaWNfX21hcC1waW4uaW5mb2dyYXBoaWNfX21hcC1waW4tMTYge1xuICAgIGxlZnQ6IDQ3LjUlO1xuICAgIHRvcDogMzIlOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xNyB7XG4gICAgbGVmdDogNTElO1xuICAgIHRvcDogMjclOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xOCB7XG4gICAgbGVmdDogNTQlO1xuICAgIHRvcDogMjklOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xOSB7XG4gICAgbGVmdDogNTYlO1xuICAgIHRvcDogMzIlOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0yMCB7XG4gICAgbGVmdDogNjAlO1xuICAgIHRvcDogMzUlOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0yMSB7XG4gICAgbGVmdDogNjQlO1xuICAgIHRvcDogMzUuNSU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTIyIHtcbiAgICBsZWZ0OiA2NyU7XG4gICAgdG9wOiAzMCU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTIzIHtcbiAgICBsZWZ0OiAzNCU7XG4gICAgdG9wOiA0NyU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTI0IHtcbiAgICBsZWZ0OiA0MiU7XG4gICAgdG9wOiA1MCU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTI1IHtcbiAgICBsZWZ0OiA1MiU7XG4gICAgdG9wOiA0OCU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTI2IHtcbiAgICBsZWZ0OiA1OCU7XG4gICAgdG9wOiA1MiU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTI3IHtcbiAgICBsZWZ0OiA2MyU7XG4gICAgdG9wOiA2NyU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTI4IHtcbiAgICBsZWZ0OiA0Mi41JTtcbiAgICB0b3A6IDQwLjUlOyB9XG4gIC5pbmZvZ3JhcGhpY19fbWFwLXBpbi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0yOSB7XG4gICAgbGVmdDogNDUuNSU7XG4gICAgdG9wOiA0MiU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTMwIHtcbiAgICBsZWZ0OiAzOSU7XG4gICAgdG9wOiA0MyU7IH1cbiAgLmluZm9ncmFwaGljX19tYXAtcGluLmluZm9ncmFwaGljX19tYXAtcGluLTMxIHtcbiAgICBsZWZ0OiA0NCU7XG4gICAgdG9wOiAzNi41JTsgfVxuXG4ucGluLWFuaW0tMSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIC4zczsgfVxuICAucGluLWFuaW0tMS5pcy1hbmltYXRpbmcge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnBpbi1hbmltLTIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyAuNXM7IH1cbiAgLnBpbi1hbmltLTIuaXMtYW5pbWF0aW5nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5waW4tYW5pbS0zIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgLjhzOyB9XG4gIC5waW4tYW5pbS0zLmlzLWFuaW1hdGluZyB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ucGluLWFuaW0tNCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIDEuNHM7IH1cbiAgLnBpbi1hbmltLTQuaXMtYW5pbWF0aW5nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5waW4tYW5pbS01IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgMS4yczsgfVxuICAucGluLWFuaW0tNS5pcy1hbmltYXRpbmcge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnBpbi1hbmltLTYge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyAxLjdzOyB9XG4gIC5waW4tYW5pbS02LmlzLWFuaW1hdGluZyB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ucGluLWFuaW0tNyB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIDEuOHM7IH1cbiAgLnBpbi1hbmltLTcuaXMtYW5pbWF0aW5nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5waW4tYW5pbS04IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgMi4zczsgfVxuICAucGluLWFuaW0tOC5pcy1hbmltYXRpbmcge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmluZm9ncmFwaGljX19zdGF0LWNvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmluZm9ncmFwaGljX19zdGF0LWNvbnRhaW5lciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMS4yNXJlbSByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICB3aWR0aDogOTIlOyB9IH1cblxuLmluZm9ncmFwaGljX19zdGF0LWNvbnRhaW5lci0tdGFicyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5pbmZvZ3JhcGhpY19fc3RhdC1jb250YWluZXItLXRhYnMge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgd2lkdGg6IDkyJTsgfSB9XG5cbi5pbmZvZ3JhcGhpY19fc3RhdCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5pbmZvZ3JhcGhpY19fc3RhdCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9IH1cbiAgLmluZm9ncmFwaGljX19zdGF0LmluZm9ncmFwaGljX19zdGF0LS1jaXJjbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYwZWY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogMjIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB3aWR0aDogMjIwcHg7IH1cbiAgICAuaW5mb2dyYXBoaWNfX3N0YXQuaW5mb2dyYXBoaWNfX3N0YXQtLWNpcmNsZSAuaW5mb2dyYXBoaWNfX3N0YXQtbnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfVxuXG4uaW5mb2dyYXBoaWNfX3N0YXQtc21hbGwge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmluZm9ncmFwaGljX19zdGF0LXNtYWxsLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICNlMzYwMTg7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7IH1cblxuLmluZm9ncmFwaGljX19zdGF0LW1haW4ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxlZnQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdG9wOiAzMHB4O1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoaWNfX3N0YXQtbWFpbiB7XG4gICAgICB0b3A6IDE1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoaWNfX3N0YXQtbWFpbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuaW5mb2dyYXBoaWNfX3N0YXQtbWFpbiAuaW5mb2dyYXBoaWNfX3N0YXQtbWFpbi10ZXh0IHtcbiAgICBib3R0b206IDE2cHg7XG4gICAgbGVmdDogMTEzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaW5mb2dyYXBoaWNfX3N0YXQtbWFpbiAuaW5mb2dyYXBoaWNfX3N0YXQtbWFpbi10ZXh0IHtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuaW5mb2dyYXBoaWNfX3N0YXQtbWFpbiAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICNlMzYwMTg7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7IH1cblxuLmluZm9ncmFwaGljX19zdGF0LW51bWJlciB7XG4gIGNvbG9yOiAjMDA3MWI5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDQuMTg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaW5mb2dyYXBoaWNfX3N0YXQtbnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi45Mzc1cmVtOyB9IH1cbiAgLmluZm9ncmFwaGljX19zdGF0LW51bWJlci5pbmZvZ3JhcGhpY19fc3RhdC1udW1iZXItLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTdweDsgfVxuXG4uaW5mb2dyYXBoaWNfX3N0YXQtbnVtYmVyLS1sYXJnZSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDExLjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmluZm9ncmFwaGljX19zdGF0LW51bWJlci0tbGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiA4cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDhyZW07IH0gfVxuXG4ubGluay0tY2FuY2VsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4vKiBZQVBMXG5uYW1lOiBMaXN0XG5wYXJ0aWFsOiBzZy1saXN0XG5zZWxlY3RvcjogLnJ0ZiB1bFxud3JhcHBlckNsYXNzZXM6IHJ0ZlxuKi9cbi8qIFlBUExcbm5hbWU6IExpc3QgTm8gQnVsbGV0c1xubm90ZXM6IE9mdGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBMaXN0IE5vIEluZGVudFxucGFydGlhbDogc2ctbGlzdC1uby1idWxsZXRzXG5zZWxlY3RvcjogLmxpc3QtLW5vLWJ1bGxldHNcbiovXG4vKiBZQVBMXG5uYW1lOiBMaXN0IE5vIEluZGVudFxubm90ZXM6IE9mdGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBMaXN0IE5vIEJ1bGxldHNcbnBhcnRpYWw6IHNnLWxpc3Qtbm8taW5kZW50XG5zZWxlY3RvcjogLmxpc3QtLW5vLWluZGVudFxuKi9cbi8qIFlBUExcbm5hbWU6IExpc3QgRG91YmxlIFNwYWNlZFxucGFydGlhbDogc2ctbGlzdC1kb3VibGUtc3BhY2VkXG5zZWxlY3RvcjogLmxpc3QtLWRvdWJsZS1zcGFjZWRcbiovXG4vKiBZQVBMXG5uYW1lOiBMaXN0IFBvcnRsZXRcbnBhcnRpYWw6IHNnLWxpc3QtcG9ydGxldFxuc2VsZWN0b3I6IC5saXN0LS1wb3J0bGV0XG4qL1xuLyogWUFQTFxubmFtZTogTGlzdCB3aXRoIENhcmV0c1xubm90ZXM6IFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIExpc3QgTm8gQnVsbGV0c1xucGFydGlhbDogc2ctbGlzdC1jYXJldHNcbnNlbGVjdG9yOiAubGlzdC0tY2FyZXRzXG4qL1xuLmxpc3QtLW5vLWJ1bGxldHMge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmxpc3QtLW5vLWJ1bGxldHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ubGlzdC0tbm8taW5kZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmxpc3QtLWRvdWJsZS1zcGFjZWQgbGkge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5saXN0LS1wb3J0bGV0IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gIC5saXN0LS1wb3J0bGV0IGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cblxuLmxpc3QtLWNhcmV0cyBsaSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWxpc3QtY2FyZXQucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDVweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIC5saXN0LS1jYXJldHMgbGkgYSB7XG4gICAgY29sb3I6ICMyZDJjMmM7IH1cbiAgICAubGlzdC0tY2FyZXRzIGxpIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNlMzYwMTg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmxpc3QtLWNhcmV0cyBsaSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5saXN0LS1jYXJldHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmxpc3QtLWNvbHVtbnMtMiB7XG4gIGNvbHVtbnM6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmxpc3QtLWNvbHVtbnMtMiB7XG4gICAgICBjb2x1bW5zOiAxOyB9IH1cblxuLmV2ZW50X19saXN0IGgzIHtcbiAgY29sb3I6ICM0MDQwNDA7IH1cblxuLmV2ZW50X19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiN2I3Yjc7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cblxuLmV2ZW50X19idXR0b25zIGEge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5ldmVudF9fYnV0dG9ucyBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfSB9XG4gIC5ldmVudF9fYnV0dG9ucyBhOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmV2ZW50X19idXR0b25zIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH0gfVxuICAuZXZlbnRfX2J1dHRvbnMgYS5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmV2ZW50X19kYXRlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2YTE2ZDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBoZWlnaHQ6IDMuNzVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmc6IDAgLjc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiAzLjc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmV2ZW50X19kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogNC44NzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICB3aWR0aDogNC44NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAuZXZlbnRfX2RldGFpbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH0gfVxuXG4uZXZlbnRfX2RldGFpbHMgcCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubG9jYXRpb25zX19nbWFwIHtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAubG9jYXRpb25zX19nbWFwIHtcbiAgICAgIGhlaWdodDogNDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmxvY2F0aW9uc19fZ21hcCB7XG4gICAgICBoZWlnaHQ6IDYwMHB4OyB9IH1cblxuLmxvY2F0aW9uc19fZ21hcC1vdmVybGF5LFxuLmxvY2F0aW9uc19fZ21hcC1yZW5kZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubG9jYXRpb25zX19nbWFwLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmxvY2F0aW9uc19fZ21hcC1vdmVybGF5LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0cyB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0cyB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtOyB9IH1cblxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHRzLWNvdW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCAjNGRiZWI1O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDFlbSAwOyB9XG5cbi5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0cy1saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMnJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuXG4ubG9jYXRpb25zX19saXN0LXJlc3VsdC1hZGRyZXNzLFxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtcGhvbmUge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAubG9jYXRpb25zX19saXN0LXJlc3VsdC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH0gfVxuXG4ubG9jYXRpb25zX19saXN0LXJlc3VsdC1kZXNjIHAge1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0LWRlc2MgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtZGVzYyB7XG4gICAgZmxleDogMSAxIDcwJTsgfSB9XG5cbi5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0LWRpci1saW5rIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAubG9jYXRpb25zX19saXN0LXJlc3VsdC1kaXItbGluayAuaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtaW1nIHtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtaW1nIGltZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICM0ZGJlYjU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0LWltZyB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiA4cHg7IH0gfVxuXG4ubG9jYXRpb25zX19saXN0LXJlc3VsdC1tZXRhIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtbWV0YSB7XG4gICAgICBmbGV4OiAwIDAgMzAlO1xuICAgICAgbWluLXdpZHRoOiAyMTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuXG4ubG9jYXRpb25zX19saXN0LXJlc3VsdC1uYW1lIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0LW5hbWUgPiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubG9jYXRpb25zX19saXN0LXNlYXJjaC1jb25uZWN0b3Ige1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubG9jYXRpb25zX19saXN0LXNlYXJjaC1jb25uZWN0b3Ige1xuICAgICAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLjc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5sb2NhdGlvbnNfX2xpc3Qtc2VhcmNoLWNvbm5lY3RvciB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cblxuLmxvY2F0aW9uc19fbGlzdC1zZWFyY2gtZmllbGRzIHtcbiAgbWF4LXdpZHRoOiA4NzBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5sb2NhdGlvbnNfX2xpc3Qtc2VhcmNoLWZpZWxkIHtcbiAgICBmbGV4OiAwIDEgMjYwcHg7IH1cbiAgICAubG9jYXRpb25zX19saXN0LXNlYXJjaC1maWVsZC0tbGcge1xuICAgICAgZmxleDogMCAxIDUwMHB4OyB9XG4gICAgLmxvY2F0aW9uc19fbGlzdC1zZWFyY2gtZmllbGQtLW1kIHtcbiAgICAgIGZsZXg6IDAgMSAzMzBweDsgfVxuICAgIC5sb2NhdGlvbnNfX2xpc3Qtc2VhcmNoLWZpZWxkICsgLmxvY2F0aW9uc19fbGlzdC1zZWFyY2gtZmllbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmxvY2F0aW9uc19fbGlzdC1zZWFyY2gtcm93IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4ubG9jYXRpb25zX19tYXAge1xuICBib3JkZXItdG9wOiA4cHggc29saWQgIzRkYmViNTtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9XG5cbi5sb2NhdGlvbnNfX21hcC1rZXkge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG5cbi5sb2NhdGlvbnNfX21hcC1rZXktaXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5sb2NhdGlvbnNfX21hcC1rZXktaXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCAyMzBweDtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubG9jYXRpb25zX19tYXAta2V5LWl0ZW0ge1xuICAgICAgZmxleDogMCAxIDUwJTsgfSB9XG5cbi5sb2NhdGlvbnNfX21hcC1rZXktaXRlbS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgaGVpZ2h0OiAzLjMxMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIHdpZHRoOiAzLjMxMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmxvY2F0aW9uc19fbWFwLWtleS1pdGVtLWljb246bm90KC5sb2NhdGlvbnNfX21hcC1rZXktaXRlbS1pY29uLS1zbSkge1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICB3aWR0aDogMi41cmVtOyB9IH1cbiAgLmxvY2F0aW9uc19fbWFwLWtleS1pdGVtLWljb24tLXNtIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgd2lkdGg6IDJyZW07IH1cblxuLmxvY2F0aW9uc19fbWFwLWtleS1pdGVtLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubG9jYXRpb25zX19tYXAta2V5LWl0ZW0tbGFiZWw6bm90KC5sb2NhdGlvbnNfX21hcC1rZXktaXRlbS1sYWJlbC0tc20pIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG5cbi5sb2NhdGlvbnNfX21hcC1sb2MtZmlsdGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZWNlY2U7XG4gIG1hcmdpbi1ib3R0b206IDIuMzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAubG9jYXRpb25zX19tYXAtbG9jLWZpbHRlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAgIC5sb2NhdGlvbnNfX21hcC1sb2MtZmlsdGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gIC5sb2NhdGlvbnNfX21hcC1sb2MtZmlsdGVyLWFkZHJlc3Mge1xuICAgIGZsZXg6IDAgMSA1NiU7IH0gfVxuXG4ubG9jYXRpb25zX19tYXAtbG9jLWZpbHRlci1hZGRyZXNzLFxuLmxvY2F0aW9uc19fbWFwLWxvYy1maWx0ZXItdGl0bGUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLmxvY2F0aW9uc19fbWFwLWxvYy1maWx0ZXItZGlzdGFuY2Uge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAubG9jYXRpb25zX19tYXAtbG9jLWZpbHRlci1kaXN0YW5jZSB7XG4gICAgICBmbGV4OiAwIDEgMzElOyB9IH1cblxuLmxvY2F0aW9uc19fbWFwLWxvYy1maWx0ZXItdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5sb2NhdGlvbnNfX21hcC1yZWZpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiZWI1O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxLjg3NXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtO1xuICBwYWRkaW5nOiAxLjg3NXJlbTsgfVxuXG4ubG9jYXRpb25zX19tYXAtcmVmaW5lLWJ0bi5idXR0b24ge1xuICBtYXJnaW46IDA7IH1cbiAgLmxvY2F0aW9uc19fbWFwLXJlZmluZS1idG4uYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwNzFiOTsgfVxuXG4ubG9jYXRpb25zX19tYXAtcmVmaW5lLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmxvY2F0aW9uc19fbWFwLXJlc3VsdHMge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5sb2NhdGlvbnNfX21hcC1yZXN1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbSAxLjI1cmVtIDEuODc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7IH1cbiAgLmxvY2F0aW9uc19fbWFwLXJlc3VsdC0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllMGQyOyB9XG4gIC5sb2NhdGlvbnNfX21hcC1yZXN1bHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07IH1cblxuLmxvY2F0aW9uc19fbWFwLXJlc3VsdC1hcnJvdyB7XG4gIGNvbG9yOiAjMDA3MWI5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAubG9jYXRpb25zX19tYXAtcmVzdWx0LWFycm93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubG9jYXRpb25zX19tYXAtcmVzdWx0LWFkZHJlc3MsXG4ubG9jYXRpb25zX19tYXAtcmVzdWx0LXBob25lIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmxvY2F0aW9uc19fbWFwLXJlc3VsdC1saW5rcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuICAubG9jYXRpb25zX19tYXAtcmVzdWx0LWxpbmtzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubG9jYXRpb25zX19tYXAtcmVzdWx0LWxpbmtzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICd8JzsgfVxuXG4ubG9jYXRpb25zX19tYXAtcmVzdWx0LW5hbWUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IC4yNWVtOyB9XG5cbi5sb2NhdGlvbnNfX21hcC1yZXN1bHRzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7IH1cblxuLmxvY2F0aW9uc19fbWFwLXJlc3VsdHMtY291bnQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5sb2NhdGlvbnNfX21hcC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxLjg3NXJlbTtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmxvY2F0aW9uc19fbWFwLXNlYXJjaC1maWVsZHMge1xuICBwYWRkaW5nOiAwIDEuNTYyNXJlbSAxLjU2MjVyZW07IH1cblxuLmxvY2F0aW9uc19fbGlzdC1zZWFyY2gtdGl0bGUsXG4ubG9jYXRpb25zX19tYXAtc2VhcmNoLXRpdGxlIHtcbiAgY29sb3I6ICM0ZGJlYjU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubG9jYXRpb25zX19tYXAtc2VhcmNoLXRpdGxlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5sb2NhdGlvbnNfX21hcC1zZWFyY2gtdGl0bGUgYnV0dG9uIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sb2NhdGlvbnNfX21hcC1zZWFyY2gtdGl0bGUgYnV0dG9uIGkge1xuICAgICAgY29sb3I6ICMwMDcxYjk7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMS4yNXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5sb2NhdGlvbnNfX21hcC13aW5kb3cge1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmxvY2F0aW9uc19fbWFwLXdpbmRvdyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiAxMHB4OyB9XG4gIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctY2xvc2UgaSB7XG4gICAgY29sb3I6ICNlMzYwMTg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ubG9jYXRpb25zX19tYXAtd2luZG93LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubG9jYXRpb25zX19tYXAtd2luZG93LWNvbnRlbnQgLnJ0ZiB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gIC5sb2NhdGlvbnNfX2dtYXAtb3ZlcmxheSAubG9jYXRpb25zX19tYXAtd2luZG93LWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAubG9jYXRpb25zX19nbWFwLXJlbmRlciAubG9jYXRpb25zX19tYXAtd2luZG93LWNvbnRlbnQge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgbWFyZ2luLXRvcDogLTgwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICAgIHdpZHRoOiA0MDBweDsgfVxuICAgIC5sb2NhdGlvbnNfX2dtYXAtcmVuZGVyIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctY29udGVudDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXI6IGluc2V0IDQycHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB0b3A6IDEwMCU7IH1cblxudWwubG9jYXRpb25zX19tYXAtd2luZG93LWxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLjI1cmVtOyB9XG4gIHVsLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1saXN0IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1pbm5lciB7XG4gIHBhZGRpbmc6IDUlOyB9XG5cbi5sb2NhdGlvbnNfX21hcC13aW5kb3ctbWV0YS1hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5sb2NhdGlvbnNfX21hcC13aW5kb3ctbWV0YS1ob3VycyB7XG4gIGNvbG9yOiAjNTA5NDBmOyB9XG5cbi5sb2NhdGlvbnNfX21hcC13aW5kb3ctbWV0YS1uYW1lIHtcbiAgZm9udC1zaXplOiAxLjE2NjdlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubG9jYXRpb25zX19tYXAtd2luZG93LWNvbnRlbnQtLWxnIHtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctY29udGVudC0tbGcgLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1kZXNjIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubG9jYXRpb25zX19tYXAtd2luZG93LWNvbnRlbnQtLWxnIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jb250ZW50LS1sZyAubG9jYXRpb25zX19tYXAtd2luZG93LWxpc3Qge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tZ2FwOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jb250ZW50LS1sZyAubG9jYXRpb25zX19tYXAtd2luZG93LW1ldGEge1xuICAgIGZsZXg6IDAgMCAxNzVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctY29udGVudC0tbGcgLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1tZXRhLWhvdXJzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ubG9jYXRpb25zX19tYXAtd2luZG93LWNvbnRlbnQtLXNtIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctZGVzYyB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jb250ZW50LS1zbSAubG9jYXRpb25zX19tYXAtd2luZG93LWhpZGUtc20ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5sb2NhdGlvbnNfX21hcC13aW5kb3ctY29udGVudC0tc20gLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5sb2NhdGlvbnNfX21hcC13aW5kb3ctY29udGVudC0tc20gLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1tZXRhLWxpbmssXG4ubG9jYXRpb25zX19tYXAtd2luZG93LWNvbnRlbnQtLXNtIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctbWV0YS1uYW1lIHtcbiAgZmxleDogMSAwIDEwMCU7IH1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jb250ZW50LS1zbSAubG9jYXRpb25zX19tYXAtd2luZG93LW1ldGEtYWRkcmVzcy1ob3VycyB7XG4gIGZsZXg6IDAgMSA0MCU7IH1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jb250ZW50LS1zbSAubG9jYXRpb25zX19tYXAtd2luZG93LW1ldGEtYWRkcmVzcy1waG9uZSB7XG4gIGZsZXg6IDAgMSA2MCU7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gIC5sb2NhdGlvbnNfX21hcC1zZWFyY2gtLWNvbGxhcHNlZCAubG9jYXRpb25zX19tYXAtc2VhcmNoLWZpZWxkcyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubG9jYXRpb25zX19tYXAtdmlldyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubG9jYXRpb25zX19zaWRlYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gIC5sb2NhdGlvbnNfX21hcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQuMzc1cmVtOyB9XG4gIC5sb2NhdGlvbnNfX21hcC1yZXN1bHRzLWNvdW50LFxuICAubG9jYXRpb25zX19saXN0LXNlYXJjaC10aXRsZSxcbiAgLmxvY2F0aW9uc19fbWFwLXNlYXJjaC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMnB4OyB9XG4gIC5sb2NhdGlvbnNfX21hcC1yZXN1bHRzLWxpc3Qge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfVxuICAubG9jYXRpb25zX19tYXAtc2VhcmNoLXRpdGxlIGkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxvY2F0aW9uc19fc2lkZWJhciB7XG4gICAgZmxleDogMCAwIDE4Ljc1cmVtOyB9IH1cblxuLm1haWxpbmctbGlzdF9faWNvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMzYwMTg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGhlaWdodDogMy43NXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiAzLjc1cmVtOyB9XG5cbi5tZW51IGE6aG92ZXIge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzOyB9XG5cbi5taWNyb3NpdGUtaW5mbyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2VjZWNlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiA3N3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1pY3Jvc2l0ZS1pbmZvX19ib2R5IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWljcm9zaXRlLWluZm9fX2hlYWRpbmcgaDMge1xuICBjb2xvcjogIzI0MjQyNDtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG4ubWljcm9zaXRlLWluZm9fX3N1YmhlYWRpbmcge1xuICBjb2xvcjogIzRkYmViNTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbi5taWNyb3NpdGUtaW5mb19fZGl2aWRlciB7XG4gIGNvbG9yOiAjY2VjZWNlO1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIG1hcmdpbjogMCA4cHg7IH1cblxuLyogWUFQTFxubmFtZTogTW9yZSBTZWN0aW9uXG5wYXJ0aWFsOiBtb3JlLXNlY3Rpb25cbnNlbGVjdG9yOiAubW9yZS1zZWN0aW9uXG4qL1xuLyogWUFQTFxubmFtZTogTW9yZSBTZWN0aW9uIC0gTWljcm9zaXRlXG5wYXJ0aWFsOiBtb3JlLXNlY3Rpb24tbWljcm9zaXRlXG5zZWxlY3RvcjogLm1vcmUtc2VjdGlvbi5tb3JlLXNlY3Rpb24tLW1pY3Jvc2l0ZVxuKi9cbi5tb3JlLXNlY3Rpb25fX2Jsb2NrIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwNzFiOTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlciAwLjNzOyB9XG4gIC5tb3JlLXNlY3Rpb25fX2Jsb2NrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMzYwMTg7IH1cbiAgICAubW9yZS1zZWN0aW9uX19ibG9jazpob3ZlciBhIHtcbiAgICAgIGNvbG9yOiAjZTM2MDE4OyB9XG4gICAgICAubW9yZS1zZWN0aW9uX19ibG9jazpob3ZlciBhIC5pY29uIHtcbiAgICAgICAgY29sb3I6ICNlMzYwMTg7IH1cbiAgLm1vcmUtc2VjdGlvbl9fYmxvY2sgYSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubW9yZS1zZWN0aW9uX19ibG9jayAuaWNvbiB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogLTMwcHg7XG4gICAgdG9wOiAycHg7IH1cbiAgLm1vcmUtc2VjdGlvbi0tbWljcm9zaXRlIC5tb3JlLXNlY3Rpb25fX2Jsb2NrIHtcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDY0cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAub3JkZXItMS1tZWRpdW0ge1xuICAgIG9yZGVyOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMjVlbSkge1xuICAub3JkZXItMi1tZWRpdW0ge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuLyogWUFQTFxubmFtZTogUGFkZGVkIEJveFxubm90ZXM6IDFyZW0gcGFkZGluZyBhcm91bmQgY29udGVudFxucGFydGlhbDogc2ctcGFkZGVkLWJveFxuc2VsZWN0b3I6IC5wYWRkZWQtYm94LTFcbiovXG4vKiBZQVBMXG5uYW1lOiBQYWRkZWQgQm94IDEuNVxubm90ZXM6IDEuNXJlbSBwYWRkaW5nIGFyb3VuZCBjb250ZW50XG5wYXJ0aWFsOiBzZy1wYWRkZWQtYm94LTEtNVxuc2VsZWN0b3I6IC5wYWRkZWQtYm94LTEtNVxuKi9cbi8qIFlBUExcbm5hbWU6IFBhZGRlZCBCb3ggMlxubm90ZXM6IDJyZW0gcGFkZGluZyBhcm91bmQgY29udGVudFxucGFydGlhbDogc2ctcGFkZGVkLWJveC0yXG5zZWxlY3RvcjogLnBhZGRlZC1ib3gtMlxuKi9cbi5wYWRkZWQtYm94LTEge1xuICBwYWRkaW5nOiAxcmVtOyB9XG5cbi5wYWRkZWQtYm94LTEtNSB7XG4gIHBhZGRpbmc6IDEuNXJlbTsgfVxuXG4ucGFkZGVkLWJveC0yIHtcbiAgcGFkZGluZzogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAucGFkZGVkLWJveC0yIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IFBhZ2luYXRpb25cbnBhcnRpYWw6IHBhZ2luYXRpb25cbnNlbGVjdG9yOiAucGFnaW5hdGlvblxuKi9cbi5wYWdpbmF0aW9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMnJlbSBhdXRvOyB9XG4gIC5wYWdpbmF0aW9uIGEge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNiZWJlYmU7XG4gICAgY29sb3I6ICMyNDI0MjQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHBhZGRpbmc6IDAgLjYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzLCBib3JkZXIgMC4zcztcbiAgICB3aWR0aDogMzZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnBhZ2luYXRpb24gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgLjVyZW07XG4gICAgICAgIHdpZHRoOiAzMHB4OyB9IH1cbiAgICAucGFnaW5hdGlvbiBhLmFjdGl2ZSwgLnBhZ2luYXRpb24gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM2MDE4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2UzNjAxODtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnBhZ2luYXRpb24gYS5pbmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2JlYmViZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gYS5wYWdpbmF0aW9uLS13aWR0aC1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLWVsbGlwc2lzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1lbGxpcHNpcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBZQVBMXG5uYW1lOiBQb3J0bGV0XG5wYXJ0aWFsOiBzZy1wb3J0bGV0XG5zZWxlY3RvcjogLnBvcnRsZXRcbiovXG4vKiBZQVBMXG5uYW1lOiBQb3J0bGV0IFJvdW5kZWQgQ29ybmVyXG5wYXJ0aWFsOiBzZy1wb3J0bGV0LXJvdW5kZWRcbnNlbGVjdG9yOiAucG9ydGxldC5yb3VuZGVkLWNvcm5lclxuKi9cbi8qIFlBUExcbm5hbWU6IFBvcnRsZXQgd2l0aCBJbWFnZVxucGFydGlhbDogc2ctcG9ydGxldC1pbWFnZVxuc2VsZWN0b3I6IC5wb3J0bGV0LnBvcnRsZXRfX2ltYWdlXG4qL1xuLnBvcnRsZXQge1xuICBib3gtc2hhZG93OiAwIDAgMS4yNXJlbSByZ2JhKDEwLCAxMCwgMTAsIDAuMik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5wb3J0bGV0IHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucG9ydGxldCB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2MHB4O1xuICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICM0ZGJlYjU7IH0gfVxuICAucG9ydGxldC5wb3J0bGV0LS1uby1zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDA7IH1cbiAgLnBvcnRsZXQucG9ydGxldC0tbm8tcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG5cbi5wb3J0bGV0X19pbWFnZSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDYwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucG9ydGxldF9faW1hZ2Uge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAucG9ydGxldF9faW1hZ2Uge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMzBweDtcbiAgICAgIHdpZHRoOiAzMy4zMzMzJSAhaW1wb3J0YW50OyB9IH1cbiAgLnBvcnRsZXRfX2ltYWdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9ydGxldF9faW1hZ2UgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG5cbi5wb3J0bGV0X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLnBvcnRsZXRfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuXG4ucG9ydGxldF9fdGV4dCB7XG4gIHBhZGRpbmc6IDFyZW0gMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4yNWVtKSB7XG4gICAgLnBvcnRsZXRfX3RleHQge1xuICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICM0ZGJlYjU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLnBvcnRsZXRfX3RleHQge1xuICAgICAgd2lkdGg6IDY2LjY2NjYlICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAucG9ydGxldF9fdGV4dCB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9IH1cblxuLyogWUFQTFxubmFtZTogUXVvdGVcbnBhcnRpYWw6IHNnLXF1b3RlXG5zZWxlY3RvcjogLnF1b3RlXG4qL1xuLyogWUFQTFxubmFtZTogUXVvdGUgd2l0aCBJbWFnZVxucGFydGlhbDogc2ctcXVvdGUtaW1hZ2VcbnNlbGVjdG9yOiAucXVvdGVfX2ltYWdlLWNvbnRhaW5lclxuKi9cbi5xdW90ZSB7XG4gIHBhZGRpbmc6IDAgODBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAucXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfSB9XG5cbi5xdW90ZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAucXVvdGVfX3RleHQge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDA7IH0gfVxuXG4ucXVvdGVfX2F1dGhvciB7XG4gIGNvbG9yOiAjZTM2MDE4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nLWxlZnQ6IDE1NnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnF1b3RlX19hdXRob3I6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UzNjAxODtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA5cHg7XG4gICAgd2lkdGg6IDE0MnB4OyB9XG5cbi5xdW90ZV9fbW9yZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMmQyYzJjO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzOyB9XG4gIC5xdW90ZV9fbW9yZSAuaWNvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM2MDE4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHdpZHRoOiAyNnB4OyB9XG4gIC5xdW90ZV9fbW9yZTpob3ZlciB7XG4gICAgY29sb3I6ICNlMzYwMTg7IH1cblxuLnF1b3RlX19pbWFnZS1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDhweCBzb2xpZCAjY2FiYzlkO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzLjE4NzVlbSkge1xuICAgIC5xdW90ZV9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbi5xdW90ZV9faW1hZ2Uge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLnJldmVhbC5mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjgpOyB9XG5cbi5yZXZlYWwgaWZyYW1lIHtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbi5yZXZlYWwgLmNsb3NlLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgY29sb3I6ICNlMzYwMTg7XG4gIGZvbnQtc2l6ZTogNDRweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICByaWdodDogMjBweDtcbiAgdG9wOiA0MHB4O1xuICB3aWR0aDogNTZweDsgfVxuXG4ucm91bmRlZC1ib3gge1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJvdW5kZWQtYm94LnJvdW5kZWQtYm94X19zaGFkb3cge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDYwcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAuNjI1cmVtIHJnYmEoMTAsIDEwLCAxMCwgMC4yKTsgfVxuXG4ucm91bmRlZC1ib3hfX2hlYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MWI5O1xuICBoZWlnaHQ6IDE3M3B4O1xuICBwYWRkaW5nOiAycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnJvdW5kZWQtYm94LS1ncmVlbiAucm91bmRlZC1ib3hfX2hlYWRpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGJlYjU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLnJvdW5kZWQtYm94X19oZWFkaW5nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfSB9XG4gIC5yb3VuZGVkLWJveC0tbWljcm9zaXRlIC5yb3VuZGVkLWJveF9faGVhZGluZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2VjZWNlO1xuICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjMDA3MWI5O1xuICAgIGNvbG9yOiAjMDA3MWI5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiA3N3B4O1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5yb3VuZGVkLWJveC0tbWljcm9zaXRlX19ncmVlbi1ibHVlIC5yb3VuZGVkLWJveF9faGVhZGluZyB7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICM0ZGJlYjU7IH1cblxuLnJvdW5kZWQtYm94X19ib2R5IHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNjBweDtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNzNweCk7XG4gIHBhZGRpbmc6IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLnJvdW5kZWQtYm94X19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTsgfSB9XG4gIC5yb3VuZGVkLWJveF9fYm9keS5yb3VuZGVkLWJveF9fc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiAwIDAgMC42MjVyZW0gcmdiYSgxMCwgMTAsIDEwLCAwLjIpOyB9XG4gIC5yb3VuZGVkLWJveC0tbWljcm9zaXRlIC5yb3VuZGVkLWJveF9fYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLnJvdW5kZWQtYm94X19ib2R5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAucm91bmRlZC1ib3hfX2JvZHktdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH0gfVxuXG4ucm91bmRlZC1ib3hfX3RpdGxlIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAucm91bmRlZC1ib3hfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgLnJvdW5kZWQtYm94LS1taWNyb3NpdGUgLnJvdW5kZWQtYm94X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuLnJvdW5kZWQtY29ybmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNjBweDsgfVxuXG4ucm91bmRlZC1jb3JuZXItLXNtYWxsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMzBweDsgfVxuXG4ucm91bmRlZC1jb3JuZXItLXRvcC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5yb3VuZGVkLWNvcm5lci0tdG9wLXJpZ2h0IHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9IH1cblxuLnJ0ZiBpbWcge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cblxuLnNlYXJjaF9fdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7XG4gIHdpZHRoOiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VhcmNoX190b2dnbGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UzNjAxODsgfVxuICAgICAgLnNlYXJjaF9fdG9nZ2xlOmhvdmVyIC5pY29uIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH0gfVxuICAuc2VhcmNoX190b2dnbGUgLmljb24ge1xuICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuICAgIGxlZnQ6IDExcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4OyB9XG4gIC5zZWFyY2hfX3RvZ2dsZS5pcy1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5zZWFyY2hfX3RvZ2dsZS5pcy1jbG9zZSAuaWNvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdzJyAhaW1wb3J0YW50OyB9XG4gIC5zZWFyY2hfX3RvZ2dsZS5zZWFyY2gtLXN1YmxvY2F0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MWI5O1xuICAgIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cbiAgICAuc2VhcmNoX190b2dnbGUuc2VhcmNoLS1zdWJsb2NhdGlvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM2MDE4OyB9XG4gIC5zZWFyY2hfX3RvZ2dsZS5zZWFyY2hfX3RvZ2dsZS0tb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM2MDE4O1xuICAgIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cbiAgICAuc2VhcmNoX190b2dnbGUuc2VhcmNoX190b2dnbGUtLW9yYW5nZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MWI5OyB9XG5cbi5zZWFyY2guc2VhcmNoLS1tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjMGYyYzUyO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDQ7IH1cbiAgLnNlYXJjaC5zZWFyY2gtLW1haW4gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiA3MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDMwcHg7IH1cbiAgICAuc2VhcmNoLnNlYXJjaC0tbWFpbiAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZTM2MDE4OyB9XG4gIC5zZWFyY2guc2VhcmNoLS1tYWluLmlzLWV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDE0NnB4O1xuICAgIHRvcDogMDsgfVxuICAuaGVhZGVyLS1taWNyb3NpdGUgLnNlYXJjaC5zZWFyY2gtLW1haW4ge1xuICAgIGJvcmRlci10b3A6IDA7IH1cblxuLnNlYXJjaC5zZWFyY2gtLW1vYmlsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2VhcmNoLnNlYXJjaC0tbW9iaWxlLmlzLWV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwOyB9XG5cbi5zZWFyY2hfX2lucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuaGVhZGVyLW1haW4gLnNlYXJjaF9faW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgLnNlYXJjaF9faW5wdXQtZ3JvdXAgbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zZWFyY2hfX2lucHV0LWdyb3VwIC5zZWFyY2hfX2lucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiN2I3Yjc7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07IH1cbiAgICAuc2VhcmNoX19pbnB1dC1ncm91cCAuc2VhcmNoX19pbnB1dDpmb2N1cyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjdiN2I3O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMDsgfVxuICAgIC5oZWFkZXItbWFpbiAuc2VhcmNoX19pbnB1dC1ncm91cCAuc2VhcmNoX19pbnB1dCB7XG4gICAgICBoZWlnaHQ6IDcxcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDMwcHg7IH1cbiAgICAuc2VhcmNoLS1tb2JpbGUgLnNlYXJjaF9faW5wdXQtZ3JvdXAgLnNlYXJjaF9faW5wdXQge1xuICAgICAgaGVpZ2h0OiA1N3B4O1xuICAgICAgbGVmdDogNSU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogOTAlOyB9XG4gIC5zZWFyY2hfX2lucHV0LWdyb3VwIC5zZWFyY2hfX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBjb2xvcjogI2UzNjAxODtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiAxMnB4O1xuICAgIHdpZHRoOiA0MHB4OyB9XG4gICAgLnNlYXJjaF9faW5wdXQtZ3JvdXAgLnNlYXJjaF9fYnV0dG9uOmZvY3VzLCAuc2VhcmNoX19pbnB1dC1ncm91cCAuc2VhcmNoX19idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UzNjAxODtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmhlYWRlci1tYWluIC5zZWFyY2hfX2lucHV0LWdyb3VwIC5zZWFyY2hfX2J1dHRvbiB7XG4gICAgICB0b3A6IDhweDsgfVxuICAgIC5zZWFyY2gtLW1vYmlsZSAuc2VhcmNoX19pbnB1dC1ncm91cCAuc2VhcmNoX19idXR0b24ge1xuICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICB0b3A6IDRweDsgfVxuICAgIC5zZWFyY2hfX2lucHV0LWdyb3VwIC5zZWFyY2hfX2J1dHRvbiAuaWNvbi0tc2VhcmNoIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICB0b3A6IDA7IH1cbiAgICAgIC5zZWFyY2hfX2lucHV0LWdyb3VwIC5zZWFyY2hfX2J1dHRvbiAuaWNvbi0tc2VhcmNoOjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDEuMTVlbTsgfVxuXG4uc2VhcmNoLS1tYWluIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMCU7XG4gIHRvcDogNDBweDsgfVxuXG4uc2VhcmNoLS1tb2JpbGUgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDVweDsgfVxuXG4uc2VwYXJhdG9yLS1ncmVlbjo6YWZ0ZXIge1xuICBib3JkZXI6IDNweCBzb2xpZCAjNGRiZWI1OyB9XG5cbi5zZXBhcmF0b3ItY2VudGVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IHdpZHRoIDJzO1xuICB3aWR0aDogMDsgfVxuXG4uc2VwYXJhdG9yLWNlbnRlci5pcy1hbmltYXRpbmc6OmFmdGVyLFxuLmlzLWFuaW1hdGluZyAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICB3aWR0aDogM3JlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICB3aWR0aDogM3JlbTsgfSB9XG5cbi8qIFlBUExcbm5hbWU6IFRhYmxlXG5ub3Rlczogd3JhcHBpbmcgZGl2IHdpdGggdGFibGUtc2Nyb2xsIGFsbG93cyBob3Jpem9udGFsIHNjcm9sbCBhdCBzbWFsbCBtZWRpYSBxdWVyaWVzXG5wYXJ0aWFsOiBzZy10YWJsZVxuc2VsZWN0b3I6IC50YWJsZS50YWJsZS0taG9yaXpvbnRhbFxuKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGFibGUgdGhlYWQsXG4gIHRhYmxlIHRib2R5LFxuICB0YWJsZSB0Zm9vdCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgdGFibGUgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNjNmExNmQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgdGFibGUgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMyZDJjMmM7IH1cbiAgdGFibGUgdGhlYWQgdHIsXG4gIHRhYmxlIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZSB0aGVhZCB0aCxcbiAgdGFibGUgdGhlYWQgdGQsXG4gIHRhYmxlIHRmb290IHRoLFxuICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZSB0Ym9keSB0aCxcbiAgdGFibGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMzljNjY7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICB3aWR0aDogMTAwLjUlOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWluLXdpZHRoOiA5OS41JTsgfVxuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAudGFibGUgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnRhYmxlIHVsIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC50YWJsZSB1bCBsaTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAudGFibGUgdHIgdGgge1xuICAgIGhlaWdodDogNTRweDsgfVxuICAudGFibGUgdHIgdGQge1xuICAgIGNvbG9yOiAjMmQyYzJjO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIC50YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC50YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M2YTA2YztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC50YWJsZSB0aGVhZCB0ciB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjk4ZTVhOyB9XG4gIC50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAudGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cbiAgLnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyB9XG4gICAgLnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cbiAgICAgIC50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWU5ZTk7IH1cblxuLyogWUFQTFxubmFtZTogVGFicyBIb3Jpem9udGFsXG5wYXJ0aWFsOiBzZy10YWJzLWhvcml6b250YWxcbnNlbGVjdG9yOiAuYmFzaWMtdGFicy50YWJzXG4qL1xuLyogWUFQTFxubmFtZTogVGFicyBWZXJ0aWNhbFxucGFydGlhbDogc2ctdGFicy12ZXJ0aWNhbFxuc2VsZWN0b3I6IC5iYXNpYy10YWJzLnRhYnMudGFicy0tdmVydGljYWxcbiovXG4uYmFzaWMtdGFicyB7XG4gIGJvcmRlcjogMDsgfVxuICAuYmFzaWMtdGFicyAudGFicy1jb250ZW50LFxuICAuYmFzaWMtdGFicyAudGFicy10aXRsZSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEuMjVyZW0gcmdiYSgxMCwgMTAsIDEwLCAwLjIpOyB9XG4gIC5iYXNpYy10YWJzIC50YWJzLXRpdGxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgLmJhc2ljLXRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxMHB4IDAgMCAjMTc3OWJhO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJhc2ljLXRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICBtaW4td2lkdGg6IDkuNjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuYmFzaWMtdGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC41cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOyB9IH1cbiAgICAuYmFzaWMtdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYSB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDEwcHggMCAwICMwZjJjNTI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAuYmFzaWMtdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7IH1cbiAgLmJhc2ljLXRhYnMgLnRhYnMtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYXNpYy10YWJzLnRhYnMtLWNvbnRhY3QtZm9ybSAudGFicy10aXRsZSBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuYmFzaWMtdGFicy50YWJzLS1jb250YWN0LWZvcm0gLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjI1ZW0pIHtcbiAgICAgIC5iYXNpYy10YWJzLnRhYnMtLWNvbnRhY3QtZm9ybSAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMi41cmVtIDIuNXJlbTsgfSB9XG4gIC5iYXNpYy10YWJzLnRhYnMtLXZlcnRpY2FsIC50YWJzLWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDsgfVxuICAuYmFzaWMtdGFicy50YWJzLS12ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItbGVmdDogMC42MjVyZW0gc29saWQgIzAwNzFiOTtcbiAgICBib3gtc2hhZG93OiAwIDAgMS4yNXJlbSByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4taGVpZ2h0OiA3NnB4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1sZWZ0LWNvbG9yIC4yNXM7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYmFzaWMtdGFicy50YWJzLS12ZXJ0aWNhbCAudGFicy10aXRsZS5pcy1hY3RpdmUsIC5iYXNpYy10YWJzLnRhYnMtLXZlcnRpY2FsIC50YWJzLXRpdGxlOmhvdmVyLCAuYmFzaWMtdGFicy50YWJzLS12ZXJ0aWNhbCAudGFicy10aXRsZTpmb2N1cyB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogIzBmMmM1MjsgfVxuICAgICAgLmJhc2ljLXRhYnMudGFicy0tdmVydGljYWwgLnRhYnMtdGl0bGUuaXMtYWN0aXZlID4gYSwgLmJhc2ljLXRhYnMudGFicy0tdmVydGljYWwgLnRhYnMtdGl0bGU6aG92ZXIgPiBhLCAuYmFzaWMtdGFicy50YWJzLS12ZXJ0aWNhbCAudGFicy10aXRsZTpmb2N1cyA+IGEge1xuICAgICAgICBjb2xvcjogIzBmMmM1MjsgfVxuICAgIC5iYXNpYy10YWJzLnRhYnMtLXZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMS4yNXJlbSByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMXB4KTsgfVxuICAgIC5iYXNpYy10YWJzLnRhYnMtLXZlcnRpY2FsIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgICAgIGNvbG9yOiAjMDA3MWI5O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1pbi1oZWlnaHQ6IDc2cHg7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5iYXNpYy10YWJzLnRhYnMtLXZlcnRpY2FsIC50YWJzLXRpdGxlID4gYTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7IH1cblxuLnRpbGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTg3NWVtKSB7XG4gICAgLnRpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9XG4gICAgICAudGlsZS5jZWxsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gIC50aWxlOmhvdmVyIC50aWxlX19pbWFnZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIC50aWxlOmhvdmVyIC50aWxlX190ZXh0IHtcbiAgICBjb2xvcjogI2UzNjAxODsgfVxuICAgIC50aWxlOmhvdmVyIC50aWxlX190ZXh0IC5pY29uLS1hcnJvdy1yaWdodCB7XG4gICAgICBjb2xvcjogIzUwNTA1MDsgfVxuICAudGlsZS50aWxlLS1zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwLjYyNXJlbSByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi50aWxlLS1tYXgtd2lkdGgge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAzMDBweDsgfVxuXG4udGlsZV9faGVhZGVyIHtcbiAgY29sb3I6ICM0MDQwNDA7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xODc1ZW0pIHtcbiAgICAudGlsZV9faGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi50aWxlX19pbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cblxuLnRpbGVfX3RhZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGVmdDogMThweDtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdG9wOiAyMHB4O1xuICB6LWluZGV4OiA5OyB9XG4gIC50aWxlX190YWcudGlsZV9fdGFnLS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDExMywgMTg1LCAwLjkpOyB9XG4gIC50aWxlX190YWcudGlsZV9fdGFnLS1vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI3LCA5NiwgMjQsIDAuOSk7IH1cbiAgLnRpbGVfX3RhZy50aWxlX190YWctLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc3LCAxOTAsIDE4MSwgMC45KTsgfVxuICAudGlsZV9fdGFnLnRpbGVfX3RhZy0tYnJvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUxLCAxMTEsIDYzLCAwLjkpOyB9XG5cbi50aWxlX190ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMyZDJjMmM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDQ0cHggMnJlbSAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfVxuICAudGlsZV9fdGV4dCAuaWNvbi0tYXJyb3ctcmlnaHQge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7IH1cbiAgLnRpbGVfX3RleHQudGlsZV9fdGV4dC0tZXF1YWwtcGFkZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudGlsZV9fdGV4dCBoNCB7XG4gICAgY29sb3I6ICNlMzYwMTg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnRpbGVfX3RleHQgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4udGlsZV9fdGV4dC1saW5rIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGlsZV9fdGV4dC1saW5rIC5pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4udGlsZV9faWNvbiB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDI4cHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTI4cHg7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnRpbGVfX2ljb246OmJlZm9yZSB7XG4gICAgbGVmdDogMTVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4OyB9XG4gIC50aWxlX19pY29uLmljb24tLXBhdGllbnQtc3Rvcnk6OmJlZm9yZSwgLnRpbGVfX2ljb24uaWNvbi0tdHJlYXRtZW50OjpiZWZvcmUge1xuICAgIGxlZnQ6IDE2cHg7IH1cbiAgLnRpbGVfX2ljb24uaWNvbi0tdHJlYXRtZW50OjpiZWZvcmUge1xuICAgIHRvcDogMTZweDsgfVxuXG4udGlsZV9fbGlzdCB7XG4gIG1hcmdpbjogMXJlbSAwOyB9XG4gIC50aWxlX19saXN0ID4gYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiN2I3Yjc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43NXJlbSAwOyB9XG4gICAgLnRpbGVfX2xpc3QgPiBhOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAudGlsZV9fbGlzdC50aWxlX19saXN0LS1zZW1pYm9sZCA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnRpbGVfX2xpc3QudGlsZV9fbGlzdC0tYm9yZGVyLWJvdHRvbSA+IGE6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiN2I3Yjc7IH1cblxuLmF3ZXNvbXBsZXRlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogWUFQTFxubmFtZTogVXBjb21pbmcgRXZlbnRzXG5wYXJ0aWFsOiBocC11cGNvbWluZy1ldmVudHNcbnNlbGVjdG9yOiAudXBjb21pbmctZXZlbnRzXG4qL1xuLyogWUFQTFxubmFtZTogVXBjb21pbmcgRXZlbnRzIE1pY3Jvc2l0ZVxucGFydGlhbDogc2ctdXBjb21pbmctZXZlbnRzLW1pY3Jvc2l0ZVxuc2VsZWN0b3I6IC51cGNvbWluZy1ldmVudHMudXBjb21pbmctZXZlbnRzLS1taWNyb3NpdGVcbiovXG4udXBjb21pbmctZXZlbnRzIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnVwY29taW5nLWV2ZW50cyBsaSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAgIC51cGNvbWluZy1ldmVudHMgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAudXBjb21pbmctZXZlbnRzIC51cGNvbWluZy1ldmVudHNfX2l0ZW0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC51cGNvbWluZy1ldmVudHMgLnVwY29taW5nLWV2ZW50c19faXRlbTpob3ZlciB7XG4gICAgICBjb2xvcjogI2UzNjAxODsgfVxuICAgICAgLnVwY29taW5nLWV2ZW50cyAudXBjb21pbmctZXZlbnRzX19pdGVtOmhvdmVyIC51cGNvbWluZy1ldmVudHNfX2RhdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTM2MDE4OyB9XG4gIC51cGNvbWluZy1ldmVudHMgLnVwY29taW5nLWV2ZW50c19faXRlbS1kZXRhaWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7IH1cbiAgICAudXBjb21pbmctZXZlbnRzIC51cGNvbWluZy1ldmVudHNfX2l0ZW0tZGV0YWlsIHNwYW4ge1xuICAgICAgY29sb3I6ICMyZDJjMmM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnVwY29taW5nLWV2ZW50cyAudXBjb21pbmctZXZlbnRzX19pdGVtLWRldGFpbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgICAgLnVwY29taW5nLWV2ZW50cyAudXBjb21pbmctZXZlbnRzX19pdGVtLWRldGFpbCBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gIC51cGNvbWluZy1ldmVudHMgLnVwY29taW5nLWV2ZW50c19fZGF0ZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZhMTZkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgaGVpZ2h0OiA3OHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgICB3aWR0aDogNzhweDsgfVxuICAgIC51cGNvbWluZy1ldmVudHMgLnVwY29taW5nLWV2ZW50c19fZGF0ZSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjQzNzVyZW07IH1cbiAgLnVwY29taW5nLWV2ZW50cy51cGNvbWluZy1ldmVudHMtLW1pY3Jvc2l0ZSBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjY2VjZWNlO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgIC51cGNvbWluZy1ldmVudHMudXBjb21pbmctZXZlbnRzLS1taWNyb3NpdGUgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC51cGNvbWluZy1ldmVudHMudXBjb21pbmctZXZlbnRzLS1taWNyb3NpdGUgLnVwY29taW5nLWV2ZW50c19faXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuICAudXBjb21pbmctZXZlbnRzLnVwY29taW5nLWV2ZW50cy0tbWljcm9zaXRlIC51cGNvbWluZy1ldmVudHNfX2RhdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMzYwMTg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGhlaWdodDogNjNweDtcbiAgICB3aWR0aDogNjNweDsgfVxuICAgIC51cGNvbWluZy1ldmVudHMudXBjb21pbmctZXZlbnRzLS1taWNyb3NpdGUgLnVwY29taW5nLWV2ZW50c19fZGF0ZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAudXBjb21pbmctZXZlbnRzLnVwY29taW5nLWV2ZW50cy0tbWljcm9zaXRlIC51cGNvbWluZy1ldmVudHNfX2l0ZW0tZGV0YWlsIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi51cGRhdGVzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogLTU1cHg7XG4gIHRvcDogMjQ4cHg7XG4gIHotaW5kZXg6IDEyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC51cGRhdGVzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udXBkYXRlc19fYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzNjAxODtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTZweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDE2cHg7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGhlaWdodDogNTJweDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gIHdpZHRoOiAxNjJweDsgfVxuICAudXBkYXRlc19fYnV0dG9uIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XG4gICAgY29sb3I6ICNjNmExNmQ7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgICB3aWR0aDogMjZweDsgfVxuICAgIC51cGRhdGVzX19idXR0b24gLmljb246OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA2cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDZweDsgfVxuICAudXBkYXRlc19fYnV0dG9uOmhvdmVyLCAudXBkYXRlc19fYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQ3ODIxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi51cGRhdGVzX19idXR0b24tdGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7IH1cblxuLnVwZGF0ZXNfX2Zvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MWI5O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0MHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0MHB4O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMnJlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogNzA3cHg7XG4gIHotaW5kZXg6IDExOyB9XG4gIC51cGRhdGVzX19mb3JtLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWF4LWhlaWdodDogNjAwcHgpIHtcbiAgICAudXBkYXRlc19fZm9ybSB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLnVwZGF0ZXNfX2Zvcm0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGNvbG9yOiAjZTM2MDE4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDsgfVxuXG4udXBkYXRlc19fYm9keSAqIHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnVwZGF0ZXNfX2JvZHkgaDMge1xuICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuXG4udXBkYXRlc19fYm9keSBoNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnVwZGF0ZXNfX2NoZWNrYm94IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAudXBkYXRlc19fY2hlY2tib3ggbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXRvcDogLTVweDsgfVxuXG4udXBkYXRlc19faW5wdXQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudXBkYXRlc19faW5wdXQtd3JhcCBpbnB1dDpmb2N1cyArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC51cGRhdGVzX19pbnB1dC13cmFwIGlucHV0OnZhbGlkICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnVwZGF0ZXNfX2lucHV0LXdyYXAgbGFiZWwge1xuICAgIGNvbG9yOiAjNjU2NTY1O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGVmdDogMTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAudXBkYXRlc19faW5wdXQtd3JhcCBsYWJlbCBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZTM2MDE4OyB9XG5cbi51cGRhdGVzX19pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiN2I3Yjc7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIGhlaWdodDogNDZweDsgfVxuXG4udXBkYXRlc19fbGVnYWwge1xuICBmb250LXNpemU6IDEzcHg7IH1cblxuLnNnLWJsb2NrX19saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc2ctYmxvY2tfX2xpc3QgPiBsaSBoMyB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5zZy1ibG9ja19fbGlzdCA+IGxpIGg0IHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnNnLWJsb2NrX19saXN0IC5zZy1ibG9ja19fbW9kdWxlLWxpc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zZy1oZWFkZXJfX2xlZnQgaW1nIHtcbiAgd2lkdGg6IDMwMHB4OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgYSBbaHJlZl06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5hY2NvcmRpb25fX2Fycm93LFxuICAuYWNjb3JkaW9uX19idXR0b24sXG4gIC5hY2NvcmRpb24tLXNlYXJjaCxcbiAgLmFscGhhYmV0LWxpc3QsXG4gIC5idXR0b24sXG4gIC5idXR0b25fX2NvbnRhaW5lcixcbiAgLmNoYXQsXG4gIC5jdGEsXG4gIC5kaWFnb25hbHMsXG4gIC5kb2MtcHJvZmlsZV9fcmVmaW5lLWNvbCxcbiAgLmZpbHRlcixcbiAgLmZvbGxvdyxcbiAgLmZvbGxvd19fZmFjZWJvb2ssXG4gIC5mb2xsb3dfX2ljb25zLFxuICAuZm9vdGVyLW1haW5fX2xvZ28sXG4gIC5mb290ZXJfX3NvY2lhbCxcbiAgLmZvb3Rlcl9fdXRpbGl0eSxcbiAgLmZ1dHVyZSxcbiAgLmhlYWRlcl9fYmFjay1saW5rLFxuICAuaGVyb19faW1hZ2UsXG4gIC5oZXJvLW5hdl9fc2VjdGlvbi1jb250YWluZXIsXG4gIC5ocC1wb3J0bGV0cyxcbiAgLmluZm9ncmFwaGljLFxuICAuaW5mb2dyYXBoaWNfX3N0YXQtY29udGFpbmVyLS10YWJzLFxuICAubW9yZS1zZWN0aW9uLFxuICAubW9yZS1zZWN0aW9uX19ibG9jayxcbiAgLm5hdi1tYWluLFxuICAubmF2X19zZWNvbmRhcnksXG4gIC5uYXYtdXRpbGl0eSxcbiAgLm5hdi1icmVhZGNydW1ic19fbW9iaWxlLXRvZ2dsZSxcbiAgLm5hdi1icmVhZGNydW1ic19fc3VibWVudSxcbiAgLm5hdi1icmVhZGNydW1ic19faWNvbixcbiAgLm5hdi1icmVhZGNydW1ic19fc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUsXG4gIC5wYWdpbmF0aW9uLFxuICAucG9ydGxldCxcbiAgLnF1b3RlLFxuICAucXVvdGVfX2ltYWdlLWNvbnRhaW5lcixcbiAgLnNlYXJjaF9fdG9nZ2xlLFxuICAuc29jaWFsLFxuICAudGlsZV9faGVhZGVyLFxuICAudGlsZV9faGVhZGVyICsgZGl2LFxuICAudXBkYXRlcyxcbiAgLnZpZGVvLFxuICAudmlldy1tb3JlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLndoaXRlLFxuICAub3JhbmdlLFxuICAuZ3JheSxcbiAgLm1lZGl1bS1icm93bixcbiAgLnJlZCxcbiAgLmdyZWVuLWJsdWUsXG4gIC5tZWRpdW0tYmx1ZSB7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7IH1cbiAgLmFjY29yZGlvbi0tbWljcm9zaXRlIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG4gIC5hcnRpY2xlX19oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIC5hcnRpY2xlX19oZWFkZXIgPiAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmFydGljbGVfX2hlYWRlciBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5iYWNrZ3JvdW5kLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDc1cmVtOyB9XG4gIC5ib3JkZXItLWdyZWVuIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmJvcmRlci1ncmVlbi1ib3R0b20ge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG4gIC5ib3gge1xuICAgIHBhZGRpbmc6IDFyZW0gMCAhaW1wb3J0YW50OyB9XG4gIC5ib3gtLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDFyZW0gMCAhaW1wb3J0YW50OyB9XG4gIC5ib3guYm94LS1tYXJnaW4tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAqW2NsYXNzKj0nYmFja2dyb3VuZC0tJ10sXG4gICpbY2xhc3MqPSdib3JkZXJlZC1lbGVtZW50LS0nXSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmNhcmVlcnMtaW5mbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY2FyZWVycy1yZXN1bHRzIHRhYmxlIHRyIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmlndXJlX19jYXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMXJlbSAwOyB9XG4gIC5maWd1cmVfX2ltYWdlIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogNDAwcHggIWltcG9ydGFudDsgfVxuICAuZmlndXJlX192aWRlbyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmlndXJlLmZsb2F0LWxlZnQsXG4gIC5maWd1cmUtLXNtYWxsLFxuICAuZmlndXJlLmZsb2F0LWxlZnQuZmlndXJlLS1vZmZzZXQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmZpZ3VyZS5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZvb3Rlci1tYWluIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC5mb290ZXItbWFpbl9fYWRkcmVzcyB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgLmZvb3Rlci1tYWluX19pbmZvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZm9vdGVyLW1haW4gLmNvbnRhY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICB0b3A6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlYWRlci1tYWluX19zdGlja3kge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5oZXJvLFxuICAuaGVyb19fd3JhcCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5oZXJvLWRpcmVjdGlvbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVyb19fb3ZlcmxheSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuaGVyb19fdGV4dGJveCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLm1pY3Jvc2l0ZS1pbmZvIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5yb3VuZGVkLWJveF9faGVhZGluZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucm91bmRlZC1ib3hfX2hlYWRpbmcsXG4gIC5yb3VuZGVkLWJveF9fYm9keSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnJ0ZiBoMSxcbiAgLnJ0ZiBoMixcbiAgLnJ0ZiBoMyxcbiAgLnJ0ZiBoNCxcbiAgLnJ0ZiBoNSxcbiAgLnJ0ZiBoNiB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAucnRmIHVsIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnJ0ZiB1bCBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDsgfVxuICAgICAgLnJ0ZiB1bCBsaTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgIC5ydGYgdWwgbGkgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5ydGYgb2wgbGk6OmJlZm9yZSB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLnRhYnMgLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnRhYnMtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAudGFicy1wYW5lbCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAqW2NsYXNzKj0ndmVydGljYWwtbWFyZ2luLSddIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH0gfVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuLy8gT3BlbiBTYW5zIGZvbnRcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjMwMCw0MDAsNDAwaSw1MDAsNTAwaSw3MDAsNzAwaScpO1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDQwMCw0MDBpLDUwMCw1MDBpLDYwMCw3MDAnKTtcblxuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2F3ZXNvbXBsZXRlL2F3ZXNvbXBsZXRlJztcbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4vL1xuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuXG5cblxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3I7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmc7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nO1xuXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLy9AaW1wb3J0ICd1dGlsL3ZlcnRpY2FsLXJoeXRobSc7XG5cbi8vIHByb2plY3Qgc3R5bGVzIHRoYXQgY29tcG9uZW50cyBtYXkgZGVwZW5kIG9uXG5AaW1wb3J0ICdiYXNlJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ2ljb25zJztcbkBpbXBvcnQgJ3V0aWxpdHknO1xuXG5AaW1wb3J0ICd1dGlsL3ZlcnRpY2FsLXJoeXRobSc7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZlcnRpY2FsLXJoeXRobTtcblxuLy8gbGF5b3V0IGNvbXBvbmVudHMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyXG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGF5b3V0L2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGF5b3V0L2Zvb3Rlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xheW91dC9ncmlkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGF5b3V0L2hlYWRlci1tYWluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGF5b3V0L21haW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYXlvdXQvbmF2LW1haW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYXlvdXQvbmF2LW1vYmlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xheW91dC9uYXYtc2Vjb25kYXJ5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGF5b3V0L25hdi11dGlsaXR5JztcblxuLy8gbGF5b3V0IGNvbXBvbmVudHMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FsaWduJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWxwaGFiZXQtbGlzdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FydGljbGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWNrZ3JvdW5kJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFjay10by10b3AnO1xuQGltcG9ydCAnY29tcG9uZW50cy9ib3JkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9ib3gnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJlZXJzLWluZm8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJlZXJzLXJlc3VsdHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jaGF0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29sb3JzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGFjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nzcy1jb2x1bW5zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY3RhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZGlhZ29uYWxzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZGl2aWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RvYy1wcm9maWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mZWF0dXJlZC1zdG9yaWVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmlndXJlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmlsdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9sbG93JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mdXR1cmUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oYW1idXJnZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9pbWFnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlcm8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZXJvLW5hdic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hvdC1qb2JzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaHAtcG9ydGxldHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pbmZvZ3JhcGhpYyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xpbmsnO1xuQGltcG9ydCAnY29tcG9uZW50cy9saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbG9jYXRpb25zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWFpbGluZy1saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21pY3Jvc2l0ZS1pbmZvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbW9yZS1zZWN0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWRkZWQtYm94JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BvcnRsZXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9xdW90ZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JvdW5kZWQtYm94JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcm91bmRlZC1jb3JuZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9ydGYnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZWFyY2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZXBhcmF0b3InO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwZWFoZWFkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdXBjb21pbmctZXZlbnRzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdXBkYXRlcyc7XG5cbkBpbXBvcnQgJ3N0eWxlZ3VpZGUnO1xuQGltcG9ydCAncHJpbnQnO1xuIiwiLmF3ZXNvbXBsZXRlIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYXdlc29tcGxldGUgLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi5hd2Vzb21wbGV0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmF3ZXNvbXBsZXRlID4gaW5wdXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYXdlc29tcGxldGUgPiB1bCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5hd2Vzb21wbGV0ZSA+IHVsOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYXdlc29tcGxldGUgPiB1bCB7XG5cdGJvcmRlci1yYWRpdXM6IC4zZW07XG5cdG1hcmdpbjogLjJlbSAwIDA7XG5cdGJhY2tncm91bmQ6IGhzbGEoMCwwJSwxMDAlLC45KTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgd2hpdGUsIGhzbGEoMCwwJSwxMDAlLC44KSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpO1xuXHRib3gtc2hhZG93OiAuMDVlbSAuMmVtIC42ZW0gcmdiYSgwLDAsMCwuMik7XG5cdHRleHQtc2hhZG93OiBub25lO1xufVxuXG5Ac3VwcG9ydHMgKHRyYW5zZm9ybTogc2NhbGUoMCkpIHtcblx0LmF3ZXNvbXBsZXRlID4gdWwge1xuXHRcdHRyYW5zaXRpb246IC4zcyBjdWJpYy1iZXppZXIoLjQsLjIsLjUsMS40KTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiAxLjQzZW0gLS40M2VtO1xuXHR9XG5cdFxuXHQuYXdlc29tcGxldGUgPiB1bFtoaWRkZW5dLFxuXHQuYXdlc29tcGxldGUgPiB1bDplbXB0eSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDApO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuXHR9XG59XG5cblx0LyogUG9pbnRlciAqL1xuXHQuYXdlc29tcGxldGUgPiB1bDpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLS40M2VtO1xuXHRcdGxlZnQ6IDFlbTtcblx0XHR3aWR0aDogMDsgaGVpZ2h0OiAwO1xuXHRcdHBhZGRpbmc6IC40ZW07XG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XG5cdFx0Ym9yZGVyOiBpbmhlcml0O1xuXHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuXG5cdC5hd2Vzb21wbGV0ZSA+IHVsID4gbGkge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nOiAuMmVtIC41ZW07XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cdFxuXHQuYXdlc29tcGxldGUgPiB1bCA+IGxpOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiBoc2woMjAwLCA0MCUsIDgwJSk7XG5cdFx0Y29sb3I6IGJsYWNrO1xuXHR9XG5cdFxuXHQuYXdlc29tcGxldGUgPiB1bCA+IGxpW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcblx0XHRiYWNrZ3JvdW5kOiBoc2woMjA1LCA0MCUsIDQwJSk7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHR9XG5cdFxuXHRcdC5hd2Vzb21wbGV0ZSBtYXJrIHtcblx0XHRcdGJhY2tncm91bmQ6IGhzbCg2NSwgMTAwJSwgNTAlKTtcblx0XHR9XG5cdFx0XG5cdFx0LmF3ZXNvbXBsZXRlIGxpOmhvdmVyIG1hcmsge1xuXHRcdFx0YmFja2dyb3VuZDogaHNsKDY4LCAxMDAlLCA0MSUpO1xuXHRcdH1cblx0XHRcblx0XHQuYXdlc29tcGxldGUgbGlbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0gbWFyayB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBoc2woODYsIDEwMCUsIDIxJSk7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG4vKiMgc291cmNlTWFwcGluZ1VSTD1hd2Vzb21wbGV0ZS5jc3MubWFwICovXG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcblxuJGxpZ2h0LWJsdWU6ICNhYWViZTY7XG4kbWVkaXVtLWJsdWU6ICMwMDcxYjk7XG4kbWVkaXVtLWRhcmstYmx1ZTogIzA1NjRhNDtcbiRkYXJrLWJsdWU6ICMwZjJjNTI7XG4kdmVyeS1kYXJrLWJsdWU6ICMwYzI1NDc7XG5cbiRyZWQ6ICNmNDIwMjA7XG4kb3JhbmdlOiAjZTM2MDE4O1xuJGdyZWVuLWJsdWU6ICM0ZGJlYjU7XG4kb2Zmd2hpdGUtZ3JlZW4tYmx1ZTogI2VlZjlmODtcbiRsaWdodC1icm93bjogI2M2YTE2ZDtcbiRsaWdodC1icm93bi10ZXh0OiAjYWE4YTVkO1xuJGxpZ2h0LWJyb3duLWJvcmRlcjogI2M2OWY2ZDtcbiRtZWRpdW0tYnJvd246ICM5NzZmM2Y7XG5cbiRib3JkZXItZ3JheTogI2I3YjdiNztcbiRkaXZpZGVyLWdyYXk6ICM4Nzk2YTk7XG4kZGl2aWRlci13aGl0ZTogIzNmNTY3NTtcbiRkaXZpZGVyLWZvb3RlcjogcmdiYSgkZGl2aWRlci13aGl0ZSwgLjYpO1xuXG4kb2Zmd2hpdGU6ICNmNWY1ZjU7XG4kdmVyeS1saWdodC1ncmF5OiAjZjJmMGVmO1xuJGxpZ2h0LWdyYXk6ICNlMWUxZTE7XG4kbWVkaXVtLWxpZ2h0LWdyYXk6ICNiMGIwYjA7XG4kbWVkaXVtLWdyYXk6ICMyZDJjMmM7XG4kY2FwdGlvbi1ncmF5OiAjMjQyNDI0O1xuJGRhcmstZ3JheTogIzJmMmUyZTtcbiR3YXJtLWdyYXk6ICNlY2U5ZTg7XG4kb2ZmLWJsYWNrOiAjNDA0MDQwO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJHB1cmUtd2hpdGU6ICNmZmY7XG5cbiR0ZXh0LWNvbG9yOiAjMmQyYzJjO1xuXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkdGV4dC1jb2xvcjtcblxuXG4kYm9keS1mb250LWZhbWlseTogJ09wZW4gU2FucycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1mb250LWZhbWlseS1hbHQ6ICdSb2JvdG8nLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcblxuJGdsb2JhbC13ZWlnaHQtbGlnaHQ6IDMwMDtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGdsb2JhbC13ZWlnaHQtbWVkaXVtOiA1MDA7XG4kZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDogNjAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuXG4kZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ6IC4zcztcblxuJGhlYWRlci1oZWlnaHQtcGhhYmxldDogNzJweDtcbiRoZWFkZXItaGVpZ2h0LW1lZGl1bTogMTAycHg7XG4kaGVhZGVyLWhlaWdodC1sYXJnZTogMTA2cHg7XG5cbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgcGhhYmxldDogNjQwcHgsXG4gIG1lZGl1bTogODUycHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHhcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgcGhhYmxldCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzZweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3ZlcjogJG9yYW5nZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjI7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRjYXB0aW9uLWdyYXk7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogIzQ1NDU0NTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGJvcmRlci1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAxLjM7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRib3JkZXItZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6IDZweDtcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMDtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiAjYzZhMTZkOy8vIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkd2hpdGU7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICR3aGl0ZTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDI1KSByZW0tY2FsYygyMCkgMDtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAwO1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCk7XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDE2cHgsXG4gIG1lZGl1bTogMThweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG4gICAgXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1yb3VuZGVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciByb3VuZGVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXJhZGl1c2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG5cbi8vLyBSb3VuZGVkIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogQWRkcyByYWRpdXMgY29ybmVycyAoYWxsIGNvcm5lcnMpIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGl1cyBbJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXSBCb3JkZXIgcmFkaXVzIChhbGwgY29ybmVycylcbkBtaXhpbiBib3JkZXItcmFkaXVzKFxuICAkcmFkaXVzOiAkcHJvdG90eXBlLWJvcmRlci1yYWRpdXNcbikge1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4vLy8gUm91bmRlZCBzcXVhcmUgdXRpbGl0eSBvciByZWN0YW5nbGUgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBSb3VuZHMgYWxsIGNvcm5lcnMgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0IHRvIG1ha2UgYSBwaWxsIHNoYXBlLlxuQG1peGluIGJvcmRlci1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkIHtcbiAgLnJvdW5kZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICB9XG5cbiAgLnJhZGl1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcm91bmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXJhZGl1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlcmVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXJlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItd2lkdGhgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci10eXBlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1jb2xvcmAgZGVmYXVsdGVkIHRvIGBtZWRpdW0tZ3JheWBcbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlcmVkIFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtYm9yZGVyLXdpZHRoXSBXaWR0aCBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0eXBlIFskcHJvdG90eXBlLWJvcmRlci10eXBlXSBUeXBlIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXSBDb2xvciBvZiB0aGUgYm9yZGVyXG5AbWl4aW4gYm9yZGVyZWQoXG4gICR3aWR0aDogJHByb3RvdHlwZS1ib3JkZXItd2lkdGgsXG4gICR0eXBlOiAkcHJvdG90eXBlLWJvcmRlci10eXBlLFxuICAkY29sb3I6ICRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXG4pIHtcbiAgYm9yZGVyOiAkd2lkdGggJHR5cGUgJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQge1xuICAuYm9yZGVyZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2VwYXJhdG9yXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhbGlnbm1lbnQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRvcCBNYXJnaW4gb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRpdGxlIHNlcGFyYXRvciBVdGlsaXR5LCBtb3N0bHkgdXNlZCB0byBzdHlsZSB0aGUgbWFpbiBoZWFkaW5nIG9mIGEgc2VjdGlvblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYWxpZ24gWyRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduXSAtIHNlcGFyYXRvciBBbGlnbm1lbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0XSAtIFdpZHRoXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGhdIC0gSGVpZ2h0XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFskcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXSAtIE1hcmdpbiBUb3BcbkBtaXhpbiBzZXBhcmF0b3IgKFxuICAkYWxpZ246ICRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduLFxuICAkaGVpZ2h0OiAkcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQsXG4gICR3aWR0aDogJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGgsXG4gICRiYWNrZ3JvdW5kOiAkcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kLFxuICAkdG9wOiAkcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXG4pIHtcbiAgdGV4dC1hbGlnbjogJGFsaWduICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSk7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogJHRvcCBhdXRvIDA7XG5cbiAgICBAaWYgJGFsaWduID09IGxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yIHtcblx0LnNlcGFyYXRvci1jZW50ZXIge1xuXHRcdEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuXHR9XG5cbiAgLnNlcGFyYXRvci1sZWZ0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gIH1cblxuICAuc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICB9XG5cblx0QGlmICgkcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1jZW50ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1wb3NpdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcG9zaXRpb24gaGVscGVyc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgcG9zaXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgZml4ZWQgcG9zaXRpb25pbmdcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1ICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb24gY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1wb3NpdGlvbmAsIHdoZXJlYXMgYWxsIHRoZSBvZmZzZXQgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBvc2l0aW9uYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIFtdIFBvc2l0aW9uIGNsYXNzZXMsIEVpdGhlciBgc3RhdGljYCwgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gVG9wIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUmlnaHQgb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBMZWZ0IG9mZnNldFxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHRvcDogJHRvcCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBsZWZ0OiAkbGVmdCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gdG9wIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLXRvcGBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC10b3AoXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCwgMCwgbnVsbCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gYm90dG9tIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLWJvdHRvbWBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC1ib3R0b20oXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgMCwgMCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb24ge1xuICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gIC5wb3NpdGlvbi1maXhlZC10b3Age1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgfVxuICAucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2l6aW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzaXppbmdgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXggV2lkdGggMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LXdpZHRoLTEwMCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vLy8gTWF4IEhlaWdodCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZyB7XG4gIC8vIEVsZW1lbnQgU2l6aW5nXG4gIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgLiN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTWF4IHdpZHRoICYgaGVpZ2h0XG4gIC5tYXgtd2lkdGgtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgtMTAwO1xuICB9XG4gIC5tYXgtaGVpZ2h0LTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LWhlaWdodC0xMDA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICAgICAgICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgICAgICAgICAuI3skc2l6ZX0tI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNwYWNpbmcge1xuICBAZm9yICRzcGFjZXIgZnJvbSAwIHRocm91Z2ggJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50IHtcbiAgICAvLyBBbGwgU2lkZXNcbiAgICAubWFyZ2luLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAvLyBUb3AgU2lkZVxuICAgIC5tYXJnaW4tdG9wLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsIG51bGwsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgLy8gUmlnaHQgU2lkZVxuICAgIC5tYXJnaW4tcmlnaHQtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgJHNwYWNlciwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctcmlnaHQtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsICRzcGFjZXIsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIC8vIEJvdHRvbSBTaWRlXG4gICAgLm1hcmdpbi1ib3R0b20tI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctYm90dG9tLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCAkc3BhY2VyLCBudWxsKTtcbiAgICB9XG5cbiAgICAvLyBMZWZ0IFNpZGVcbiAgICAubWFyZ2luLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgbnVsbCwgbnVsbCwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctbGVmdC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgbnVsbCwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLy8gSG9yaXpvbnRhbCBBeGVzXG4gICAgLm1hcmdpbi1ob3Jpem9udGFsLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsICRzcGFjZXIsIG51bGwsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsICRzcGFjZXIsIG51bGwsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIEF4ZXNcbiAgICAubWFyZ2luLXZlcnRpY2FsLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsIG51bGwsICRzcGFjZXIsIG51bGwpXG4gICAgfVxuXG4gICAgLnBhZGRpbmctdmVydGljYWwtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsIG51bGwsICRzcGFjZXIsIG51bGwpXG4gICAgfVxuXG4gICAgQGlmICgkcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUb3AgU2lkZVxuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi10b3AtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctdG9wLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsIG51bGwsIG51bGwsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSaWdodCBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLXJpZ2h0LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgJHNwYWNlciwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLXJpZ2h0LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsICRzcGFjZXIsIG51bGwsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBCb3R0b20gU2lkZVxuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1ib3R0b20tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCAkc3BhY2VyLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctYm90dG9tLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBMZWZ0IFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tbGVmdC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsIG51bGwsICRzcGFjZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsIG51bGwsIG51bGwsICRzcGFjZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIb3Jpem9udGFsIEF4ZXNcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4taG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsICRzcGFjZXIsIG51bGwsICRzcGFjZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy1ob3Jpem9udGFsLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsICRzcGFjZXIsIG51bGwsICRzcGFjZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBWZXJ0aWNhbCBBeGVzXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLXZlcnRpY2FsLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgJHNwYWNlciwgbnVsbClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctdmVydGljYWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgbnVsbCwgJHNwYWNlciwgbnVsbClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiaHRtbCxcbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmh0bWwge1xuICAvLyAmLmlzLW5hdi1vcGVuIHtcbiAgLy8gICBvdmVyZmxvdzogaGlkZGVuO1xuICAvL1xuICAvLyAgIGJvZHkge1xuICAvLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gICB9XG4gIC8vIH1cbn1cblxuaDIsXG5oMyxcbnVsIHtcbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICN7JGdsb2JhbC1tYXJnaW4gLyAyfTtcbn1cblxuZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnNtYWxsIHtcbiAgLy9jb2xvcjogJGxlZ2FsLWdyYXk7XG59XG5cbmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG59XG5cbmltZyB7XG4gICY6bm90KFtzcmNdKSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgJltkYXRhLW9yaWdpbmFsXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbiAgfVxuXG4gICYuaXMtbG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuaHIge1xuICBib3JkZXItY29sb3I6ICNjY2M7XG5cbiAgJi5oci0tbWFyZ2luLXNtYWxsIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICBpbWcge1xuICAgICY6LW1vei1sb2FkaW5nIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cbn1cbi8vIHNhc3MtbGludDplbmFibGUgbm8tdmVuZG9yLXByZWZpeGVzXG4iLCJoMSB7XG4gIGNvbG9yOiAkZGFyay1ibHVlO1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHktYWx0O1xuICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIG1hcmdpbi10b3A6IDMycHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgfVxufVxuXG5oMiB7XG4gIGNvbG9yOiAkb2ZmLWJsYWNrO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICB9XG59XG5cbmgzIHtcbiAgY29sb3I6ICRvcmFuZ2U7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gIH1cbn1cblxuaDQge1xuICBjb2xvcjogJGNhcHRpb24tZ3JheTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgfVxufVxuXG5oNSAge1xuICBjb2xvcjogJGxpZ2h0LWJyb3duO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDYgIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLy8gcmljaCB0ZXh0IHN0eWxlc1xuLnJ0ZiB7XG5cbiAgPiAqIHtcbiAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1tYXJnaW4tMTtcblxuICAgICYuaWNvbixcbiAgICAmOm9ubHktY2hpbGQsXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAmLnUtZmxvYXQtbGVmdCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxuXG4gIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIH1cblxuICBoNiB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG4gIGg0LFxuICBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgcCB7XG4gICAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1tYXJnaW4taGFsZjtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDEyMCk7XG5cbiAgICAmLnBhcmFncmFwaC10aWdodCB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgfVxuXG4gICAgJi5wYXJhZ3JhcGgtZXh0cmEtc3BhY2Uge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgfVxuICB9XG5cbiAgb2wsXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAjeyRnbG9iYWwtbWFyZ2luICogM307XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICAgIHBhZGRpbmctbGVmdDogMS43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy90b3A6IC0uMDVyZW07XG4gICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZ2xvYmFsLW1hcmdpbjtcbiAgICB9XG5cbiAgICAmKyBoMixcbiAgICAmKyBoMyxcbiAgICAmKyBoNCxcbiAgICAmKyBoNSxcbiAgICAmKyBoNixcbiAgICAge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgY291bnRlci1yZXNldDogb2wtY291bnRlcjtcblxuICAgIG9sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogY291bnRlcihvbC1jb3VudGVyKSAnLic7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogY291bnRlcihvbC1jb3VudGVyLCBsb3dlci1hbHBoYSkgJy4nO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG4gICAgfVxuXG4gICAgbGkge1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjFyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC43NXJlbTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ+KAoic7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjhweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICfil4snO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ+KAoic7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBvdmVycmlkZSA8YT4gc3R5bGVzIGZvciBDVEEncyBhbmQgYnV0dG9ucyBpblxuICAvLyB0aGUgY29udGV4dCBvZiBydGZcbiAgLy8gQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG4gIEBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbiAgLy9AaW1wb3J0ICdjb21wb25lbnRzL2N0YSc7XG5cbiAgaW1nIHtcbiAgICAmLmZsb2F0LWxlZnQsXG4gICAgJi5mbG9hdC1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmLmZsb2F0LWxlZnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAjeyRnbG9iYWwtbWFyZ2luICogMS41fTtcbiAgICB9XG5cbiAgICAmLmZsb2F0LXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAjeyRnbG9iYWwtbWFyZ2luICogMS41fTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6ICN7JGdsb2JhbC1tYXJnaW4gKiAxLjV9O1xuICAgIH1cblxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgIG1hcmdpbi10b3A6ICN7JGdsb2JhbC1tYXJnaW4gKiAxLjV9O1xuICAgIH1cbiAgfVxufVxuXG4vL2ZvbnQtc2l6ZXMgaGVscGVyIGNsYXNzZXNcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG4ubWVkaXVtIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG59XG5cbi5sYXJnZSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xufVxuXG5cbi8vZm9udC13ZWlnaHQgaGVscGVyIGNsYXNzZXNcbi5zZW1pYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDtcbn1cblxuLmJvbGQge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbn1cblxuLml0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiIsIi8qIFlBUExcbm5hbWU6IEJ1dHRvblxucGFydGlhbDogc2ctYnV0dG9uXG5zZWxlY3RvcjogLmJ1dHRvblxuKi9cblxuLyogWUFQTFxubmFtZTogQnV0dG9uIEhvbGxvd1xubm90ZXM6IFRoaXMgaGFzIGEgd2hpdGUgYm9yZGVyIGFuZCB0ZXh0IHNvIHNob3VsZCBiZSB1c2VkIG9uIGEgY29sb3IgYmFja2dyb3VuZFxucGFydGlhbDogc2ctYnV0dG9uLWhvbGxvd1xuc2VsZWN0b3I6IC5idXR0b24uYnV0dG9uLS1ob2xsb3dcbiovXG5cbi8qIFlBUExcbm5hbWU6IEJ1dHRvbiBIb2xsb3cgTGlnaHQgQnJvd25cbnBhcnRpYWw6IHNnLWJ1dHRvbi1ob2xsb3ctLWxpZ2h0LWJyb3duXG5zZWxlY3RvcjogLmJ1dHRvbi5idXR0b24tLWhvbGxvdy0tbGlnaHQtYnJvd25cbiovXG5cbi8qIFlBUExcbm5hbWU6IEJ1dHRvbiBIb2xsb3cgQmx1ZVxucGFydGlhbDogc2ctYnV0dG9uLWhvbGxvdy0tYmx1ZVxuc2VsZWN0b3I6IC5idXR0b24uYnV0dG9uLS1ob2xsb3ctLWJsdWUud2hpdGVcbiovXG5cbi8qIFlBUExcbm5hbWU6IEJ1dHRvbiBNaWNyb3NpdGVcbnBhcnRpYWw6IHNnLWJ1dHRvbi1taWNyb3NpdGVcbnNlbGVjdG9yOiAuYnV0dG9uLmJ1dHRvbi0tbWljcm9zaXRlXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBCdXR0b24gUm91bmRlZFxucGFydGlhbDogc2ctYnV0dG9uLXJvdW5kZWRcbnNlbGVjdG9yOiAuYnV0dG9uLmJ1dHRvbi0tcm91bmRlZFxuKi9cblxuLyogWUFQTFxubmFtZTogQnV0dG9uIEljb25cbnBhcnRpYWw6IHNnLWJ1dHRvbi1pY29uXG5zZWxlY3RvcjogLmJ1dHRvbi5idXR0b24tLWljb25cbiovXG5cbi5idXR0b24ge1xuICBib3JkZXI6IDJweCBzb2xpZCAkbWVkaXVtLWJsdWU7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gIHBhZGRpbmc6IDFlbSAxLjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQsIGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAuNzVlbTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRtZWRpdW0tYmx1ZTtcbiAgICBjb2xvcjogJG1lZGl1bS1ibHVlO1xuICB9XG5cbiAgJi5idXR0b24tLWhvbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICB9XG4gIH1cblxuICAmLmJ1dHRvbi0taG9sbG93LS1saWdodC1icm93biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtYnJvd24tYm9yZGVyO1xuICAgIGNvbG9yOiAkbGlnaHQtYnJvd24tdGV4dDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJyb3duO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLmJ1dHRvbi0taG9sbG93LS1ibHVlIHtcbiAgICBib3JkZXItY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICBjb2xvcjogJG1lZGl1bS1ibHVlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWJsdWU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYuYnV0dG9uLS1pY29uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICBwYWRkaW5nOiAuNzVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuXG4gICAgLmljb24ge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYnV0dG9uLS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAyN3B4O1xuICB9XG5cbiAgJi5idXR0b24tLW1pY3Jvc2l0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBjb2xvcjogJG1lZGl1bS1ibHVlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWJsdWU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYuYnV0dG9uLS1uby1tYXJnaW4ge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uYnV0dG9uX19jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbiIsIi5vcmFuZ2Uge1xuICBjb2xvcjogJG9yYW5nZTtcbn1cblxuLmdyYXkge1xuICBjb2xvcjogJGNhcHRpb24tZ3JheTtcbn1cblxuLm1lZGl1bS1icm93biB7XG4gIGNvbG9yOiAkbWVkaXVtLWJyb3duO1xufVxuXG4ucmVkIHtcbiAgY29sb3I6ICRyZWQ7XG59XG4iLCJcbi5pY29uLS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAwJzsgfSAvKiAn7qCAJyAqL1xuLmljb24tLXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAxJzsgfSAvKiAn7qCBJyAqL1xuLmljb24tLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9IC8qICfuoIInICovXG4uaWNvbi0tcGx1czpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAzJzsgfSAvKiAn7qCDJyAqL1xuLmljb24tLXRoOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDQnOyB9IC8qICfuoIQnICovXG4uaWNvbi0tdHdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA1JzsgfSAvKiAn7qCFJyAqL1xuLmljb24tLWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA2JzsgfSAvKiAn7qCGJyAqL1xuLmljb24tLXlvdXR1YmUtcGxheTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA3JzsgfSAvKiAn7qCHJyAqL1xuLmljb24tLWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDgnOyB9IC8qICfuoIgnICovXG4uaWNvbi0tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDknOyB9IC8qICfuoIknICovXG4uaWNvbi0tdGltZXM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYSc7IH0gLyogJ+6giicgKi9cbi5pY29uLS1hcHB0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGInOyB9IC8qICfuoIsnICovXG4uaWNvbi0tYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYyc7IH0gLyogJ+6gjCcgKi9cbi5pY29uLS1pbnN0YWdyYW0tMTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBkJzsgfSAvKiAn7qCNJyAqL1xuLmljb24tLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGUnOyB9IC8qICfuoI4nICovXG4uaWNvbi0tbWFrZS1hbi1hcHB0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGYnOyB9IC8qICfuoI8nICovXG4uaWNvbi0tbmV3czpiZWZvcmUgeyBjb250ZW50OiAnXFxlODEwJzsgfSAvKiAn7qCQJyAqL1xuLmljb24tLXBoeXNpY2lhbjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODExJzsgfSAvKiAn7qCRJyAqL1xuLmljb24tLWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTInOyB9IC8qICfuoJInICovXG4uaWNvbi0tcGxheTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODEzJzsgfSAvKiAn7qCTJyAqL1xuLmljb24tLXZpZXctYWxsLWV2ZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTQnOyB9IC8qICfuoJQnICovXG4uaWNvbi0tY2hldnJvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODE1JzsgfSAvKiAn7qCVJyAqL1xuLmljb24tLWZpbmQtYS1kb2M6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxNic7IH0gLyogJ+6glicgKi9cbi5pY29uLS1wYXRpZW50LXN0b3J5OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTcnOyB9IC8qICfuoJcnICovXG4uaWNvbi0tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTgnOyB9IC8qICfuoJgnICovXG4uaWNvbi0tZW52ZWxvcGUtbzpiZWZvcmUgeyBjb250ZW50OiAnXFxlODE5JzsgfSAvKiAn7qCZJyAqL1xuLmljb24tLXRyZWF0bWVudDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODFhJzsgfSAvKiAn7qCaJyAqL1xuLmljb24tLW1haWw6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxYic7IH0gLyogJ+6gmycgKi9cbi5pY29uLS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxYyc7IH0gLyogJ+6gnCcgKi9cbi5pY29uLS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiAnXFxlODFkJzsgfSAvKiAn7qCdJyAqL1xuLmljb24tLXJlc2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MWUnOyB9IC8qICfuoJ4nICovXG4uaWNvbi0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODFmJzsgfSAvKiAn7qCfJyAqL1xuLmljb24tLWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogJ1xcZTgyMCc7IH0gLyogJ+6goCcgKi9cbi5pY29uLS1wcmludDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODIxJzsgfSAvKiAn7qChJyAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdsaWZlYnJpZGdlJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD8zNjkyNDk2NicpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGVsbG8uZW90PzM2OTI0OTY2I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvZm9udGVsbG8ud29mZjI/MzY5MjQ5NjYnKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby53b2ZmPzM2OTI0OTY2JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby50dGY/MzY5MjQ5NjYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby5zdmc/MzY5MjQ5NjYjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBtaXhpbiBpY29uLWNoYXJhY3RlciB7XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5vLWltcG9ydGFudCBuby12ZW5kb3ItcHJlZml4ZXNcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiAnbGlmZWJyaWRnZScgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHNwZWFrOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gaWNvbigkbmFtZTogbnVsbCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IC4zZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBpY29uLWNoYXJhY3RlcjtcbiAgfVxufVxuXG4laWNvbixcbi5pY29uIHtcbiAgQGluY2x1ZGUgaWNvbjtcblxuICAuY3RhICYsXG4gIC5ydGYgJixcbiAgcCAmIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLmljb24tLXNtYWxsIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG59XG5cbi5pY29uLS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xufVxuXG4uaWNvbi0tdmVyeS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xufVxuXG4uaWNvbi0tY2VudGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uaWNvbi0tY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICB3aWR0aDogNTZweDtcbn1cblxuLmljb24tLW1hcmdpbi1yaWdodC1oYWxmIHtcbiAgbWFyZ2luLXJpZ2h0OiAjeyRnbG9iYWwtbWFyZ2luIC8gMn0gIWltcG9ydGFudDtcbn1cblxuLmljb24tLXJldmVyc2Uge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uaWNvbl9fYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3M7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cblxuLmljb25fX2JhY2tncm91bmQtLWxhcmdlIHtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogNTBweDtcblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgfVxufVxuXG4uaWNvbl9fYmFja2dyb3VuZC0tbWVkaXVtIHtcbiAgYm9yZGVyLXJhZGl1czogMjFweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICB3aWR0aDogNDJweDtcblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTRweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSAxNHB4KTtcbiAgfVxufVxuXG4uaWNvbl9fYmFja2dyb3VuZC0tc21hbGwge1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHdpZHRoOiAzNnB4O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA3cHgpO1xuICAgIHRvcDogY2FsYyg1MCUgLSA3cHgpO1xuICB9XG59XG5cbi5pY29uX19iYWNrZ3JvdW5kLS12ZXJ5LXNtYWxsIHtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcblxuICAmOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNHB4KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgfVxufVxuXG4uaWNvbi0tcG9zaXRpb24tY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICYuaWNvbi0tcGxheSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZy10b3A6IDRweDtcbiAgfVxufVxuIiwiLnUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnUtYmxvY2stLXNtYWxsIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnUtY2xlYXJmaXgge1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxufVxuXG4udS11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi51LW5vLW1hcmdpbiB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50XG59XG5cbi51LWZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnUtZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi51LWZsb2F0LXJpZ2h0LS1tZWRpdW0ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdmVydGljYWwtcmh5dGhtXG4vLy8vXG5cbi8vLyBPdXRwdXRzIGEgYG1hcmdpbi10b3BgIG9yIGBwYWRkaW5nLXRvcGAgQ1NTIHByb3BlcnR5IGZvciB2ZXJ0aWNhbCBzcGFjaW5nXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG11bHRpcGxpZXIgWzFyZW1dIC0gVGhlIG51bWJlciBvZiB0aW1lcyB0byBtdWx0aXBseSB0aGUgYmFzZSBpbmNyZW1lbnRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IFsnbWFyZ2luJ10gLSBEZXNpZ25hdGVzIHRoZSBDU1MgcHJvcGVydHkgdG8gdXNlIGZvciBzcGFjaW5nOiBlaXRoZXIgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRpbmNyZW1lbnQgWzFyZW1dIC0gVGhlIGJhc2UgaW5jcmVtZW50IHRvIGJlIG11bHRpcGxpZWRcbkBtaXhpbiB2ZXJ0aWNhbC1yaHl0aG0oXG4gICRtdWx0aXBsaWVyLFxuICAkcHJvcGVydHk6ICdtYXJnaW4nLFxuICAkaW5jcmVtZW50OiAxcmVtLFxuICAkaW1wb3J0YW50OiBmYWxzZVxuKSB7XG4gIEBpZiAoJHByb3BlcnR5ID09ICdtYXJnaW4nKSB7XG4gICAgQGlmICgkaW1wb3J0YW50KSB7XG4gICAgICBtYXJnaW4tdG9wOiAjeyRtdWx0aXBsaWVyICogJGluY3JlbWVudH0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLXRvcDogI3skbXVsdGlwbGllciAqICRpbmNyZW1lbnR9O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJHByb3BlcnR5ID09ICdwYWRkaW5nJykge1xuICAgIEBpZiAoJGltcG9ydGFudCkge1xuICAgICAgcGFkZGluZy10b3A6ICN7JG11bHRpcGxpZXIgKiAkaW5jcmVtZW50fSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBwYWRkaW5nLXRvcDogI3skbXVsdGlwbGllciAqICRpbmNyZW1lbnR9O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGVzIHZlcnRpY2FsIHNwYWNpbmcgaGVscGVyIGNsYXNzZXMgKGFuZCBleHRlbmRzKSBpbiBpbmNyZW1lbnRzIGEgZ2l2ZW4gbnVtYmVyIG9mIHRpbWVzXG4vLy8gQ2xhc3NlcyBoYXZlICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNsYXNzIFsndmVydGljYWwtJ10gLSBUaGUgYmFzZSBvZiB0aGUgY2xhc3MgbmFtZSBmb3IgZWFjaCBpbmNyZW1lbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvdW50IFsxMl0gLSBUaGUgdG90YWwgbnVtYmVyIG9mIGNsYXNzZXMgKGluY3JlbWVudHMpIHRvIGdlbmVyYXRlXG5AbWl4aW4gdmVydGljYWwtcmh5dGhtLWNsYXNzZXMoXG4gICRjbGFzczogJ3ZlcnRpY2FsLScsXG4gICRjb3VudDogMTJcbikge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb3VudCB7XG4gICAgQGlmICgkaSA9PSAxKSB7XG4gICAgICAlI3skY2xhc3MgKyAnbWFyZ2luLWhhbGYnfSB7XG4gICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXJoeXRobSgwLjUpO1xuICAgICAgfVxuXG4gICAgICAuI3skY2xhc3MgKyAnbWFyZ2luLWhhbGYnfSB7XG4gICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXJoeXRobSgwLjUsICRpbXBvcnRhbnQ6IHRydWUpO1xuICAgICAgfVxuXG4gICAgICAlI3skY2xhc3MgKyAncGFkZGluZy1oYWxmJ30ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oMC41LCAncGFkZGluZycpO1xuICAgICAgfVxuXG4gICAgICAuI3skY2xhc3MgKyAncGFkZGluZy1oYWxmJ30ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oMC41LCAncGFkZGluZycsICRpbXBvcnRhbnQ6IHRydWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUjeyRjbGFzcyArICdtYXJnaW4tJyArICRpfSB7XG4gICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oJGkpO1xuICAgIH1cblxuICAgIC4jeyRjbGFzcyArICdtYXJnaW4tJyArICRpfSB7XG4gICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oJGksICRpbXBvcnRhbnQ6IHRydWUpO1xuICAgIH1cblxuICAgICUjeyRjbGFzcyArICdwYWRkaW5nLScgKyAkaX0ge1xuICAgICAgQGluY2x1ZGUgdmVydGljYWwtcmh5dGhtKCRpLCAncGFkZGluZycpO1xuICAgIH1cblxuICAgIC4jeyRjbGFzcyArICdwYWRkaW5nLScgKyAkaX0ge1xuICAgICAgQGluY2x1ZGUgdmVydGljYWwtcmh5dGhtKCRpLCAncGFkZGluZycsICRpbXBvcnRhbnQ6IHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQodHJ1ZSkge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvdW50IHtcbiAgICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICAgLiN7JGNsYXNzICsgJ21hcmdpbi1oYWxmLScgKyAkaSArICctJyArICQtemYtc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXJoeXRobSgwLjUsICRpbXBvcnRhbnQ6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JGNsYXNzICsgJ3BhZGRpbmctaGFsZi0nICsgJGkgKyAnLScgKyAkLXpmLXNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oMC41LCAncGFkZGluZycsICRpbXBvcnRhbnQ6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC4jeyRjbGFzcyArICdtYXJnaW4tJyArICRpICsgJy0nICsgJC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXJoeXRobSgkaSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIC4jeyRjbGFzcyArICdwYWRkaW5nLScgKyAkaSArICctJyArICQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1yaHl0aG0oJGksICdwYWRkaW5nJywgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZlcnRpY2FsLXJoeXRobSB7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLXJoeXRobS1jbGFzc2VzKCk7XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBCcmVhZGNydW1iIE5hdmlnYXRpb25cbnBhcnRpYWw6IGJyZWFkY3J1bWJzXG5jb250ZXh0OiBicmVhZGNydW1icy5tYXN0ZXJzdWJcbnNlbGVjdG9yOiAuYnJlYWRjcnVtYnNcbiovXG5cbi5icmVhZGNydW1icyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBoZWlnaHQ6IDU2cHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJyAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgIHRyYW5zaXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mb290ZXItbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJsdWU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIG1pbi1oZWlnaHQ6IDE4NHB4O1xuICBwYWRkaW5nOiAwIDAgNzNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHBoYWJsZXQgZG93bikge1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmc7XG4gIH1cbn1cblxuLmZvb3Rlci1tYWluX19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAocGhhYmxldCBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmZvb3Rlci1tYWluX19sb2dvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvbG9nby1yZXZlcnNlZC5zdmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIG1pbi13aWR0aDogNDQwcHg7XG4gIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtcGFkZGluZztcblxuICBAaW5jbHVkZSBicmVha3BvaW50IChwaGFibGV0IGRvd24pIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAjeyRnbG9iYWwtcGFkZGluZyAqIDJ9O1xuICAgIHBhZGRpbmctdG9wOiAjeyRnbG9iYWwtcGFkZGluZyAqIDJ9O1xuICAgIHdpZHRoOiAzMzBweDtcbiAgfVxuXG4gIC5zdWJsb2NhdGlvbiAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9sb2dvLXNpbmFpLXdoaXRlLnN2ZycpO1xuICAgIG1pbi13aWR0aDogMzM2cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChwaGFibGV0IGRvd24pIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5mb290ZXJfX3V0aWxpdHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmVyeS1kYXJrLWJsdWU7XG59XG5cbi5mb290ZXJfX3V0aWxpdHktbmF2IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgbWluLWhlaWdodDogODVweDtcblxuICBkaXYge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2Y0ODE0MjtcbiAgICB9XG4gIH1cblxuICAuaWNvbiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nICogMn0gMDtcblxuICAgIGRpdiB7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAjeyRnbG9iYWwtcGFkZGluZyAqIDEuNX07XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1tYWluX19pbmZvIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDU4cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAocGhhYmxldCBkb3duKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLXRvcDogNzhweDtcbiAgfVxufVxuXG4uZm9vdGVyLW1haW5fX2FkZHJlc3Mge1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRkaXZpZGVyLWdyYXk7XG4gIHBhZGRpbmctbGVmdDogJGdsb2JhbC1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaDUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAocGhhYmxldCBkb3duKSB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRkaXZpZGVyLWZvb3RlcjtcbiAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctdG9wOiAjeyRnbG9iYWwtcGFkZGluZyAqIDEuNX07XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi5ncmlkLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1mdWxsLXNtYWxsIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi13aWRlIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5jZWxsIHtcbiAgICAgICYubWVkaXVtLTYge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmhlYWRlci1tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiAuMjVzIGhlaWdodCBsaW5lYXI7XG4gIHotaW5kZXg6IDEwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgJGRhcmstYmx1ZTtcblxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWltcG9ydGFudFxuICAgIC5pcy1uYXYtb3BlbiAmIHtcbiAgICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcblxuICAgICAgLmhlYWRlci1tYWluX19zdGlja3kge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5oZWFkZXItbWFpbl9fdGl0bGUtYmFyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oZWFkZXItLWNhcmVlcnMsXG4gICAgJi5oZWFkZXItLW1pY3Jvc2l0ZSxcbiAgICAmLmhlYWRlci0tY2FtcGFpZ24ge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlci1tYWluX19zdGlja3kge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYygyNSkgcmdiYSgkYmxhY2ssIC4yNSk7XG4gIGhlaWdodDogMTQ2cHg7XG4gIHRyYW5zaXRpb246IGhlaWdodCAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gIHotaW5kZXg6IDU7XG5cbiAgJi5pcy1zdHVjayB7XG4gICAgaGVpZ2h0OiA4NXB4O1xuXG4gICAgLmlzLWV4cGFuZGVkICYge1xuICAgICAgaGVpZ2h0OiAxNDZweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgaGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1waGFibGV0O1xuXG4gICAgJi5pcy1zdHVjayB7XG4gICAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LXBoYWJsZXQ7XG4gICAgfVxuXG4gICAgLnN1YmxvY2F0aW9uICYge1xuICAgICAgLmlzLW5hdi1vcGVuICYge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLS1jYXJlZXJzICYge1xuICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgJGRhcmstYmx1ZTtcbiAgICBoZWlnaHQ6IDExOHB4O1xuXG4gICAgJi5pcy1zdHVjayB7XG4gICAgICBoZWlnaHQ6IDg1cHg7XG5cbiAgICAgIC5pcy1leHBhbmRlZCAmIHtcbiAgICAgICAgaGVpZ2h0OiAxMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgaGVpZ2h0OiA4MnB4O1xuXG4gICAgICAuaXMtc3R1Y2sgJiB7XG4gICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgJGRhcmstYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLS1jYW1wYWlnbiAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICRkYXJrLWJsdWU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgICBoZWlnaHQ6IDEyM3B4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICAgJi5pcy1zdHVjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xuXG4gICAgICAuaXMtZXhwYW5kZWQgJiB7XG4gICAgICAgIGhlaWdodDogMTE4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgaGVpZ2h0OiA4MnB4O1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItLW1pY3Jvc2l0ZSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICRvcmFuZ2U7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgICBoZWlnaHQ6IDE1N3B4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICAgJi5pcy1zdHVjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMjUpIHJnYmEoJGJsYWNrLCAuMjUpO1xuICAgICAgaGVpZ2h0OiAxMzdweDtcblxuICAgICAgLmlzLWV4cGFuZGVkICYge1xuICAgICAgICBoZWlnaHQ6IDEzN3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItbWljcm9zaXRlLS1zdWIgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYygyNSkgcmdiYSgkYmxhY2ssIC4yNSk7XG4gICAgaGVpZ2h0OiAxMzdweDtcbiAgfVxufVxuXG4uaGVhZGVyLW1haW5fX2NvbnRhaW5lciB7XG4gIGhlaWdodDogMTA4cHg7XG4gIHRyYW5zaXRpb246IGhlaWdodCAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gIHdpbGwtY2hhbmdlOiBoZWlnaHQ7XG5cbiAgLmlzLXN0dWNrICYge1xuICAgIGhlaWdodDogODJweDtcblxuICAgIC5pcy1leHBhbmRlZCAmIHtcbiAgICAgIGhlaWdodDogMTA4cHg7XG4gICAgfVxuXG4gICAgLmhlYWRlci0tbWljcm9zaXRlICYge1xuICAgICAgaGVpZ2h0OiAxMDhweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLS1jYW1wYWlnbiAmIHtcbiAgICAgIGhlaWdodDogNTJweDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLS1jYW1wYWlnbiAmIHtcblxuICAgIC5pcy1uYXYtb3BlbiAmIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQtcGhhYmxldDtcblxuICAgIC5pcy1zdHVjayAmIHtcbiAgICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQtcGhhYmxldDtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlci1tYWluX190aXRsZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xvZ28uc3ZnJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgaGVpZ2h0OiA1M3B4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtaW4td2lkdGg6IDM4MXB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkLCBoZWlnaHQgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICB3aWxsLWNoYW5nZTogaGVpZ2h0LCBtYXJnaW47XG5cbiAgLmlzLXN0dWNrICYge1xuICAgIGhlaWdodDogNDBweDtcblxuICAgIC5zdWJsb2NhdGlvbiAmIHtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTJweCAxOHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjIwcHggYXV0bztcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIHdpZHRoOiAyNDBweDtcblxuICAgIC5pcy1zdHVjayAmIHtcbiAgICAgIGhlaWdodDogNTNweDtcblxuICAgICAgLnN1YmxvY2F0aW9uICYge1xuICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN1YmxvY2F0aW9uICYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xvZ28tc2luYWkuc3ZnJyk7XG4gICAgaGVpZ2h0OiA0M3B4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItbWFpbl9fdGl0bGUtLW90aGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcblxuICA+IGltZyB7XG4gICAgbWF4LWhlaWdodDogNTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBtYXJnaW4tbGVmdDogJGdsb2JhbC1tYXJnaW47XG4gICAgbWF4LWhlaWdodDogNTBweDtcbiAgfVxufVxuXG4uaGVhZGVyX19sb2dvLS1taWNyb3NpdGUge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIC5pcy1zdHVjayAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBtYXJnaW4tdG9wOiAjeyRnbG9iYWwtbWFyZ2luICogM307XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQsIG1hcmdpbi10b3AgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtbWFyZ2luO1xuICAgICAgbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbiAgICAgIC5pcy1zdHVjayAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtc3R1Y2sgJiB7XG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6ICN7JGdsb2JhbC1tYXJnaW4gKiAyfTtcbiAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1taWNyb3NpdGUtLXN1YiAmIHtcblxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgbWF4LWhlaWdodDogOTBweDtcbiAgICB9XG5cbiAgICAuaXMtc3R1Y2sgJiB7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogNzBweDtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlcl9fbG9nby0tY2FyZWVycyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgLmlzLXN0dWNrICYge1xuICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyX19iYWNrLWxpbmsge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWxlZnQ6ICN7JGdsb2JhbC1tYXJnaW4gKiAyfTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIC5mb290ZXItbWFpbiAmIHtcbiAgICB0b3A6IDhweDtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICM0MWI1ZmY7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6ICM0MWI1ZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmljb24ge1xuICAgIGNvbG9yOiAkbWVkaXVtLWJsdWU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTRweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLmlzLW5hdi1vcGVuICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgIH1cblxuICAgIC5mb290ZXItbWFpbiAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB0b3A6IDYwcHg7XG4gICAgfVxuICB9XG59XG4iLCIubWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwdXJlLXdoaXRlO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cbiIsIi5uYXYtbWFpbiB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJGJvcmRlci1ncmF5O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5uYXYtLWNhbXBhaWduIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG1lZGl1bS1ibHVlLCAuOCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDQxcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuaXMtbmF2LW9wZW4gJiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdi0tY2FtcGFpZ24td3JhcCB7XG4gIGhlaWdodDogNDFweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmlzLXN0dWNrICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5uYXYtbWFpbl9fbGlua3Mge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIC5uYXYtLWNhbXBhaWduICYge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubmF2LS1taWNyb3NpdGUgJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtLWNhcmVlcnMgJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG59XG5cbi5uYXYtbWFpbl9fbGluayB7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ncmF5O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgcGFkZGluZy10b3A6IDZweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICB9XG5cbiAgPiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5pY29uIHtcbiAgICBmb250LXNpemU6IC44ZW07XG4gIH1cblxuICAubmF2LS1jYW1wYWlnbiAmIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtLW1pY3Jvc2l0ZSAmIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgICAuaXMtc3R1Y2sgJixcbiAgICAuaGVhZGVyLW1pY3Jvc2l0ZS0tc3ViICYge1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgY29sb3I6ICRkYXJrLWJsdWU7XG4gICAgfVxuXG4gIH1cblxuICAubmF2LS1jYXJlZXJzICYge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gIC5uYXYtbWFpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstYmx1ZTtcblxuICAgIC5pcy1uYXYtb3BlbiAmIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JGhlYWRlci1oZWlnaHQtcGhhYmxldH0pO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1tYWluX19tZW51IHtcbiAgICA+IC5uYXYtbWFpbl9fdXRpbGl0eSB7IC8vc2VsZWN0IHRoZSBmaXJzdFxuICAgICAgbWFyZ2luLXRvcDogMzRweDtcbiAgICB9XG5cbiAgICA+IC5uYXYtbWFpbl9fdXRpbGl0eSB+IC5uYXYtbWFpbl9fdXRpbGl0eSB7IC8vc2VsZWN0IGFsbCBidXQgdGhlIGZpcnN0XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAubmF2LW1haW5fX2xpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5uYXYtbWFpbl9fdXRpbGl0eSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgcGFkZGluZy10b3A6IDFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWRhcmstYmx1ZTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG4gIH1cblxuXG4gIC5uYXYtbWFpbl9fbWVudS1pdGVtIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMzRweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5uYXYtbW9iaWxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMnB4O1xuICB0b3A6IDIwcHg7XG5cbiAgJi5pcy1tZW51LW9wZW4ge1xuICAgIC5zZWFyY2hfX3RvZ2dsZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICB0b3A6IDE2cHg7XG5cbiAgICAuaGVhZGVyLS1jYW1wYWlnbiAmIHtcbiAgICAgIHRvcDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdi1tb2JpbGVfX2J1dHRvbiB7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1sZWZ0OiAkZ2xvYmFsLW1hcmdpbjtcbiAgcGFkZGluZzogMCAuMjVyZW07XG5cbiAgLmljb24ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgLm5hdi1tb2JpbGVfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgbWFyZ2luLWxlZnQ6ICN7JGdsb2JhbC1tYXJnaW4gLyAyfTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIubmF2X19zZWNvbmRhcnkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0MHB4O1xuICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMjApIHJnYmEoJGJsYWNrLCAuMik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIG1heC13aWR0aDogMzQ2cHg7XG4gIH1cbn1cblxuLm5hdi1zZWNvbmRhcnlfX3RvZ2dsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAuaXMtZXhwYW5kZWQgJiB7XG4gICAgLmljb24ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ2QnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5uYXZfX3NlY29uZGFyeS1sZXZlbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8vdHJhbnNpdGlvbjogaGVpZ2h0ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCwgb3BhY2l0eSAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXG4gICAgJi5uYXZfX3NlY29uZGFyeV9fbGV2ZWwxIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwYWRkaW5nOiA4cHggMjBweDtcblxuICAgICAgbGkge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYubmF2X19zZWNvbmRhcnlfX2xldmVsMixcbiAgICAmLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDMsXG4gICAgJi5uYXZfX3NlY29uZGFyeV9fbGV2ZWw0LFxuICAgICYubmF2X19zZWNvbmRhcnlfX2xldmVsNSxcbiAgICAmLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDYge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgLmV4cGFuZGVkICYge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCwgb3BhY2l0eSAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgICB9XG5cbiAgICAgICYubmF2X19zZWNvbmRhcnlfX2xldmVsMiB7XG4gICAgICAgIC5leHBhbmRlZCAmIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5hdl9fc2Vjb25kYXJ5LXBhcmVudCAmIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxpIHtcblxuICAgIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ge1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXZfX3NlY29uZGFyeV9fbGV2ZWwxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWJsdWU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gIHBhZGRpbmc6IDE0cHggMjBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZzogOHB4IDIwcHg7XG4gIH1cbn1cblxuLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmOGY3O1xuICBjb2xvcjogIzRhYjZhZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMTRweCAyMHB4O1xufVxuXG4ubmF2X19zZWNvbmRhcnlfX2xldmVsMyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBjb2xvcjogJGNhcHRpb24tZ3JheTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMCAyMHB4IDIwcHg7XG5cbiAgbGkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgIHBhZGRpbmc6IDEzcHggMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNlMzYwMTg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZfX3NlY29uZGFyeV9fbGV2ZWw0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIGNvbG9yOiAjNTA1MDUwO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICBtYXJnaW4tdG9wOiAxNHB4O1xuICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuXG4gIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgICBwYWRkaW5nOiAxM3B4IDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgY29sb3I6ICMyNDI0MjQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICBtYXJnaW4tdG9wOiAxNHB4O1xuICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuXG4gIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nOiAxM3B4IDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdl9fc2Vjb25kYXJ5X19sZXZlbDYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgY29sb3I6ICMyNDI0MjQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICBtYXJnaW4tdG9wOiAxNHB4O1xuICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuXG4gIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nOiAxM3B4IDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdl9fc2Vjb25kYXJ5LXBhcmVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIubmF2LXV0aWxpdHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gIGhlaWdodDogMzhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gIC5pcy1zdHVjayAmIHtcbiAgICBoZWlnaHQ6IDEycHg7XG5cbiAgICAuaXMtZXhwYW5kZWQgJiB7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtdXRpbGl0eV9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uYXYtdXRpbGl0eV9fbGlua3Mge1xuICBjb2xvcjogJHB1cmUtd2hpdGU7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBwYWRkaW5nLXJpZ2h0OiAyNjdweDtcblxuICAubmF2LXV0aWxpdHlfX2xpbmsge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcbiAgICAgIGhlaWdodDogMzhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgcGFkZGluZzogMCAuNzVyZW07XG5cbiAgICAgIC5pcy1zdHVjayAmIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXYtdXRpbGl0eV9fZXhwYW5kLXRhYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJsdWU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDdweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDdweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHRyYW5zaXRpb246IGhlaWdodCAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gIHdpZHRoOiA2MHB4O1xuXG4gIC5pcy1zdHVjayAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDE4cHg7XG5cbiAgICAuaXMtZXhwYW5kZWQgJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5pY29uIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBBY2NvcmRpb25cbnBhcnRpYWw6IGFjY29yZGlvblxuY29udGV4dDogYWNjb3JkaW9uLmFydGljbGVcbnNlbGVjdG9yOiAuYWNjb3JkaW9uXG4qL1xuXG5cbi5hY2NvcmRpb24ge1xuICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuXG4gICYuYWNjb3JkaW9uLS1taWNyb3NpdGUge1xuICAgIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYygxMCkgcmdiYSgkYmxhY2ssIC4yNSk7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDEwKSBzb2xpZCAkbWVkaXVtLWJsdWU7XG4gIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYygxMCkgcmdiYSgkYmxhY2ssIC4yNSk7XG4gIG1hcmdpbi10b3A6IC41cmVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXItbGVmdC1jb2xvciAuMjVzO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvciwgMjUlKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkZGFyay1ibHVlO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb24tLW1pY3Jvc2l0ZSAmIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkb3JhbmdlO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2VjZWNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGRhcmstYmx1ZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tLW1pY3Jvc2l0ZSAmIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NlY2VjZTtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICRvcmFuZ2U7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBwYWRkaW5nOiAxLjc1cmVtICRnbG9iYWwtcGFkZGluZztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCwgY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgLmFjY29yZGlvbi10aXRsZV9fbGluayB7XG4gICAgICBjb2xvcjogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IsIDI1JSk7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi0tbWljcm9zaXRlICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgcmlnaHQ6IDI0cHg7XG4gICAgdG9wOiAzNyU7XG5cbiAgICAuYWNjb3JkaW9uLS1taWNyb3NpdGUgJiB7XG4gICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICB9XG4gIH1cblxuICAuaXMtYWN0aXZlICYge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIHRvcDogMzQlO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb24tLW1pY3Jvc2l0ZSAmIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb24tLW1pY3Jvc2l0ZSAmIHtcbiAgICBjb2xvcjogJGNhcHRpb24tZ3JheTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLXRpdGxlX190ZXh0IHtcbiAgZmxleDogMSAxIDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAzOHB4O1xufVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIHBhZGRpbmctYm90dG9tOiAjeyRnbG9iYWwtcGFkZGluZyAqIDJ9O1xuICBwYWRkaW5nLXRvcDogI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcblxuICAuYWNjb3JkaW9uLS1taWNyb3NpdGUgJiB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAuYWNjb3JkaW9uLXRpdGxlLFxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nIC8gMn07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gICAgcGFkZGluZy1ib3R0b206ICN7JGdsb2JhbC1wYWRkaW5nICogMS41fTtcbiAgICBwYWRkaW5nLXRvcDogI3skZ2xvYmFsLXBhZGRpbmcgKiAxLjV9O1xuICB9XG59XG4iLCIuYWxpZ24tdmVydGljYWwge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuIiwiLyogWUFQTFxubmFtZTogQWxwaGFiZXQgTGlzdFxucGFydGlhbDogYWxwaGFiZXQtbGlzdFxuc2VsZWN0b3I6IC5hbHBoYWJldC1saXN0XG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBBbHBoYWJldCBMaXN0IFdpZGVcbnBhcnRpYWw6IGFscGhhYmV0LWxpc3RcbmNvbnRleHQ6IGFscGhhYmV0TGlzdC53aWRlXG5zZWxlY3RvcjogYWxwaGFiZXQtbGlzdC5hbHBoYWJldC1saXN0LS13aWRlXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBBbHBoYWJldCBMaXN0IE1pZFxucGFydGlhbDogYWxwaGFiZXQtbGlzdFxuY29udGV4dDogYWxwaGFiZXRMaXN0Lm1pZFxuc2VsZWN0b3I6IGFscGhhYmV0LWxpc3QuYWxwaGFiZXQtbGlzdC0tbWlkXG4qL1xuXG4uYWxwaGFiZXQtbGlzdCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogMjBweCAxNHB4IDJweDtcblxuICBsaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ibHVlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRtZWRpdW0tYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMzZweDtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkb3JhbmdlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJG9yYW5nZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgeyAvL2ZvciB4eXpcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gIH1cblxuICAmLmFscGhhYmV0LWxpc3QtLXdpZGUge1xuICAgIGxpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogNDhweDtcblxuICAgICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5hbHBoYWJldC1saXN0LS1taWQge1xuICAgIGxpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICB3aWR0aDogNDRweDtcblxuICAgICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYXJ0aWNsZV9fc3ViaGVhZGVyIHtcbiAgY29sb3I6ICRsaWdodC1icm93bjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xufVxuIiwiLmJhY2tncm91bmQtLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWJsdWU7XG59XG5cbi5iYWNrZ3JvdW5kLS1kYXJrLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xufVxuXG4uYmFja2dyb3VuZC0tb2Zmd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmd2hpdGU7XG59XG5cbi5iYWNrZ3JvdW5kLS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuLmJhY2tncm91bmQtLWxpZ2h0LWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmVyeS1saWdodC1ncmF5O1xufVxuXG4uYmFja2dyb3VuZC0tZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3YXJtLWdyYXk7XG59XG5cbi5iYWNrZ3JvdW5kLS1ncmVlbi1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWJsdWU7XG59XG5cbi5iYWNrZ3JvdW5kLS1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xufVxuXG4uYmFja2dyb3VuZC1wYWRkaW5nIHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICB9XG59XG4iLCIuYmFjay10by10b3Age1xuICBjb2xvcjogJGNhcHRpb24tZ3JheTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLmljb24ge1xuICAgIGNvbG9yOiAkbWVkaXVtLWJsdWU7XG4gIH1cblxuICAmOmhvdmVyIHtcblxuICAgIC5pY29uIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIH1cbiAgfVxufVxuIiwiLmJvcmRlci0tZ3JlZW4ge1xuICBib3JkZXItdG9wOiA4cHggc29saWQgJGdyZWVuLWJsdWU7XG59XG5cbi5ib3JkZXItYnJvd24tYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRsaWdodC1icm93bjtcbiAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcblxuICAmLmJvcmRlci1uby1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYm9yZGVyLWdyZWVuLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAkZ3JlZW4tYmx1ZTtcbiAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcbn1cblxuLmJvcmRlci10b3Age1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbn1cbiIsIi5ib3gge1xuICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMjApIHJnYmEoJGJsYWNrLCAuMik7XG5cbiAgJi5ib3gtLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nICoyfTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgJi5ib3gtLW5vLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgfVxuXG4gICYuYm94LS1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiAzMzZweDtcbiAgfVxuXG4gICYuYm94LS1tYXJnaW4tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtbWFyZ2luO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gICYuYm94LS1wYWRkaW5nLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206ICN7JGdsb2JhbC1wYWRkaW5nICogMn07XG4gIH1cblxuICAmLmJveC0tY2VudGVyLXNtYWxsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgfVxufVxuXG4uYm94LS1zbWFsbC10ZXh0IHtcbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgfVxufVxuXG4uYm94LS1ib3JkZXItdG9wIHtcbiAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRsaWdodC1icm93bjtcbn1cblxuLmJveC0taGlkZGVuLXNtYWxsIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuY2FyZWVycy1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAjeyRnbG9iYWwtcGFkZGluZyAqIDJ9O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuIiwiLmNhcmVlcnMtcmVzdWx0cyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtYnJvd247XG5cbiAgdGFibGUge1xuICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuICAgIG1pbi13aWR0aDogNjAwcHg7XG5cbiAgICB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtYnJvd247XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWJyb3duO1xuICAgICAgY29sb3I6ICRtZWRpdW0tYnJvd247XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgdHIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC45cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogLjlyZW07XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jaGF0IHtcbiAgYm90dG9tOiAyMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAxMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLmRhcmstYmx1ZSB7XG4gIGNvbG9yOiAkZGFyay1ibHVlICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG59XG5cbi5tZWRpdW0tYmx1ZSB7XG4gIGNvbG9yOiAkbWVkaXVtLWJsdWUgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbn1cblxuLmdyZWVuLWJsdWUge1xuICBjb2xvcjogJGdyZWVuLWJsdWUgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbn1cblxuLmxpZ2h0LWJyb3duIHtcbiAgY29sb3I6ICRsaWdodC1icm93biAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxufVxuXG4ubWVkaXVtLWxpZ2h0LWdyYXkge1xuICBjb2xvcjogJG1lZGl1bS1saWdodC1ncmF5ICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG59XG5cbi5kYXJrLWdyYXkge1xuICBjb2xvcjogJGNhcHRpb24tZ3JheSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxufVxuXG4ud2hpdGUge1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG59XG4iLCIuY29udGFjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTZweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDE2cHg7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseS1hbHQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgaGVpZ2h0OiA1MXB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICB3aWR0aDogMjM5cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5mb290ZXItbWFpbiAmIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDEyMHB4KTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1zdHVjayAmIHtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICAuaXMtZXhwYW5kZWQgJiB7XG4gICAgICBoZWlnaHQ6IDUxcHg7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1tYWluICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE2cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE2cHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDUxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDIzOXB4O1xuXG4gICAgLmljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC5zdWJsb2NhdGlvbiAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tYmx1ZTtcbiAgfVxufVxuIiwiLmNzcy1jb2x1bW5zLTIge1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1nYXA6ICN7JGdsb2JhbC1wYWRkaW5nICogMn07XG4gICAgY29sdW1uLXdpZHRoOiA1MCU7XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IENUQSBQcmltYXJ5XG5wYXJ0aWFsOiBzZy1jdGFcbnNlbGVjdG9yOiAuY3RhLmN0YS0tcHJpbWFyeVxuKi9cblxuLyogWUFQTFxubmFtZTogQ1RBIFNlY29uZGFyeVxucGFydGlhbDogc2ctY3RhLXNlY29uZGFyeVxuc2VsZWN0b3I6IC5jdGEuY3RhLS1zZWNvbmRhcnlcbiovXG5cbi8qIFlBUExcbm5hbWU6IENUQSBQcmltYXJ5IE1pY3Jvc2l0ZVxucGFydGlhbDogc2ctY3RhLW1pY3Jvc2l0ZVxuc2VsZWN0b3I6IC5jdGEuY3RhLS1wcmltYXJ5LmN0YS0tbWljcm9zaXRlXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBDVEEgU2Vjb25kYXJ5IE1pY3Jvc2l0ZVxucGFydGlhbDogc2ctY3RhLXNlY29uZGFyeS1taWNyb3NpdGVcbnNlbGVjdG9yOiAuY3RhLmN0YS0tc2Vjb25kYXJ5LmN0YS0tbWljcm9zaXRlXG4qL1xuXG4uY3RhIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMzBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDMwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxLjI1cmVtIHJnYmEoMTAsIDEwLCAxMCwgLjIpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjZweCA0NHB4O1xuXG4gIC5jdGFfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgfVxuICB9XG5cbiAgLmN0YV9fcnRmIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgfVxuXG4gIC5jdGFfX2xpbmsge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgLmljb24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDI0cHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmN0YS0tbWljcm9zaXRlIHtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICB9XG59XG5cbi5jdGEtLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tYmx1ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgLmN0YV9fdGl0bGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuY3RhX19ydGYge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQsIGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcblxuICAgIC5pY29uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWJsdWU7XG4gICAgfVxuICB9XG59XG5cbi5jdGEtLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAuY3RhX190aXRsZSB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gIH1cblxuICAuY3RhX19ydGYge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvclxuICB9XG5cbiAgLmN0YV9fbGluayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG5cbiAgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5jdGFfX2xpbmsge1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgfVxuICB9XG59XG5cbi5jdGEtZ3JpZCB7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KDIsICcuY3RhJyk7XG59XG5cbi5jdGEtZ3JpZCA+IC5jdGEtZ3JpZC1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgbWFyZ2luOiAjeyRnbG9iYWwtbWFyZ2luICogMn0gMCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAjeyRnbG9iYWwtbWFyZ2luIC8gMn07XG4gICAgfVxuICB9XG59XG4iLCIuZGlhZ29uYWxzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZGlhZ29uYWxzLnBuZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxuXG4gICYuZGlhZ29uYWxzLS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXJrLWJsdWUsIC43NSk7XG4gIH1cblxuICAmLmRpYWdvbmFscy0tdHJhbnNwYXJlbnQge1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICAgLmhlcm8gJiB7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmLmlzLWFuaW1hdGluZyAge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmRpYWdvbmFscy0tdmVyeS10cmFuc3BhcmVudCB7XG4gICAgb3BhY2l0eTogLjI7XG4gIH1cblxuICAuaGVybyAmIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuXG4uZGlhZ29uYWxzLS1kYXJrZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogLjM1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgXG4gIC5oZXJvICYge1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG4iLCIuZGl2aWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDFweDtcblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbGVmdDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7XG4gICAgd2lkdGg6IDEwMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgc3BhbiB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IC0yNXB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNXB4KTtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICYuZGl2aWRlci0taG9yaXpvbnRhbCB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAjeyRnbG9iYWwtbWFyZ2luICogM307XG4gICAgbWFyZ2luLXRvcDogI3skZ2xvYmFsLW1hcmdpbiAqIDN9O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICAgICAgbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgJi5kaXZpZGVyLS1zbWFsbC1tYXJnaW4ge1xuICAgIG1hcmdpbi1ib3R0b206ICN7JGdsb2JhbC1tYXJnaW4gKiAxLjV9O1xuICAgIG1hcmdpbi10b3A6ICN7JGdsb2JhbC1tYXJnaW4gKiAxLjV9O1xuICB9XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBEb2MgUHJvZmlsZVxucGFydGlhbDogc2ctZG9jLXByb2ZpbGVcbnNlbGVjdG9yOiAuZG9jLXByb2ZpbGVcbiovXG5cbi8qIFlBUExcbm5hbWU6IERvYyBQcm9maWxlIFJlc3VsdFxucGFydGlhbDogc2ctZG9jLXByb2ZpbGUtcmVzdWx0XG5zZWxlY3RvcjogLmRvYy1wcm9maWxlLmRvYy1wcm9maWxlLXJlc3VsdFxuKi9cblxuLyogWUFQTFxubmFtZTogRG9jIFByb2ZpbGUgU21hbGxcbnBhcnRpYWw6IHNnLWRvYy1wcm9maWxlLXNtYWxsXG5zZWxlY3RvcjogLmRvY19faXRlbVxuKi9cblxuLyogWUFQTFxubmFtZTogRG9jIFByb2ZpbGUgU21hbGwgLSAzIGFjcm9zc1xucGFydGlhbDogc2ctZG9jLXByb2ZpbGUtc21hbGwtM1xuc2VsZWN0b3I6IC5kb2NfX2l0ZW1cbndyYXBwZXI6IC5kb2NfX3Jvdy5kb2NfX3Jvdy0zXG4qL1xuXG4uZG9jLXByb2ZpbGUge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZy1ib3R0b206IC41cmVtICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICAgIHBhZGRpbmctdG9wOiAuNXJlbSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuXG4gICAgJi5iYWNrZ3JvdW5kLS1ncmF5IHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgICB9XG4gIH1cbn1cblxuLmRvYy1wcm9maWxlX19pbWFnZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4uZG9jLXByb2ZpbGVfX2ltYWdlLWxpbmsge1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICB9XG59XG5cbi5kb2MtcHJvZmlsZV9fYm9keSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTc0cHgpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5kb2MtcHJvZmlsZV9fY29sIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMSU7XG4gIHdpZHRoOiA0OSU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYuZG9jLXByb2ZpbGVfX2NvbC0tc21hbGwge1xuICAgIG1hcmdpbi1yaWdodDogMSU7XG4gICAgd2lkdGg6IDMwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHdpZHRoOiA0OSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmLmRvYy1wcm9maWxlX19jb2wtLWJhZGdlcyB7XG4gICAgd2lkdGg6IDM3JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5kb2MtcHJvZmlsZV9fYmFkZ2Uge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogI3skZ2xvYmFsLW1hcmdpbiAvIDJ9O1xuICBtYXJnaW4tcmlnaHQ6ICN7JGdsb2JhbC1tYXJnaW4gLyAyfTtcbn1cblxuLmRvYy1wcm9maWxlX190b2dnbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmljb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDJweDtcblxuICAgIC5leHBhbmRlZCAmIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdkJyAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZG9jLXByb2ZpbGUtcmVzdWx0IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gMXJlbSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICB9XG59XG5cbi5kb2MtcHJvZmlsZV9fZmlsdGVyLWlubmVyIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAuZXhwYW5kZWQgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmRvYy1wcm9maWxlX19yZWZpbmUtY29sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vL3VzZWQgb24gY2VudGVyIGxhbmRpbmdcbi5kb2NfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbjtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG5cbiAgLmRvYy1wcm9maWxlX19pbWFnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmRvY19fcm93LTMgJiB7XG4gICAgbWFyZ2luLWJvdHRvbTogI3skZ2xvYmFsLW1hcmdpbiAqIDJ9O1xuICAgIHdpZHRoOiBjYWxjKDMzJSAtIDFyZW0pO1xuXG4gICAgJjpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuXG4gICAgICAmOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5lbWJlZC1jb250YWluZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbi5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiLyogWUFQTFxubmFtZTogRmVhdHVyZWQgU3Rvcmllc1xucGFydGlhbDogaHAtZmVhdHVyZWQtc3Rvcmllc1xuc2VsZWN0b3I6IC5mZWF0dXJlZC1zdG9yaWVzXG4qL1xuXG4uZmVhdHVyZWQtc3RvcmllcyB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZlYXR1cmVkLXN0b3JpZXNfX2JvZHkge1xuICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgI3skZ2xvYmFsLXBhZGRpbmcgKiAxLjV9O1xuICB9XG59XG5cbi5mZWF0dXJlZC1zdG9yaWVzX19tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNjBweDtcbiAgbWFyZ2luLXRvcDogI3skZ2xvYmFsLW1hcmdpbiAqIDJ9O1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBoNSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbiAgICBhIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuICB9XG59XG5cbi5mZWF0dXJlZC1zdG9yaWVzX19zaWRlIHtcbiAgbWFyZ2luLXRvcDogI3skZ2xvYmFsLW1hcmdpbiAqIDJ9O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAjeyRnbG9iYWwtcGFkZGluZyAqIDJ9O1xuICAgIHBhZGRpbmctcmlnaHQ6ICN7JGdsb2JhbC1wYWRkaW5nICogMn07XG4gIH1cbn1cblxuLmZlYXR1cmVkLXN0b3JpZXNfX2l0ZW0ge1xuICBib3JkZXItdG9wOiA4cHggc29saWQgJGxpZ2h0LWJyb3duO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIG1hcmdpbi1ib3R0b206ICN7JGdsb2JhbC1tYXJnaW4gKiAyLjV9O1xuICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbWFyZ2luLWJvdHRvbTogI3skZ2xvYmFsLW1hcmdpbiAqIDJ9O1xuICB9XG5cbiAgYSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICB9XG4gIH1cbn1cblxuLmZlYXR1cmVkLXN0b3JpZXNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogRmlndXJlXG5ub3RlczogVGhpcyBjYW4gYmUgZmxvYXRlZCBlaXRoZXIgd2F5IHdpdGggdGhlIGFkZGl0aW9uIG9yIHJlbW92YWwgb2YgLmZsb2F0LXJpZ2h0IGFuZCAuZmxvYXQtbGVmdFxucGFydGlhbDogc2ctZmlndXJlXG5zZWxlY3RvcjogLmZpZ3VyZVxuKi9cblxuLyogWUFQTFxubmFtZTogRmlndXJlIHdpdGggVmlkZW9cbnBhcnRpYWw6IHNnLWZpZ3VyZS12aWRlb1xuc2VsZWN0b3I6IC5maWd1cmUuZmlndXJlX192aWRlb1xuKi9cblxuLyogWUFQTFxubmFtZTogRmlndXJlIHdpdGggRGlhZ29uYWxzXG5ub3RlczogVGhlIGRpYWdvbmFscyBkaXYgY2FuIGJlIHJlbW92ZWQgaWYgbmVlZGVkLiBJZiBzbyB5b3UgY2FuIHJlbW92ZSAuaW1hZ2UtLW92ZXJmbG93LWhpZGRlbiBhbmQgLmltYWdlLS1tYXgtZGlhZ29uYWxzIGZyb20gdGhlIGNvbnRhaW5pbmcgZGl2XG5wYXJ0aWFsOiBzZy1maWd1cmUtc21hbGxcbnNlbGVjdG9yOiAuZmlndXJlLmltYWdlLS1vdmVyZmxvdy1oaWRkZW4uaW1hZ2UtLW1heC1kaWFnb25hbHNcbiovXG5cbi8qIFlBUExcbm5hbWU6IEZpZ3VyZSBSaWdodCB3aXRoIEJvcmRlclxubm90ZXM6IEFkZCAuZmlndXJlLS1uby1ib3JkZXIgaWYgeW91IGRvIG5vdCB3YW50IHRoZSBib3JkZXJcbnBhcnRpYWw6IHNnLWZpZ3VyZS1yaWdodC1ib3JkZXJcbnNlbGVjdG9yOiAuZmlndXJlLmZsb2F0LXJpZ2h0LmZpZ3VyZV9faW1hZ2VcbiovXG5cbi8qIFlBUExcbm5hbWU6IEZpZ3VyZSBNYXggV2lkdGhcbm5vdGVzOiBNYXggd2lkdGggaXMgc2V0IGluIHRoaXMgZmlsZTsgdGhpcyBjYW4gYmUgZmxvYXRlZCBsZWZ0IG9yIHJpZ2h0IHdpdGggLmZsb2F0LWxlZnQgb3IgLmZsb2F0LXJpZ2h0IG9uIHRoZSBjb250YWluaW5nIGRpdlxucGFydGlhbDogc2ctZmlndXJlLW1heC13aWR0aFxuc2VsZWN0b3I6IC5maWd1cmUuZmlndXJlLS1tYXgtd2lkdGhcbiovXG5cblxuLmZpZ3VyZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgJi5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAjeyRnbG9iYWwtbWFyZ2luICogMn07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAjeyRnbG9iYWwtbWFyZ2luICogMn07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiByZW0tY2FsYyg3MjApO1xuICB9XG5cbiAgJi5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICN7JGdsb2JhbC1tYXJnaW4gKiAyfTtcbiAgICBtYXJnaW4tbGVmdDogI3skZ2xvYmFsLW1hcmdpbiAqIDJ9O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDcyMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAmLmZsb2F0LWxlZnQge1xuICAgICAgLm1lZGl1bS04ICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgJi5mbG9hdC1sZWZ0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmZsb2F0LXJpZ2h0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmZpZ3VyZV9fdmlkZW8ge1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpbWcge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIHdpZHRoOiA2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICYuZmxvYXQtbGVmdCxcbiAgICAmLmZsb2F0LXJpZ2h0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICAgIH1cbiAgfVxuXG4gIC5pY29uLS1wbGF5IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy10b3A6IDdweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYuZmlndXJlX192aWRlby0tbWF4LXdpZHRoIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICBtYXgtd2lkdGg6IDY2JTtcbiAgICB9XG4gIH1cbn1cblxuLmZpZ3VyZV9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgaW1nIHtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgJGxpZ2h0LWJyb3duO1xuICB9XG5cbiAgJi5maWd1cmUtLW1heC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiAzNDhweDtcbiAgfVxuXG4gICYuZmlndXJlLS1uby1ib3JkZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYuZmlndXJlLS1mbGV4aWJsZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmZpZ3VyZV9fY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6ICR2ZXJ5LWxpZ2h0LWdyYXk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDMwcHg7XG4gIGNvbG9yOiAkY2FwdGlvbi1ncmF5O1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgcGFkZGluZzogMjJweCAkZ2xvYmFsLXBhZGRpbmc7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYuZmlndXJlX19jYXB0aW9uLS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG4iLCIuZmlsdGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogRm9sbG93XG5wYXJ0aWFsOiBzZy1mb2xsb3dcbnNlbGVjdG9yOiAuZm9sbG93X19pY29uc1xuKi9cblxuLyogWUFQTFxubmFtZTogRm9sbG93IC0gRm9vdGVyXG5ub3RlczogLmZvb3Rlcl9fc29jaWFsIHdyYXBwaW5nIGNsYXNzIG1ha2VzIGljb24gYmFja2dyb3VuZCBjb2xvciBibHVlXG5wYXJ0aWFsOiBzZy1mb2xsb3ctZm9vdGVyXG5zZWxlY3RvcjogLmZvbGxvd19faWNvbnNcbiovXG5cbi8qIFlBUExcbm5hbWU6IEZvbGxvdyAtIFNoYXJlXG5ub3RlczogU2hhcmUgZnVuY3Rpb25hbGl0eSBqYXZhc2NyaXB0IGlzIGluIHNyYy9hc3NldHMvanMvc2hhcmUuanNcbnBhcnRpYWw6IHNnLWZvbGxvdy1zaGFyZVxuc2VsZWN0b3I6IC5mb2xsb3dfX2ljb25zXG4qL1xuXG5cbi5mb2xsb3cge1xuICBwYWRkaW5nOiAwICN7JGdsb2JhbC1wYWRkaW5nICogMn0gJGdsb2JhbC1wYWRkaW5nO1xufVxuXG4uZm9sbG93X190aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJsdWU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyMHB4O1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9sbG93X19pY29ucyB7XG4gIG1hcmdpbjogJGdsb2JhbC1tYXJnaW4gMDtcblxuICAuaWNvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBsZWZ0OiA4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgfVxufVxuXG4uZm9sbG93X19pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWJsdWU7XG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGhlaWdodDogMzZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBtYXJnaW46IDAgNnB4ICRnbG9iYWwtbWFyZ2luO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICB3aWR0aDogMzZweDtcblxuICAuZm9vdGVyX19zb2NpYWwgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiOTtcbiAgfVxufVxuXG4uZm9sbG93X19pY29uLS1mYWNlYm9vayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NzYzOWM7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2F0dXJhdGUoIzQ3NjM5YywgMjUlKTtcbiAgfVxufVxuXG4uZm9sbG93X19pY29uLS10d2l0dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhYTNlZjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzYXR1cmF0ZSgjMmFhM2VmLCAyNSUpO1xuICB9XG59XG5cbi5mb2xsb3dfX2ljb24tLWluc3RhZ3JhbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMjMyN2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2F0dXJhdGUoI2QyMzI3ZSwgMjUlKTtcbiAgfVxufVxuXG4uZm9sbG93X19pY29uLS15b3V0dWJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzAxYztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzYXR1cmF0ZSgjZGMzMDFjLCAyNSUpO1xuICB9XG59XG5cbi5mb2xsb3dfX2ljb24tLWxpbmtlZGluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExNzhiMztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzYXR1cmF0ZSgjMTE3OGIzLCAyNSUpO1xuICB9XG59XG5cbi5mb2xsb3dfX2ZhY2Vib29rIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblxufVxuXG5cbi5mYi1wYWdlLFxuLmZiLXBhZ2Ugc3Bhbixcbi5mYi1wYWdlIHNwYW4gaWZyYW1lW3N0eWxlXSB7XG4gICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuIiwiQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcblxuc2VsZWN0LFxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogLjI1cmVtIDA7XG59XG5cbmxhYmVsLFxubGVnZW5kIHtcblxuICAmLmZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5yZXF1aXJlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmxhYmVsLXRleHQge1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgY29udGVudDogJyonO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxubGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbn1cblxuZmllbGRzZXQucmFkaW8taW5wdXQge1xuICBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuXG4uc2VsZWN0LXdyYXAge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2ZmZmVmZiwgI2U0ZTRlNCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItZ3JheTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMXB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMzJweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDNweDtcbiAgICB9XG4gIH1cbn1cblxuLmNoZWNrYm94LXdyYXAge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgbWluLWhlaWdodDogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgfiAuY2hlY2tib3ggLmNoZWNrYm94X19jaGVjayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBsYWJlbCAmIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiByZW0tY2FsYygyMCk7XG59XG5cbi5jaGVja2JveCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZmZmZWZmLCAjZTRlNGU0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1ncmF5O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyNHB4O1xuXG4gIC5jaGVja2JveF9fY2hlY2sge1xuICAgIGNvbG9yOiAkbWVkaXVtLWJsdWU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGVmdDogM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0ycHg7XG4gIH1cbn1cblxuLmZvcm1fX3JlcXVpcmVkIHtcbiAgYm90dG9tOiAtMjFweDtcbiAgY29sb3I6ICRyZWQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4iLCIuZnV0dXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZnV0dXJlX19oZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogJHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAgMTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwO1xuICAgIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nICogMn0gJGdsb2JhbC1wYWRkaW5nO1xuICB9XG59XG5cbi5mdXR1cmVfX2hlYWRlci10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuXG4gIGgyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuICB9XG59XG5cbi5mdXR1cmVfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlIDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMsIG9wYWNpdHkgLjVzO1xuXG4gIC5pcy1hbmltYXRpbmcgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgJi5mdXR1cmVfX2l0ZW0tLXZpZGVvIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjVweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMjVweCk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgIHdpZHRoOiA1MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgIHotaW5kZXg6IDQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHBoYWJsZXQgZG93bikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZnV0dXJlX19pdGVtLS1zdG9yeSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICB9XG5cbiAgICAuaWNvbi0tZnV0dXJlLXN0b3J5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2ljb24tcGF0aWVudF9zdG9yeS5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICAgIHdpZHRoOiA1NnB4O1xuICAgIH1cblxuICAgIC5pY29uLS1hcnJvdy1yaWdodCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XG4gICAgICAgIHRvcDogODBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uLS1uZXdzLFxuICAgIC5pY29uLS1wYXRpZW50LXN0b3J5IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiA1NnB4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbi0tcGF0aWVudC1zdG9yeSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAxN3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi0tYXJyb3ctcmlnaHQge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcblxuICAgIC5mdXR1cmVfX2hpZGRlbi1vdmVybGF5IHtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZ1dHVyZV9fdmlkZW8ge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogNDBweDtcbiAgICB3aWR0aDogNTZweDtcbiAgfVxufVxuXG4uZnV0dXJlX19oaWRkZW4tb3ZlcmxheSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGRhcmstYmx1ZSwgLjgpO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50IChwaGFibGV0IGRvd24pIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLmljb24ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgICB9XG4gIH1cbn1cblxuLmZ1dHVyZV9fZ3JpZCB7XG5cbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICB9XG5cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLmhhbWJ1cmdlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oYW1idXJnZXJfX2xpbmUge1xuICBzdHJva2U6ICRtZWRpdW0tYmx1ZTtcbiAgc3Ryb2tlLW1pdGVybGltaXQ6IDEwO1xuICBzdHJva2Utd2lkdGg6IDJweDtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlIC4yNXMsIHRyYW5zZm9ybSAuMjVzO1xuICB3aWxsLWNoYW5nZTogc3Ryb2tlLCBiYWNrZ3JvdW5kO1xuXG4gICY6bnRoLWNoaWxkKDEpIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XG4gIH1cblxuICAmOm50aC1jaGlsZCgzKSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICB9XG5cbiAgLmlzLWFjdGl2ZSAmLFxuICAuaXMtbWVudS1vcGVuICYge1xuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgc3Ryb2tlOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG5cbiAgLm9yYW5nZSAmIHtcbiAgICBzdHJva2U6ICRvcmFuZ2U7XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IEltYWdlIEJvcmRlclxucGFydGlhbDogc2ctaW1hZ2UtYm9yZGVyXG5zZWxlY3RvcjogLmltYWdlLS1ib3JkZXJcbiovXG5cbi8qIFlBUExcbm5hbWU6IEltYWdlIFBvcnRyYWl0XG5wYXJ0aWFsOiBzZy1pbWFnZS1wb3J0cmFpdFxuc2VsZWN0b3I6IC5pbWFnZS0tcG9ydHJhaXRcbiovXG5cbi8qIFlBUExcbm5hbWU6IEltYWdlIFBvcnRyYWl0IFNtYWxsXG5wYXJ0aWFsOiBzZy1pbWFnZS1wb3J0cmFpdC1zbWFsbFxuc2VsZWN0b3I6IC5pbWFnZS0tcG9ydHJhaXQtLXNtYWxsXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBJbWFnZSBNYXggV2lkdGggYW5kIERpYWdvbmFsc1xubm90ZXM6IFNhbWUgYXMgZXhhbXBsZSBmcm9tIGZpZ3VyZSBjb21wb25lbnRcbnBhcnRpYWw6IHNnLWltYWdlLW1heC1kaWFnb25hbHNcbnNlbGVjdG9yOiAuaW1hZ2UtLW1heC1kaWFnb25hbHNcbiovXG5cbi8qIFlBUExcbm5hbWU6IEltYWdlIEZpdFxubm90ZXM6IEZvciB1c2UgaW4gY2FzZXMgd2hlcmUgdGhlIGltYWdlIG5lZWRzIHRvIGZpbGwgdGhlIGNvbnRhaW5lcjsgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBpbWFnZS0tbWF4LTU0MCB0byBsaW1pdCBoZWlnaHQ7IHlvdSBjb3VsZCBjcmVhdGUgbmV3IG1heCBjbGFzc2VzIGZvciBkaWZmZXJlbnQgc2l0dWF0aW9uc1xucGFydGlhbDogc2ctaW1hZ2UtZml0XG5zZWxlY3RvcjogLmltYWdlLS1maXRcbiovXG5cbi8qIFlBUExcbm5hbWU6IEltYWdlIE1heCBXaWR0aCA1NDBcbm5vdGVzOiBVc2VkIHRvIGxpbWl0IG1heCBoZWlnaHQgb2YgaW1hZ2VcbnBhcnRpYWw6IHNnLWltYWdlLW1heC01NDBcbnNlbGVjdG9yOiAuaW1hZ2UtLW1heC01NDBcbiovXG5cbi5pbWFnZS0tYm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRsaWdodC1icm93bjtcbn1cblxuLmltYWdlLS1mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBtYXJnaW4tcmlnaHQ6ICRnbG9iYWwtbWFyZ2luO1xufVxuXG4uaW1hZ2UtLXBvcnRyYWl0IHtcbiAgbWF4LXdpZHRoOiAxNTBweDtcbn1cblxuLmltYWdlLS1wb3J0cmFpdC0tc21hbGwge1xuICBtYXgtd2lkdGg6IDExNHB4O1xufVxuXG4uaW1hZ2UtLW1heC1kaWFnb25hbHMge1xuICBtYXgtd2lkdGg6IDM0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pbWFnZS0tb3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYuaW1hZ2UtLW5vLWhvdmVyIHtcbiAgICAmOmhvdmVyIHtcblxuICAgICAgPiBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgfVxuXG4gICY6aG92ZXIge1xuXG4gICAgK2RpdiA+IHNwYW4ge1xuICAgICAgY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICB9XG5cbiAgICA+IGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgfVxuICB9XG59XG5cbi5pbWFnZS0tZmlsbCB7XG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmltYWdlLS1maXQge1xuICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyBvYmplY3QtcG9zaXRpb246IHRvcCc7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmltYWdlLS1tYXgtNTQwIHtcbiAgbWF4LWhlaWdodDogNTQwcHg7XG59XG4iLCIvKiBZQVBMXG5uYW1lOiBIZXJvXG5ub3RlczogcGFyYWxsYXggc2Nyb2xsIGRpc2FibGVkIGluIHN0eWxlZ3VpZGU7IHotaW5kZXggY2hhbmdlcyBmb3Igc3R5bGVHdWlkZSBhdCBib3R0b20gKGxvb2sgZm9yIC5zZy1ibG9jayBhdCBib3R0b20gb2YgdGhpcyBmaWxlKVxucGFydGlhbDogc2ctaGVyb1xuY29udGV4dDogaGVyby5ob21lcGFnZVxuc2VsZWN0b3I6IC5oZXJvXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBIZXJvIE1hc3RlcnN1Ylxubm90ZXM6IHBhcmFsbGF4IHNjcm9sbCBkaXNhYmxlZCBpbiBzdHlsZWd1aWRlXG5wYXJ0aWFsOiBzZy1oZXJvXG5jb250ZXh0OiBoZXJvLm1hc3RlcnN1Ylxuc2VsZWN0b3I6IC5oZXJvLS1zdWJcbiovXG5cbi8qIFlBUExcbm5hbWU6IEhlcm8gTWFzdGVyc3ViIE1lc3NhZ2Vcbm5vdGVzOiBwYXJhbGxheCBzY3JvbGwgZGlzYWJsZWQgaW4gc3R5bGVndWlkZVxucGFydGlhbDogc2ctaGVyb1xuY29udGV4dDogaGVyby5sb2NhdGlvbkRldGFpbFxuc2VsZWN0b3I6IC5oZXJvLS1zdWIuaGVyby0tc3ViLS1tZXNzYWdlXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBIZXJvIENhbXBhaWduXG5ub3Rlczogei1pbmRleCBjaGFuZ2VzIGFuZCByZW1vdmVkIG5lZ2F0aXZlIHRvcCBtYXJnaW4gZm9yIHN0eWxlZ3VpZGVcbnBhcnRpYWw6IHNnLWhlcm9cbmNvbnRleHQ6IGhlcm8uY2FtcGFpZ25cbnNlbGVjdG9yOiAuaGVyby0tY2FtcGFpZ25cbiovXG5cbi8qIFlBUExcbm5hbWU6IEhlcm8gTWljcm9zaXRlXG5ub3Rlczogei1pbmRleCBjaGFuZ2VzIGFuZCByZW1vdmVkIG5lZ2F0aXZlIHRvcCBtYXJnaW4gZm9yIHN0eWxlZ3VpZGVcbnBhcnRpYWw6IHNnLWhlcm9cbmNvbnRleHQ6IGhlcm8ubWljcm9zaXRlXG5zZWxlY3RvcjogLmhlcm8tLWNhbXBhaWduLmhlcm8tLW1pY3Jvc2l0ZVxuKi9cblxuXG4uaGVybyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoMjUwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBoZWlnaHQ6IDU1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBoZWlnaHQ6IDE3OHB4O1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5oZXJvLS1zdWIgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgaGVpZ2h0OiAzMzZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgbWluLWhlaWdodDogMjQwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5oZXJvLS1zdWItLW1lc3NhZ2UgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5oZXJvLS1jYW1wYWlnbiAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICBoZWlnaHQ6IDY4NXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgfVxufVxuXG4uaGVyb19fd3JhcCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBoZWlnaHQ6IDU1MHB4O1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLmhlcm8tLXN1YiB7XG4gICAgaGVpZ2h0OiAzMzZweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAyNDBweDtcblxuICAgICAgJi5oZXJvLS1zdWItLW1lc3NhZ2Uge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICAgIH1cbiAgfVxuXG4gICYuaGVyby0tY2FtcGFpZ24ge1xuICAgIGhlaWdodDogNjg1cHg7XG4gICAgbWFyZ2luLXRvcDogLTExOHB4O1xuXG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDIxMHB4O1xuICAgIH1cblxuICAgICYuaGVyby0tbWljcm9zaXRlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNTdweDtcbiAgICB9XG4gIH1cbn1cblxuLmhlcm9fX2ltYWdlIHtcbiAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiB0b3AnO1xuICBoZWlnaHQ6IDU1MHB4O1xuICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICB6LWluZGV4OiAtMjtcblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS41cztcblxuICAgICYuaXMtYW5pbWF0aW5nIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxNzhweDtcbiAgfVxuXG4gIC5oZXJvLS1zdWIgJiB7XG4gICAgaGVpZ2h0OiAzMzZweDtcbiAgICBtaW4taGVpZ2h0OiAzMzZweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAyNDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5oZXJvLS1jYW1wYWlnbiAmIHtcbiAgICBoZWlnaHQ6IDY4NXB4O1xuICAgIG1pbi1oZWlnaHQ6IDY4NXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIGhlaWdodDogMjEwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAyMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLmhlcm9fX3Bvcy1zdGF0ZS13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC04NSU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMHB4O1xuXG4gICAgJi5oZXJvX19wb3Mtc3RhdGUtd3JhcC0tc3ViIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaGVyby0tc3ViLS1tZXNzYWdlICYge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcblxuICAgICYuaGVyb19fcG9zLXN0YXRlLXdyYXAtLXN1YiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgLmhlcm8tLWNhbXBhaWduICYge1xuICAgIHRvcDogLTY4JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICAuaGVyby0tbWljcm9zaXRlICYsXG4gIC5oZXJvLS1jYW1wYWlnbiAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5oZXJvX19wb3Mtc3RhdGUge1xuICBjb2xvcjogJGRhcmstYmx1ZTtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5LWFsdDtcbiAgZm9udC1zaXplOiByZW0tY2FsYyg0NSk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICBvcGFjaXR5OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IG1hcmdpbi10b3AgI3skZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQgKiAzfSBlYXNlLWluLCBvcGFjaXR5ICN7JGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkICogM30gZWFzZS1pbjtcbiAgd2lkdGg6IDQ1JTtcbiAgei1pbmRleDogMztcblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICBib3R0b206IC0yN3B4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTQycHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDJzO1xuXG4gICAgJi5pcy1hbmltYXRpbmcge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgbWFyZ2luLXRvcDogMjRweCAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAtMThweDtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIGxlZnQ6IDI0cHg7XG4gICAgbWFyZ2luLXRvcDogMTJweCAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICAgIHRvcDogMTZweDtcbiAgICB3aWR0aDogNjAlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgd2lkdGg6IDY0cHg7XG4gICAgfVxuICB9XG59XG5cbi5oZXJvX190ZXh0Ym94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JlZW4tYmx1ZSwgLjgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nICogMS41fSAjeyRnbG9iYWwtcGFkZGluZyAqIDJ9O1xuICB3aWR0aDogNDAlO1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDM3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIC5oZXJvLS1jYW1wYWlnbiAmIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IDQycHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgLmhlcm8tLWNhbXBhaWduICYge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaGVyb19fdGV4dGJveC0tbGFyZ2UtdGV4dCB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiA1OXB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAzMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDtcbiAgICBvdXRsaW5lOiA0cHggc29saWQgcmdiYSgkd2hpdGUsIC40KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMjZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHRvcDogLTI2cHg7XG4gIH1cblxuICAmLmhlcm9fX3RleHRib3gtLXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogOTAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMixcbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHBoYWJsZXQgZG93bikge1xuICAgICAgICBjb2xvcjogJGNhcHRpb24tZ3JheSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaGVyb19fdGV4dGJveC0tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5oZXJvX190ZXh0Ym94LWJvcmRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1ibHVlO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IDgwcHg7XG59XG5cbi5oZXJvX19kaXJlY3Rpb25zLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZXJvLWRpcmVjdGlvbnMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjcpO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nfTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgei1pbmRleDogNTtcblxuICBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cbiAgfVxuXG4gIC5pY29uIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5oZXJvLWRpcmVjdGlvbnNfX2xpbmsge1xuICBtYXJnaW4tbGVmdDogJGdsb2JhbC1tYXJnaW47XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBtYXJnaW4tbGVmdDogI3skZ2xvYmFsLW1hcmdpbiAvIDJ9O1xuICB9XG59XG5cbi5oZXJvX19vdmVybGF5IHtcbiAgbWFyZ2luLXRvcDogLTE1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG5cbiAgJi5oZXJvX19vdmVybGF5LS1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogLTQ2cHg7XG4gIH1cblxuICAmLmhlcm9fX292ZXJsYXktLW1pY3Jvc2l0ZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy9maXhlcyBmb3Igc3R5bGVHdWlkZVxuLnNnLWJsb2NrIC5oZXJvX19pbWFnZSB7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5zZy1ibG9jayAuaGVybyAuZGlhZ29uYWxzIHtcbiAgb3BhY2l0eTogLjU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5zZy1ibG9jayAuaGVybyAuZGlhZ29uYWxzLS1kYXJrZW4ge1xuICB6LWluZGV4OiAxO1xufVxuXG4uc2ctYmxvY2sgLmhlcm8tbmF2X19jb250YWluZXIuaGVyby1uYXYtLWNhbXBhaWduIHtcbiAgei1pbmRleDogMztcbn1cblxuLnNnLWJsb2NrIC5oZXJvX193cmFwLmhlcm8tLWNhbXBhaWduIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbiIsIi5oZXJvLW5hdl9fY29udGFpbmVyIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgYm90dG9tOiAxNTRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbWluLWhlaWdodDogMTU2cHg7XG4gICAgb3V0bGluZTogNHB4IHNvbGlkIHJnYmEoJHdoaXRlLCAuNCk7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTM2cHg7XG4gICAgd2lkdGg6IDkyJTtcbiAgfVxuXG4gICYuaGVyby1uYXYtLWNhbXBhaWduIHtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWJsdWU7XG4gICAgICBtYXJnaW4tdG9wOiAtODBweDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uaGVyby1uYXYge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjc1KTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xuICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nO1xuICB9XG5cbiAgLmhlcm8tbmF2LS1jYW1wYWlnbiAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMzZTk3OTAsIC45KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1ibHVlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cbn1cblxuLmhlcm8tbmF2X19zZWN0aW9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDExMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgJjpob3ZlciB7XG4gICAgLmhlcm8tbmF2X19saW5rIHtcbiAgICAgIGNvbG9yOiAkZ3JlZW4tYmx1ZTtcbiAgICB9XG5cbiAgICAuaGVyby1uYXZfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGdyZWVuLWJsdWU7XG4gICAgICBjb2xvcjogJGdyZWVuLWJsdWU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuLWJsdWU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcywgb3BhY2l0eSAuMnM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJsdWU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICB3aWR0aDogNDclO1xuICB9XG5cbiAgLmhlcm8tbmF2LS1jYW1wYWlnbiAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tYmx1ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgLjUpO1xuICAgICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcbiAgICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmc7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgJi5oZXJvLW5hdl9fc2VjdGlvbi0tZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiA0MCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi5oZXJvLW5hdl9fc2VjdGlvbi0taW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDMwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmhlcm8tbmF2X19saW5rIHtcbiAgICBjb2xvcjogJGRhcmstYmx1ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChwaGFibGV0IGRvd24pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICB9XG5cbiAgICAuaGVyby1uYXYtLWNhbXBhaWduICYge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgfVxuXG4gIC5oZXJvLW5hdl9faWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWJsdWU7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGdyZWVuLWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogMjdweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogNTRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgei1pbmRleDogMTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxlZnQ6IDExcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgICYuaWNvbi0tbG9jYXRpb24ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWNvbi0tYnJpZWZjYXNlIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMTNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tYmx1ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICBsZWZ0OiAtMnB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MsIG9wYWNpdHkgLjRzO1xuICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIHdpZHRoOiA0MnB4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogN3B4O1xuICAgICAgfVxuXG4gICAgICAmLmljb24tLWxvY2F0aW9uIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmljb24tLWJyaWVmY2FzZSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmhlcm8tbmF2X19zZWN0aW9uLWNvbnRhaW5lciB7XG5cbiAgJjpob3ZlciB7XG4gICAgLmhlcm8tbmF2IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIC5oZXJvLW5hdi0tY2FtcGFpZ24gJiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHBoYWJsZXQgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4uaGVyby1uYXZfX3NlY3Rpb24tLWxvb2tpbmcge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHB4O1xuICBjb2xvcjogJHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGhlaWdodDogMTEwcHg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAzMXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDI0MHB4O1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHBoYWJsZXQgb25seSkge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmhlcm8tbmF2LS1jYW1wYWlnbiAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tYmx1ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZztcbiAgICB9XG4gIH1cbn1cblxuLmhlcm8tbmF2X19sZWZ0IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAocGhhYmxldCBvbmx5KSB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICB9XG59XG5cbi5oZXJvLW5hdl9fcmlnaHQge1xuICBAaW5jbHVkZSBicmVha3BvaW50IChwaGFibGV0IG9ubHkpIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG4gIH1cbn1cbiIsIi5ob3Qtam9ic19faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWdyYXk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IC43NXJlbSAwIDEuMjVyZW07XG59XG5cbi5ob3Qtam9ic19fam9iIHtcbiAgLmhvdC1qb2JzX19jYXRlZ29yeSB7XG4gICAgY29sb3I6ICRsaWdodC1icm93bjtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuaG90LWpvYnNfX2pvYi1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgfVxufVxuXG4uaG90LWpvYnNfX2xvY2F0aW9uIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwXG59XG4iLCIuaHAtcG9ydGxldHMge1xuICAuaHAtcG9ydGxldHMtY2VsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDFzO1xuXG4gICAgJi5pcy1hbmltYXRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogLTkwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4gICAgICAmLmlzLWFuaW1hdGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICN7JGdsb2JhbC1tYXJnaW4gKiAyfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5pbmZvZ3JhcGhpYyB7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgd2lkdGg6IDkyJTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgICBtYXJnaW4tYm90dG9tOiAjeyRnbG9iYWwtbWFyZ2luICogM307XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmluZm9ncmFwaGljX190YWJzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMjApIHJnYmEoJGJsYWNrLCAuMik7XG4gICAgaGVpZ2h0OiA0ODRweDtcblxuICB9XG59XG5cbi5pbmZvZ3JhcGhpY19fbmF2IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxlZnQ6IDQwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMDhweDtcbiAgei1pbmRleDogMjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICB0b3A6IDI0OHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm90dG9tOiAtNDBweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGJvdHRvbTogLTYwcHg7XG4gIH1cblxuICAuaW5mb2dyYXBoaWNfX25hdi1saW5rIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG1lZGl1bS1ibHVlLCAuOCk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICN7JGdsb2JhbC1wYWRkaW5nICogMn07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQsIGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICB3aWR0aDogMzA2cHg7XG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IC43NWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgfVxuICB9XG59XG5cbi5pbmZvZ3JhcGhpY19fdGFicy10aXRsZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5pbmZvZ3JhcGhpY19fdGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogNTAlO1xuICB6LWluZGV4OiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgaGVpZ2h0OiA0ODRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG59XG5cbi5pbmZvZ3JhcGhpY19fY29udGVudCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnM7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5pbmZvZ3JhcGhpY19fY29udGVudC0xIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaHAvaHAtc2luYWkuanBnJyk7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbn1cblxuLmluZm9ncmFwaGljX19jb250ZW50LTIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9ocC9ocC1ub3J0aHdlc3QuanBnJyk7XG59XG5cbi5pbmZvZ3JhcGhpY19fY29udGVudC0zIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaHAvaHAtY2Fycm9sbC5qcGcnKTtcbn1cblxuLmluZm9ncmFwaGljX19jb250ZW50LTQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9ocC9ocC1sZXZpbmRhbGUuanBnJyk7XG59XG5cbi5pbmZvZ3JhcGhpY19fYnV0dG9ucyB7XG4gIGJvdHRvbTogOHB4O1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEyMHB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xufVxuXG4uaW5mb2dyYXBoaWNfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG1lZGl1bS1ibHVlLCAuOSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoJG1lZGl1bS1ibHVlLCAuOSk7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgcGFkZGluZzogOHB4IDE0cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICB3aWR0aDogMjQwcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICBjb2xvcjogJGRhcmstYmx1ZTtcblxuICAgIC5pY29uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5pbmZvZ3JhcGhpY19faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9kaWFnb25hbHMucG5nJyk7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgd2lkdGg6IDM2cHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA0cHg7XG4gICAgICBsZWZ0OiAxMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5cHg7XG4gICAgfVxuXG4gICAgJi5pY29uLS1maW5kLWEtZG9jIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWNvbi0tbWFrZS1hbi1hcHB0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cblxuICAmLmluZm9ncmFwaGljX19pbWFnZS0tcmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAyN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJHdoaXRlO1xuICAgICAgYm9yZGVyLXRvcDogMjdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAyN3B4KTtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDAgc29saWQgJHdoaXRlO1xuICAgICAgYm9yZGVyLXRvcDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTJweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaW5mb2dyYXBoaWNfX2ltYWdlLS1sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMjdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAkd2hpdGU7XG4gICAgICBib3JkZXItdG9wOiAyN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAyN3B4KTtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwIHNvbGlkICR3aGl0ZTtcbiAgICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA1MnB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5pbmZvZ3JhcGhpY19fbWFwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaHAvaW5mb2dyYXBoaWMtbWFwLW5vcGlucy5qcGcnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmluZm9ncmFwaGljX19tYXAtcGluIHtcbiAgaGVpZ2h0OiAxMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMnB4O1xuICB6LWluZGV4OiA0O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xIHtcbiAgICBsZWZ0OiAyNSU7XG4gICAgdG9wOiAxMiU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTIge1xuICAgIGxlZnQ6IDI2JTtcbiAgICB0b3A6IDE3JTtcbiAgfVxuXG4gICYuaW5mb2dyYXBoaWNfX21hcC1waW4tMyB7XG4gICAgbGVmdDogMjYlO1xuICAgIHRvcDogMjAuNSU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTQge1xuICAgIGxlZnQ6IDI5JTtcbiAgICB0b3A6IDE4LjUlO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi01IHtcbiAgICBsZWZ0OiAzNyU7XG4gICAgdG9wOiAxNSU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTYge1xuICAgIGxlZnQ6IDQ4JTtcbiAgICB0b3A6IDE5JTtcbiAgfVxuXG4gICYuaW5mb2dyYXBoaWNfX21hcC1waW4tNyB7XG4gICAgbGVmdDogNDclO1xuICAgIHRvcDogMjIuNSU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTgge1xuICAgIGxlZnQ6IDczJTtcbiAgICB0b3A6IDEzLjUlO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi05IHtcbiAgICBsZWZ0OiA3NS41JTtcbiAgICB0b3A6IDE2LjUlO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xMCB7XG4gICAgbGVmdDogNzclO1xuICAgIHRvcDogMjElO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xMSB7XG4gICAgbGVmdDogMyU7XG4gICAgdG9wOiAyOSU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTEyIHtcbiAgICBsZWZ0OiAzMSU7XG4gICAgdG9wOiAzMSU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTEzIHtcbiAgICBsZWZ0OiAzOSU7XG4gICAgdG9wOiAyOCU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTE0IHtcbiAgICBsZWZ0OiA0MS41JTtcbiAgICB0b3A6IDMwJTtcbiAgfVxuXG4gICYuaW5mb2dyYXBoaWNfX21hcC1waW4tMTUge1xuICAgIGxlZnQ6IDQ0JTtcbiAgICB0b3A6IDMzJTtcbiAgfVxuXG4gICYuaW5mb2dyYXBoaWNfX21hcC1waW4tMTYge1xuICAgIGxlZnQ6IDQ3LjUlO1xuICAgIHRvcDogMzIlO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xNyB7XG4gICAgbGVmdDogNTElO1xuICAgIHRvcDogMjclO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xOCB7XG4gICAgbGVmdDogNTQlO1xuICAgIHRvcDogMjklO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0xOSB7XG4gICAgbGVmdDogNTYlO1xuICAgIHRvcDogMzIlO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0yMCB7XG4gICAgbGVmdDogNjAlO1xuICAgIHRvcDogMzUlO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0yMSB7XG4gICAgbGVmdDogNjQlO1xuICAgIHRvcDogMzUuNSU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTIyIHtcbiAgICBsZWZ0OiA2NyU7XG4gICAgdG9wOiAzMCU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTIzIHtcbiAgICBsZWZ0OiAzNCU7XG4gICAgdG9wOiA0NyU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTI0IHtcbiAgICBsZWZ0OiA0MiU7XG4gICAgdG9wOiA1MCU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTI1IHtcbiAgICBsZWZ0OiA1MiU7XG4gICAgdG9wOiA0OCU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTI2IHtcbiAgICBsZWZ0OiA1OCU7XG4gICAgdG9wOiA1MiU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTI3IHtcbiAgICBsZWZ0OiA2MyU7XG4gICAgdG9wOiA2NyU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTI4IHtcbiAgICBsZWZ0OiA0Mi41JTtcbiAgICB0b3A6IDQwLjUlO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fbWFwLXBpbi0yOSB7XG4gICAgbGVmdDogNDUuNSU7XG4gICAgdG9wOiA0MiU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTMwIHtcbiAgICBsZWZ0OiAzOSU7XG4gICAgdG9wOiA0MyU7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19tYXAtcGluLTMxIHtcbiAgICBsZWZ0OiA0NCU7XG4gICAgdG9wOiAzNi41JTtcbiAgfVxufVxuXG4ucGluLWFuaW0tMSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIC4zcztcblxuICAmLmlzLWFuaW1hdGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucGluLWFuaW0tMiB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIC41cztcblxuICAmLmlzLWFuaW1hdGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucGluLWFuaW0tMyB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIC44cztcblxuICAmLmlzLWFuaW1hdGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucGluLWFuaW0tNCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIDEuNHM7XG5cbiAgJi5pcy1hbmltYXRpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnBpbi1hbmltLTUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyAxLjJzO1xuXG4gICYuaXMtYW5pbWF0aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5waW4tYW5pbS02IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgMS43cztcblxuICAmLmlzLWFuaW1hdGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucGluLWFuaW0tNyB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIDEuOHM7XG5cbiAgJi5pcy1hbmltYXRpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnBpbi1hbmltLTgge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyAyLjNzO1xuXG4gICYuaXMtYW5pbWF0aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLmluZm9ncmFwaGljX19zdGF0LWNvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMjApIHJnYmEoJGJsYWNrLCAuMik7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICN7JGdsb2JhbC1tYXJnaW4gKiAzfTtcbiAgICB3aWR0aDogOTIlO1xuICB9XG59XG5cbi5pbmZvZ3JhcGhpY19fc3RhdC1jb250YWluZXItLXRhYnMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAjeyRnbG9iYWwtbWFyZ2luICogM307XG4gICAgd2lkdGg6IDkyJTtcbiAgfVxufVxuXG4uaW5mb2dyYXBoaWNfX3N0YXQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nO1xuICB9XG5cbiAgJi5pbmZvZ3JhcGhpY19fc3RhdC0tY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmVyeS1saWdodC1ncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IDIyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206ICN7JGdsb2JhbC1tYXJnaW4gKiAyfTtcbiAgICB3aWR0aDogMjIwcHg7XG5cbiAgICAuaW5mb2dyYXBoaWNfX3N0YXQtbnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuICAgIH1cbiAgfVxufVxuXG4uaW5mb2dyYXBoaWNfX3N0YXQtc21hbGwge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmLnNlcGFyYXRvci1jZW50ZXIge1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgfVxuICB9XG59XG5cbi5pbmZvZ3JhcGhpY19fc3RhdC1tYWluIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICBsZWZ0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRvcDogMzBweDtcbiAgei1pbmRleDogMTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgdG9wOiAxNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGVmdDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaW5mb2dyYXBoaWNfX3N0YXQtbWFpbi10ZXh0IHtcbiAgICBib3R0b206IDE2cHg7XG4gICAgbGVmdDogMTEzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgfVxuICB9XG59XG5cbi5pbmZvZ3JhcGhpY19fc3RhdC1udW1iZXIge1xuICBjb2xvcjogJG1lZGl1bS1ibHVlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseS1hbHQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjcpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg0Nyk7XG4gIH1cblxuICAmLmluZm9ncmFwaGljX19zdGF0LW51bWJlci0tc21hbGwge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC03cHg7XG4gIH1cbn1cblxuLmluZm9ncmFwaGljX19zdGF0LW51bWJlci0tbGFyZ2Uge1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4MCk7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMjgpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxMjgpO1xuICB9XG59XG4iLCIubGluay0tY2FuY2VsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuIiwiLyogWUFQTFxubmFtZTogTGlzdFxucGFydGlhbDogc2ctbGlzdFxuc2VsZWN0b3I6IC5ydGYgdWxcbndyYXBwZXJDbGFzc2VzOiBydGZcbiovXG5cbi8qIFlBUExcbm5hbWU6IExpc3QgTm8gQnVsbGV0c1xubm90ZXM6IE9mdGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBMaXN0IE5vIEluZGVudFxucGFydGlhbDogc2ctbGlzdC1uby1idWxsZXRzXG5zZWxlY3RvcjogLmxpc3QtLW5vLWJ1bGxldHNcbiovXG5cbi8qIFlBUExcbm5hbWU6IExpc3QgTm8gSW5kZW50XG5ub3RlczogT2Z0ZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIExpc3QgTm8gQnVsbGV0c1xucGFydGlhbDogc2ctbGlzdC1uby1pbmRlbnRcbnNlbGVjdG9yOiAubGlzdC0tbm8taW5kZW50XG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBMaXN0IERvdWJsZSBTcGFjZWRcbnBhcnRpYWw6IHNnLWxpc3QtZG91YmxlLXNwYWNlZFxuc2VsZWN0b3I6IC5saXN0LS1kb3VibGUtc3BhY2VkXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBMaXN0IFBvcnRsZXRcbnBhcnRpYWw6IHNnLWxpc3QtcG9ydGxldFxuc2VsZWN0b3I6IC5saXN0LS1wb3J0bGV0XG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBMaXN0IHdpdGggQ2FyZXRzXG5ub3RlczogVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggTGlzdCBObyBCdWxsZXRzXG5wYXJ0aWFsOiBzZy1saXN0LWNhcmV0c1xuc2VsZWN0b3I6IC5saXN0LS1jYXJldHNcbiovXG5cblxuLmxpc3QtLW5vLWJ1bGxldHMge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4ubGlzdC0tbm8taW5kZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5saXN0LS1kb3VibGUtc3BhY2VkIHtcbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206ICN7JGdsb2JhbC1tYXJnaW4gKiAyfTtcbiAgfVxufVxuXG4ubGlzdC0tcG9ydGxldCB7XG4gIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubGlzdC0tY2FyZXRzIHtcblxuICBsaSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1saXN0LWNhcmV0LnBuZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICAgIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAocGhhYmxldCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5saXN0LS1jb2x1bW5zLTIge1xuICBjb2x1bW5zOiAyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgY29sdW1uczogMTtcbiAgfVxufVxuXG4vLyBFdmVudCBMYW5kaW5nIGxpc3QgaXRlbXNcblxuLmV2ZW50X19saXN0IHtcbiAgaDMge1xuICAgIGNvbG9yOiAkb2ZmLWJsYWNrO1xuICB9XG59XG5cbi5ldmVudF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWdyYXk7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG5cbi5ldmVudF9fYnV0dG9ucyB7XG4gIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5ldmVudF9fZGF0ZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1icm93bjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogJHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHktYWx0O1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nOiAwIC43NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogcmVtLWNhbGMoNjApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg3OCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB3aWR0aDogcmVtLWNhbGMoNzgpO1xuICB9XG59XG5cbi5ldmVudF9fZGV0YWlscyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLmxvY2F0aW9uc19fZ21hcCB7XG4gIGhlaWdodDogMzAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgb25seSkge1xuICAgIGhlaWdodDogNDUwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGhlaWdodDogNjAwcHg7XG4gIH1cbn1cblxuLmxvY2F0aW9uc19fZ21hcC1vdmVybGF5LFxuLmxvY2F0aW9uc19fZ21hcC1yZW5kZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmxvY2F0aW9uc19fZ21hcC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxvY2F0aW9uc19fZ21hcC1vdmVybGF5LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCB1cCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHRzIHtcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjQpO1xuICB9XG59XG5cbi5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0cy1jb3VudCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItdG9wOiA4cHggc29saWQgJGdyZWVuLWJsdWU7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAxZW0gMDtcbn1cblxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHRzLWxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogcmVtLWNhbGMoMzIpIDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxufVxuXG4ubG9jYXRpb25zX19saXN0LXJlc3VsdC1hZGRyZXNzLFxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtcGhvbmUge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0LWFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0LWNvbnRlbnQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5cbi5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0LWRlc2Mge1xuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBmbGV4OiAxIDEgNzAlO1xuICB9XG59XG5cbi5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0LWRpci1saW5rIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogI3skZ2xvYmFsLW1hcmdpbiAvIDJ9O1xuICB9XG59XG5cbi5sb2NhdGlvbnNfX2xpc3QtcmVzdWx0LWltZyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuXG4gIGltZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRncmVlbi1ibHVlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDhweDtcbiAgfVxufVxuXG4ubG9jYXRpb25zX19saXN0LXJlc3VsdC1tZXRhIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGZsZXg6IDAgMCAzMCU7XG4gICAgbWluLXdpZHRoOiAyMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4XG4gIH1cbn1cblxuLmxvY2F0aW9uc19fbGlzdC1yZXN1bHQtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICA+IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubG9jYXRpb25zX19saXN0LXNlYXJjaC1jb25uZWN0b3Ige1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCB1cCkge1xuICAgIG1hcmdpbi1sZWZ0OiAuNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAuNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbn1cblxuLmxvY2F0aW9uc19fbGlzdC1zZWFyY2gtZmllbGRzIHtcbiAgbWF4LXdpZHRoOiA4NzBweDtcbn1cblxuLmxvY2F0aW9uc19fbGlzdC1zZWFyY2gtZmllbGQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgdXApIHtcbiAgICBmbGV4OiAwIDEgMjYwcHg7XG5cbiAgICAmLS1sZyB7XG4gICAgICBmbGV4OiAwIDEgNTAwcHg7XG4gICAgfVxuXG4gICAgJi0tbWQge1xuICAgICAgZmxleDogMCAxIDMzMHB4O1xuICAgIH1cblxuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgfVxuICB9XG59XG5cbi5sb2NhdGlvbnNfX2xpc3Qtc2VhcmNoLXJvdyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCB1cCkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ubG9jYXRpb25zX19tYXAge1xuICBib3JkZXItdG9wOiA4cHggc29saWQgJGdyZWVuLWJsdWU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xufVxuXG4ubG9jYXRpb25zX19tYXAta2V5IHtcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xufVxuXG4ubG9jYXRpb25zX19tYXAta2V5LWl0ZW1zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmxvY2F0aW9uc19fbWFwLWtleS1pdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIDIzMHB4O1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZmxleDogMCAxIDUwJTtcbiAgfVxufVxuXG4ubG9jYXRpb25zX19tYXAta2V5LWl0ZW0taWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxleDogMCAwIGF1dG87XG4gIGhlaWdodDogcmVtLWNhbGMoNTMpO1xuICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgd2lkdGg6IHJlbS1jYWxjKDUzKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgJjpub3QoJi0tc20pIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gIH1cblxuICAmLS1zbSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDMyKTtcbiAgfVxufVxuXG4ubG9jYXRpb25zX19tYXAta2V5LWl0ZW0tbGFiZWwge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAmOm5vdCgmLS1zbSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxuICB9XG59XG5cbi5sb2NhdGlvbnNfX21hcC1sb2MtZmlsdGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZWNlY2U7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM4KTtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG4ubG9jYXRpb25zX19tYXAtbG9jLWZpbHRlci1hZGRyZXNzIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBmbGV4OiAwIDEgNTYlO1xuICB9XG59XG5cbi5sb2NhdGlvbnNfX21hcC1sb2MtZmlsdGVyLWFkZHJlc3MsXG4ubG9jYXRpb25zX19tYXAtbG9jLWZpbHRlci10aXRsZSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLmxvY2F0aW9uc19fbWFwLWxvYy1maWx0ZXItZGlzdGFuY2Uge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZmxleDogMCAxIDMxJTtcbiAgfVxufVxuXG4ubG9jYXRpb25zX19tYXAtbG9jLWZpbHRlci10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5sb2NhdGlvbnNfX21hcC1yZWZpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tYmx1ZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtLWNhbGMoMzApO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xuICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG59XG5cbi5sb2NhdGlvbnNfX21hcC1yZWZpbmUtYnRuLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ibHVlO1xuICB9XG59XG5cbi5sb2NhdGlvbnNfX21hcC1yZWZpbmUtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubG9jYXRpb25zX19tYXAtcmVzdWx0cyB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sb2NhdGlvbnNfX21hcC1yZXN1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCkgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDMwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICYtLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZTBkMjtcbiAgfVxuXG4gICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQpO1xuICB9XG59XG5cbi5sb2NhdGlvbnNfX21hcC1yZXN1bHQtYXJyb3cge1xuICBjb2xvcjogJG1lZGl1bS1ibHVlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubG9jYXRpb25zX19tYXAtcmVzdWx0LWFkZHJlc3MsXG4ubG9jYXRpb25zX19tYXAtcmVzdWx0LXBob25lIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5sb2NhdGlvbnNfX21hcC1yZXN1bHQtbGlua3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ3wnO1xuICAgIH1cbiAgfVxufVxuXG4ubG9jYXRpb25zX19tYXAtcmVzdWx0LW5hbWUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IC4yNWVtO1xufVxuXG4ubG9jYXRpb25zX19tYXAtcmVzdWx0cy1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubG9jYXRpb25zX19tYXAtcmVzdWx0cy1jb3VudCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbn1cblxuLmxvY2F0aW9uc19fbWFwLXNlYXJjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDMwKTtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5sb2NhdGlvbnNfX21hcC1zZWFyY2gtZmllbGRzIHtcbiAgcGFkZGluZzogMCByZW0tY2FsYygyNSkgcmVtLWNhbGMoMjUpO1xufVxuXG4ubG9jYXRpb25zX19saXN0LXNlYXJjaC10aXRsZSxcbi5sb2NhdGlvbnNfX21hcC1zZWFyY2gtdGl0bGUge1xuICBjb2xvcjogJGdyZWVuLWJsdWU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmxvY2F0aW9uc19fbWFwLXNlYXJjaC10aXRsZSB7XG4gIG1hcmdpbjogMDtcblxuICBidXR0b24ge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgaSB7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ibHVlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxufVxuXG4ubG9jYXRpb25zX19tYXAtd2luZG93IHtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiAxMHB4O1xuXG4gIGkge1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOSk7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnJ0ZiB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLmxvY2F0aW9uc19fZ21hcC1vdmVybGF5ICYge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIC5sb2NhdGlvbnNfX2dtYXAtcmVuZGVyICYge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwgMCwgMCwgLjI1KTtcbiAgICBtYXJnaW4tdG9wOiAtODBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gICAgd2lkdGg6IDQwMHB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg0MnB4LCByZ2JhKDI1NSwgMjU1LCAyNTUsIC45KSwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxudWwubG9jYXRpb25zX19tYXAtd2luZG93LWxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLjI1cmVtO1xuXG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1pbm5lciB7XG4gIHBhZGRpbmc6IDUlO1xufVxuXG4ubG9jYXRpb25zX19tYXAtd2luZG93LW1ldGEtYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1tZXRhLWhvdXJzIHtcbiAgY29sb3I6ICM1MDk0MGY7XG59XG5cbi5sb2NhdGlvbnNfX21hcC13aW5kb3ctbWV0YS1uYW1lIHtcbiAgZm9udC1zaXplOiAxLjE2NjdlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jb250ZW50LS1sZyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICAubG9jYXRpb25zX19tYXAtd2luZG93LWRlc2Mge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctbGlzdCB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1nYXA6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctbWV0YSB7XG4gICAgZmxleDogMCAwIDE3NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHhcbiAgfVxuXG4gIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctbWV0YS1ob3Vycy1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbn1cblxuLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1jb250ZW50LS1zbSB7XG4gIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctZGVzYyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG4gIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctaGlkZS1zbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5sb2NhdGlvbnNfX21hcC13aW5kb3ctbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAubG9jYXRpb25zX19tYXAtd2luZG93LW1ldGEtbGluayxcbiAgLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1tZXRhLW5hbWUge1xuICAgIGZsZXg6IDEgMCAxMDAlO1xuICB9XG5cbiAgLmxvY2F0aW9uc19fbWFwLXdpbmRvdy1tZXRhLWFkZHJlc3MtaG91cnMge1xuICAgIGZsZXg6IDAgMSA0MCU7XG4gIH1cblxuICAubG9jYXRpb25zX19tYXAtd2luZG93LW1ldGEtYWRkcmVzcy1waG9uZSB7XG4gICAgZmxleDogMCAxIDYwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5cblxuQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgLmxvY2F0aW9uc19fbWFwLXNlYXJjaC1maWVsZHMge1xuICAgIC5sb2NhdGlvbnNfX21hcC1zZWFyY2gtLWNvbGxhcHNlZCAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmxvY2F0aW9uc19fbWFwLXZpZXcge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAubG9jYXRpb25zX19zaWRlYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gIH1cblxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAubG9jYXRpb25zX19tYXAge1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg3MCk7XG4gIH1cblxuICAubG9jYXRpb25zX19tYXAtcmVzdWx0cy1jb3VudCxcbiAgLmxvY2F0aW9uc19fbGlzdC1zZWFyY2gtdGl0bGUsXG4gIC5sb2NhdGlvbnNfX21hcC1zZWFyY2gtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgfVxuXG4gIC5sb2NhdGlvbnNfX21hcC1yZXN1bHRzLWxpc3Qge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxuXG4gIC5sb2NhdGlvbnNfX21hcC1zZWFyY2gtdGl0bGUge1xuICAgIGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubG9jYXRpb25zX19zaWRlYmFyIHtcbiAgICBmbGV4OiAwIDAgcmVtLWNhbGMoMzAwKTtcbiAgfVxuXG59IiwiLm1haWxpbmctbGlzdF9faWNvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5LWFsdDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiByZW0tY2FsYyg2MCk7XG59XG4iLCIubWVudSB7XG4gIGEge1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgfVxuICB9XG59XG4iLCIubWljcm9zaXRlLWluZm8ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NlY2VjZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogNzdweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWljcm9zaXRlLWluZm9fX2JvZHkge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubWljcm9zaXRlLWluZm9fX2hlYWRpbmcge1xuICBoMyB7XG4gICAgY29sb3I6ICRjYXB0aW9uLWdyYXk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gIH1cbn1cblxuLm1pY3Jvc2l0ZS1pbmZvX19zdWJoZWFkaW5nIHtcbiAgY29sb3I6ICRncmVlbi1ibHVlO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLm1pY3Jvc2l0ZS1pbmZvX19kaXZpZGVyIHtcbiAgY29sb3I6ICNjZWNlY2U7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuICBtYXJnaW46IDAgOHB4O1xufVxuIiwiLyogWUFQTFxubmFtZTogTW9yZSBTZWN0aW9uXG5wYXJ0aWFsOiBtb3JlLXNlY3Rpb25cbnNlbGVjdG9yOiAubW9yZS1zZWN0aW9uXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBNb3JlIFNlY3Rpb24gLSBNaWNyb3NpdGVcbnBhcnRpYWw6IG1vcmUtc2VjdGlvbi1taWNyb3NpdGVcbnNlbGVjdG9yOiAubW9yZS1zZWN0aW9uLm1vcmUtc2VjdGlvbi0tbWljcm9zaXRlXG4qL1xuXG4ubW9yZS1zZWN0aW9uX19ibG9jayB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgYm9yZGVyOiAycHggc29saWQgJG1lZGl1bS1ibHVlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQsIGJvcmRlciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRvcmFuZ2U7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmljb24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogLTMwcHg7XG4gICAgdG9wOiAycHg7XG5cbiAgfVxuXG4gIC5tb3JlLXNlY3Rpb24tLW1pY3Jvc2l0ZSAmIHtcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDY0cHg7XG4gIH1cbn1cbiIsIi5vcmRlci0xLW1lZGl1bSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cblxuLm9yZGVyLTItbWVkaXVtIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBvcmRlcjogMjtcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogUGFkZGVkIEJveFxubm90ZXM6IDFyZW0gcGFkZGluZyBhcm91bmQgY29udGVudFxucGFydGlhbDogc2ctcGFkZGVkLWJveFxuc2VsZWN0b3I6IC5wYWRkZWQtYm94LTFcbiovXG5cbi8qIFlBUExcbm5hbWU6IFBhZGRlZCBCb3ggMS41XG5ub3RlczogMS41cmVtIHBhZGRpbmcgYXJvdW5kIGNvbnRlbnRcbnBhcnRpYWw6IHNnLXBhZGRlZC1ib3gtMS01XG5zZWxlY3RvcjogLnBhZGRlZC1ib3gtMS01XG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBQYWRkZWQgQm94IDJcbm5vdGVzOiAycmVtIHBhZGRpbmcgYXJvdW5kIGNvbnRlbnRcbnBhcnRpYWw6IHNnLXBhZGRlZC1ib3gtMlxuc2VsZWN0b3I6IC5wYWRkZWQtYm94LTJcbiovXG5cbi5wYWRkZWQtYm94LTEge1xuICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG59XG5cbi5wYWRkZWQtYm94LTEtNSB7XG4gIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nICogMS41fTtcbn1cblxuLnBhZGRlZC1ib3gtMiB7XG4gIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nICogMn07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBwYWRkaW5nOiAjeyRnbG9iYWwtcGFkZGluZyAqIDEuNX07XG4gIH1cbn1cbiIsIi8qIFlBUExcbm5hbWU6IFBhZ2luYXRpb25cbnBhcnRpYWw6IHBhZ2luYXRpb25cbnNlbGVjdG9yOiAucGFnaW5hdGlvblxuKi9cblxuXG4ucGFnaW5hdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46ICN7JGdsb2JhbC1tYXJnaW4gKiAyfSBhdXRvO1xuXG4gIGEge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNiZWJlYmU7XG4gICAgY29sb3I6ICRjYXB0aW9uLWdyYXk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHBhZGRpbmc6IDAgLjYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQsIGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCwgYm9yZGVyICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICB3aWR0aDogMzZweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgIHBhZGRpbmc6IDAgLjVyZW07XG4gICAgICB3aWR0aDogMzBweDtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmLmluYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjYmViZWJlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5wYWdpbmF0aW9uLS13aWR0aC1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdpbmF0aW9uLWVsbGlwc2lzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzNnB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogUG9ydGxldFxucGFydGlhbDogc2ctcG9ydGxldFxuc2VsZWN0b3I6IC5wb3J0bGV0XG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBQb3J0bGV0IFJvdW5kZWQgQ29ybmVyXG5wYXJ0aWFsOiBzZy1wb3J0bGV0LXJvdW5kZWRcbnNlbGVjdG9yOiAucG9ydGxldC5yb3VuZGVkLWNvcm5lclxuKi9cblxuLyogWUFQTFxubmFtZTogUG9ydGxldCB3aXRoIEltYWdlXG5wYXJ0aWFsOiBzZy1wb3J0bGV0LWltYWdlXG5zZWxlY3RvcjogLnBvcnRsZXQucG9ydGxldF9faW1hZ2VcbiovXG5cbi5wb3J0bGV0IHtcbiAgYm94LXNoYWRvdzogMCAwIDEuMjVyZW0gcmdiYSgxMCwgMTAsIDEwLCAuMik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IG9ubHkpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNjBweDtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgJGdyZWVuLWJsdWU7XG4gIH1cblxuICAmLnBvcnRsZXQtLW5vLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgfVxuXG4gICYucG9ydGxldC0tbm8tcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5wb3J0bGV0X19pbWFnZSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDYwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IG9ubHkpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzMHB4O1xuICAgIHdpZHRoOiAzMy4zMzMzJSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCB1cCkge1xuICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG59XG5cbi5wb3J0bGV0X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICB9XG59XG5cbi5wb3J0bGV0X190ZXh0IHtcblxuICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgJGdyZWVuLWJsdWU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IG9ubHkpIHtcbiAgICB3aWR0aDogNjYuNjY2NiUgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogUXVvdGVcbnBhcnRpYWw6IHNnLXF1b3RlXG5zZWxlY3RvcjogLnF1b3RlXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBRdW90ZSB3aXRoIEltYWdlXG5wYXJ0aWFsOiBzZy1xdW90ZS1pbWFnZVxuc2VsZWN0b3I6IC5xdW90ZV9faW1hZ2UtY29udGFpbmVyXG4qL1xuXG4ucXVvdGUge1xuICBwYWRkaW5nOiAwIDgwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBtYXJnaW4tdG9wOiAjeyRnbG9iYWwtbWFyZ2luICogMn07XG4gICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmc7XG4gIH1cbn1cblxuLnF1b3RlX190ZXh0IHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDEwcHggcmdiYSgxMCwgMTAsIDEwLCAuMik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDA7XG4gIH1cbn1cblxuLnF1b3RlX19hdXRob3Ige1xuICBjb2xvcjogJG9yYW5nZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZy1sZWZ0OiAxNTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA5cHg7XG4gICAgd2lkdGg6IDE0MnB4O1xuICB9XG59XG5cbi5xdW90ZV9fbW9yZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAuaWNvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IDI2cHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgfVxufVxuXG4ucXVvdGVfX2ltYWdlLWNvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogOHB4IHNvbGlkICNjYWJjOWQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnF1b3RlX19pbWFnZSB7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuIiwiLnJldmVhbCB7XG5cbiAgJi5mdWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgLjgpO1xuICB9XG5cbiAgaWZyYW1lIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICAgIGNvbG9yOiAjZTM2MDE4O1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiA0MHB4O1xuICAgIHdpZHRoOiA1NnB4O1xuICB9XG59XG4iLCIucm91bmRlZC1ib3gge1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgJi5yb3VuZGVkLWJveF9fc2hhZG93IHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2MHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYygxMCkgcmdiYSgkYmxhY2ssIC4yKTtcbiAgfVxufVxuXG4ucm91bmRlZC1ib3hfX2hlYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWJsdWU7XG4gIGhlaWdodDogMTczcHg7XG4gIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nICogMn07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAucm91bmRlZC1ib3gtLWdyZWVuICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1ibHVlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogI3skZ2xvYmFsLXBhZGRpbmcgKiAxLjV9O1xuICB9XG5cbiAgLnJvdW5kZWQtYm94LS1taWNyb3NpdGUgJiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZWNlY2U7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRtZWRpdW0tYmx1ZTtcbiAgICBjb2xvcjogJG1lZGl1bS1ibHVlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiA3N3B4O1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAjeyRnbG9iYWwtcGFkZGluZyAqIDJ9O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAucm91bmRlZC1ib3gtLW1pY3Jvc2l0ZV9fZ3JlZW4tYmx1ZSAmIHtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgJGdyZWVuLWJsdWU7XG4gIH1cbn1cblxuLnJvdW5kZWQtYm94X19ib2R5IHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2MHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE3M3B4KTtcbiAgcGFkZGluZzogI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nICogMn0gJGdsb2JhbC1wYWRkaW5nO1xuICB9XG5cbiAgJi5yb3VuZGVkLWJveF9fc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMTApIHJnYmEoJGJsYWNrLCAuMik7XG4gIH1cblxuICAucm91bmRlZC1ib3gtLW1pY3Jvc2l0ZSAmIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4ucm91bmRlZC1ib3hfX2JvZHktdGl0bGUge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhhYmxldCBkb3duKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gIH1cbn1cblxuLnJvdW5kZWQtYm94X190aXRsZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBoYWJsZXQgZG93bikge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICB9XG5cbiAgLnJvdW5kZWQtYm94LS1taWNyb3NpdGUgJiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gIH1cbn1cbiIsIi5yb3VuZGVkLWNvcm5lciB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDYwcHg7XG59XG5cbi5yb3VuZGVkLWNvcm5lci0tc21hbGwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzMHB4O1xufVxuXG4ucm91bmRlZC1jb3JuZXItLXRvcC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxufVxuIiwiLnJ0ZiB7XG4gIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAjeyRnbG9iYWwtbWFyZ2luICogMn07XG4gIH1cbn1cbiIsIi5zZWFyY2hfX3RvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkLCBjb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gIHdpZHRoOiA0MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjE1ZW07XG4gICAgbGVmdDogMTFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7XG4gIH1cblxuICAmLmlzLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAuaWNvbiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAncycgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNlYXJjaC0tc3VibG9jYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgIH1cbiAgfVxuXG4gICYuc2VhcmNoX190b2dnbGUtLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWJsdWU7XG4gICAgfVxuICB9XG59XG5cbi5zZWFyY2gge1xuXG4gICYuc2VhcmNoLS1tYWluIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAkZGFyay1ibHVlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDQ7XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAzMHB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTQ2cHg7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLmhlYWRlci0tbWljcm9zaXRlICYge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmLnNlYXJjaC0tbW9iaWxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5zZWFyY2hfX2lucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAuaGVhZGVyLW1haW4gJiB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zZWFyY2hfX2lucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1ncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAjeyRnbG9iYWwtcGFkZGluZyAqIDEuNX07XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItZ3JheTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDA7XG4gICAgfVxuXG4gICAgLmhlYWRlci1tYWluICYge1xuICAgICAgaGVpZ2h0OiA3MXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIC5zZWFyY2gtLW1vYmlsZSAmIHtcbiAgICAgIGhlaWdodDogNTdweDtcbiAgICAgIGxlZnQ6IDUlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICB9XG4gIH1cblxuICAuc2VhcmNoX19idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTBweDtcbiAgICB0b3A6IDEycHg7XG4gICAgd2lkdGg6IDQwcHg7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmhlYWRlci1tYWluICYge1xuICAgICAgdG9wOiA4cHg7XG4gICAgfVxuXG4gICAgLnNlYXJjaC0tbW9iaWxlICYge1xuICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICB0b3A6IDRweDtcbiAgICB9XG5cblxuICAgIC5pY29uLS1zZWFyY2gge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICByaWdodDogLTNweDtcbiAgICAgIHRvcDogMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE1ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICAuc2VhcmNoLS1tYWluICYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTAlO1xuICAgIHRvcDogNDBweDtcbiAgfVxuXG4gIC5zZWFyY2gtLW1vYmlsZSAmIHtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDVweDtcbiAgfVxufVxuIiwiLnNlcGFyYXRvci0tZ3JlZW4ge1xuXG4gICY6OmFmdGVyIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkZ3JlZW4tYmx1ZTtcbiAgfVxufVxuXG5cbi5zZXBhcmF0b3ItY2VudGVyIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDJzO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgJi5pcy1hbmltYXRpbmcsXG4gIC5pcy1hbmltYXRpbmcgJiB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDNyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICAgIHdpZHRoOiAzcmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogVGFibGVcbm5vdGVzOiB3cmFwcGluZyBkaXYgd2l0aCB0YWJsZS1zY3JvbGwgYWxsb3dzIGhvcml6b250YWwgc2Nyb2xsIGF0IHNtYWxsIG1lZGlhIHF1ZXJpZXNcbnBhcnRpYWw6IHNnLXRhYmxlXG5zZWxlY3RvcjogLnRhYmxlLnRhYmxlLS1ob3Jpem9udGFsXG4qL1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1pbXBvcnRhbnRcblxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcblxuLnRhYmxlLXNjcm9sbCB7XG4gIHdpZHRoOiAxMDAuNSU7IC8vIGZpeCBmb3IgZmlyZWZveCBzY3JvbGxiYXIgaXNzdWVcblxuICB0YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtaW4td2lkdGg6IDk5LjUlO1xuICB9XG59XG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHIge1xuXG4gICAgdGgge1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgdGhlYWQge1xuICAgIHRyIHtcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M2YTA2YztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOThlNWE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICB0ZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZTllOTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuIiwiLyogWUFQTFxubmFtZTogVGFicyBIb3Jpem9udGFsXG5wYXJ0aWFsOiBzZy10YWJzLWhvcml6b250YWxcbnNlbGVjdG9yOiAuYmFzaWMtdGFicy50YWJzXG4qL1xuXG4vKiBZQVBMXG5uYW1lOiBUYWJzIFZlcnRpY2FsXG5wYXJ0aWFsOiBzZy10YWJzLXZlcnRpY2FsXG5zZWxlY3RvcjogLmJhc2ljLXRhYnMudGFicy50YWJzLS12ZXJ0aWNhbFxuKi9cblxuLmJhc2ljLXRhYnMge1xuICBib3JkZXI6IDA7XG5cbiAgLnRhYnMtY29udGVudCxcbiAgLnRhYnMtdGl0bGUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxLjI1cmVtIHJnYmEoMTAsIDEwLCAxMCwgLjIpO1xuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDEwcHggMCAwICRwcmltYXJ5LWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDE1NCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUgYSB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDEwcHggMCAwICRkYXJrLWJsdWU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAvLyBzaGFkb3cgY292ZXIgc2hpbVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJi50YWJzLS1jb250YWN0LWZvcm0ge1xuICAgIC50YWJzLXRpdGxlIHtcbiAgICAgIGEge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFicy1wYW5lbCB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDJyZW0gMnJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAyLjVyZW0gMi41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYudGFicy0tdmVydGljYWwge1xuXG5cbiAgICAudGFicy1jb250ZW50IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIH1cblxuICAgIC50YWJzLXRpdGxlIHtcbiAgICAgIEBleHRlbmQgJXZlcnRpY2FsLW1hcmdpbi1oYWxmO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygxMHB4KSBzb2xpZCAkbWVkaXVtLWJsdWU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMjApIHJnYmEoJGJsYWNrLCAuMik7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWluLWhlaWdodDogNzZweDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1sZWZ0LWNvbG9yIC4yNXM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vcmlnaHQ6IHJlbS1jYWxjKC0kdGFiLXNoYWRvdy13ZWlnaHQpO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGV4dGVuZCAldmVydGljYWwtbWFyZ2luLTA7XG4gICAgICB9XG5cbiAgICAgICYuaXMtYWN0aXZlLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGRhcmstYmx1ZTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkZGFyay1ibHVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIHJlbS1jYWxjKDIwKSByZ2JhKCRibGFjaywgLjIpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgIH1cblxuICAgICAgPiBhIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMDtcbiAgICAgICAgY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiA3NnB4O1xuICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi50aWxlIHtcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcblxuICAgICYuY2VsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAudGlsZV9faW1hZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cblxuICAgIC50aWxlX190ZXh0IHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlO1xuXG4gICAgICAuaWNvbi0tYXJyb3ctcmlnaHQge1xuICAgICAgICBjb2xvcjogIzUwNTA1MDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnRpbGUtLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogMCAwIHJlbS1jYWxjKDEwKSByZ2JhKCRibGFjaywgLjI1KTtcbiAgfVxufVxuXG4udGlsZS0tbWF4LXdpZHRoIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMzAwcHg7XG59XG5cbi50aWxlX19oZWFkZXIge1xuICBjb2xvcjogJG9mZi1ibGFjaztcbiAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaGFibGV0IGRvd24pIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLnRpbGVfX2ltYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xufVxuXG4udGlsZV9fdGFnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxlZnQ6IDE4cHg7XG4gIHBhZGRpbmc6ICN7JGdsb2JhbC1wYWRkaW5nIC8gNH0gI3skZ2xvYmFsLXBhZGRpbmcgLyAyfTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0b3A6IDIwcHg7XG4gIHotaW5kZXg6IDk7XG5cbiAgJi50aWxlX190YWctLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG1lZGl1bS1ibHVlLCAuOSk7XG4gIH1cblxuICAmLnRpbGVfX3RhZy0tb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRvcmFuZ2UsIC45KTtcbiAgfVxuXG4gICYudGlsZV9fdGFnLS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JlZW4tYmx1ZSwgLjkpO1xuICB9XG5cbiAgJi50aWxlX190YWctLWJyb3duIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRtZWRpdW0tYnJvd24sIC45KTtcbiAgfVxufVxuXG4udGlsZV9fdGV4dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiA0NHB4ICN7JGdsb2JhbC1wYWRkaW5nICogMn0gMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAuaWNvbi0tYXJyb3ctcmlnaHQge1xuICAgIHRyYW5zaXRpb246IGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgfVxuXG4gICYudGlsZV9fdGV4dC0tZXF1YWwtcGFkZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAjeyRnbG9iYWwtcGFkZGluZyAqIDEuNX07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIGg0IHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIH1cbn1cblxuLnRpbGVfX3RleHQtbGluayB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIC5pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICN7JGdsb2JhbC1tYXJnaW4gLyAyfTtcbiAgfVxufVxuXG4udGlsZV9faWNvbiB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMjhweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjhweDtcbiAgei1pbmRleDogMTtcblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTVweDtcbiAgfVxuXG4gICYuaWNvbi0tcGF0aWVudC1zdG9yeSxcbiAgJi5pY29uLS10cmVhdG1lbnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gICYuaWNvbi0tdHJlYXRtZW50IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAxNnB4O1xuICAgIH1cbiAgfVxufVxuXG4udGlsZV9fbGlzdCB7XG4gIG1hcmdpbjogJGdsb2JhbC1tYXJnaW4gMDtcblxuICA+IGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWdyYXk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTIpIDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmLnRpbGVfX2xpc3QtLXNlbWlib2xkICB7XG5cbiAgICA+IGEge1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICAgIH1cbiAgfVxuXG4gICYudGlsZV9fbGlzdC0tYm9yZGVyLWJvdHRvbSAge1xuXG4gICAgPiBhIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWdyYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYXdlc29tcGxldGUge1xuICBkaXNwbGF5OiBibG9jaztcbn0iLCIvKiBZQVBMXG5uYW1lOiBVcGNvbWluZyBFdmVudHNcbnBhcnRpYWw6IGhwLXVwY29taW5nLWV2ZW50c1xuc2VsZWN0b3I6IC51cGNvbWluZy1ldmVudHNcbiovXG5cbi8qIFlBUExcbm5hbWU6IFVwY29taW5nIEV2ZW50cyBNaWNyb3NpdGVcbnBhcnRpYWw6IHNnLXVwY29taW5nLWV2ZW50cy1taWNyb3NpdGVcbnNlbGVjdG9yOiAudXBjb21pbmctZXZlbnRzLnVwY29taW5nLWV2ZW50cy0tbWljcm9zaXRlXG4qL1xuXG5cbi51cGNvbWluZy1ldmVudHMge1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBsaSB7XG4gICAgbWFyZ2luLXRvcDogI3skZ2xvYmFsLW1hcmdpbiAqIDJ9O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC51cGNvbWluZy1ldmVudHNfX2l0ZW0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG5cbiAgICAgIC51cGNvbWluZy1ldmVudHNfX2RhdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC51cGNvbWluZy1ldmVudHNfX2l0ZW0tZGV0YWlsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHRyYW5zaXRpb246IGNvbG9yICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudXBjb21pbmctZXZlbnRzX19kYXRlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1icm93bjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5LWFsdDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBoZWlnaHQ6IDc4cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIHdpZHRoOiA3OHB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuICAgIH1cbiAgfVxuXG4gICYudXBjb21pbmctZXZlbnRzLS1taWNyb3NpdGUge1xuXG4gICAgbGkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjY2VjZWNlO1xuICAgICAgbWFyZ2luLXRvcDogI3skZ2xvYmFsLW1hcmdpbiAqIDEuNX07XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC51cGNvbWluZy1ldmVudHNfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1ib3R0b206ICN7JGdsb2JhbC1wYWRkaW5nICogMS41fTtcbiAgICB9XG5cbiAgICAudXBjb21pbmctZXZlbnRzX19kYXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGhlaWdodDogNjNweDtcbiAgICAgIHdpZHRoOiA2M3B4O1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnVwY29taW5nLWV2ZW50c19faXRlbS1kZXRhaWwge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICB9XG59XG4iLCIudXBkYXRlcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IC01NXB4O1xuICB0b3A6IDI0OHB4O1xuICB6LWluZGV4OiAxMjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udXBkYXRlc19fYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTZweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDE2cHg7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICB3aWR0aDogMTYycHg7XG5cbiAgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xuICAgIGNvbG9yOiAkbGlnaHQtYnJvd247XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIHdpZHRoOiAyNnB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZDc4MjE7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4udXBkYXRlc19fYnV0dG9uLXRleHQge1xuICBtYXJnaW4tbGVmdDogNnB4O1xufVxuXG4udXBkYXRlc19fZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tYmx1ZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNDBweDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogI3skZ2xvYmFsLXBhZGRpbmcgKiAyfTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogNzA3cHg7XG4gIHotaW5kZXg6IDExO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgKG1heC1oZWlnaHQ6IDYwMHB4KSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcbiAgfVxufVxuXG4udXBkYXRlc19fYm9keSB7XG4gICoge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gIH1cbn1cblxuLnVwZGF0ZXNfX2NoZWNrYm94IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcblxuICBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICB9XG59XG5cbi51cGRhdGVzX19pbnB1dC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGlucHV0IHtcblxuICAgICY6Zm9jdXMgICsgbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOnZhbGlkICsgbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBsYWJlbCB7XG4gICAgY29sb3I6ICM2NTY1NjU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZWZ0OiAxMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgei1pbmRleDogMTtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgfVxuICB9XG59XG5cbi51cGRhdGVzX19pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItZ3JheTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogIzY1NjU2NTtcbiAgaGVpZ2h0OiA0NnB4O1xufVxuXG4udXBkYXRlc19fbGVnYWwge1xuICBmb250LXNpemU6IDEzcHg7XG59XG4iLCIuc2ctYmxvY2tfX2xpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gID4gbGkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLnNnLWJsb2NrX19tb2R1bGUtbGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4uc2ctaGVhZGVyX19sZWZ0IHtcbiAgaW1nIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5vLWltcG9ydGFudFxuXG4vL2FkZGluZyBhIGNsYXNzIG9mIGhpZGUtZm9yLXByaW50IHRvIGFueSBlbGVtZW50IHdpbGwgaGlkZSB0aGF0IGVsZW1lbnQgd2hlbiBwcmludGluZ1xuQG1lZGlhIHByaW50IHtcblxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBbaHJlZl0ge1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vZWxlbWVudHMgbm90IHJlbGF0ZWQgdG8gbWFpbiBjb250ZW50IHRvIGJlIGhpZGRlbiB3aGlsZSBwcmludGluZ1xuICAuYWNjb3JkaW9uX19hcnJvdyxcbiAgLmFjY29yZGlvbl9fYnV0dG9uLFxuICAuYWNjb3JkaW9uLS1zZWFyY2gsXG4gIC5hbHBoYWJldC1saXN0LFxuICAuYnV0dG9uLFxuICAuYnV0dG9uX19jb250YWluZXIsXG4gIC5jaGF0LFxuICAuY3RhLFxuICAuZGlhZ29uYWxzLFxuICAuZG9jLXByb2ZpbGVfX3JlZmluZS1jb2wsXG4gIC5maWx0ZXIsXG4gIC5mb2xsb3csXG4gIC5mb2xsb3dfX2ZhY2Vib29rLFxuICAuZm9sbG93X19pY29ucyxcbiAgLmZvb3Rlci1tYWluX19sb2dvLFxuICAuZm9vdGVyX19zb2NpYWwsXG4gIC5mb290ZXJfX3V0aWxpdHksXG4gIC5mdXR1cmUsXG4gIC5oZWFkZXJfX2JhY2stbGluayxcbiAgLmhlcm9fX2ltYWdlLFxuICAuaGVyby1uYXZfX3NlY3Rpb24tY29udGFpbmVyLFxuICAuaHAtcG9ydGxldHMsXG4gIC5pbmZvZ3JhcGhpYyxcbiAgLmluZm9ncmFwaGljX19zdGF0LWNvbnRhaW5lci0tdGFicyxcbiAgLy8ubG9jYXRpb25zX19tYXAtY2FudmFzLFxuICAubW9yZS1zZWN0aW9uLFxuICAubW9yZS1zZWN0aW9uX19ibG9jayxcbiAgLm5hdi1tYWluLFxuICAubmF2X19zZWNvbmRhcnksXG4gIC5uYXYtdXRpbGl0eSxcbiAgLm5hdi1icmVhZGNydW1ic19fbW9iaWxlLXRvZ2dsZSxcbiAgLm5hdi1icmVhZGNydW1ic19fc3VibWVudSxcbiAgLm5hdi1icmVhZGNydW1ic19faWNvbixcbiAgLm5hdi1icmVhZGNydW1ic19fc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUsXG4gIC5wYWdpbmF0aW9uLFxuICAucG9ydGxldCxcbiAgLnF1b3RlLFxuICAucXVvdGVfX2ltYWdlLWNvbnRhaW5lcixcbiAgLnNlYXJjaF9fdG9nZ2xlLFxuICAuc29jaWFsLFxuICAudGlsZV9faGVhZGVyLFxuICAudGlsZV9faGVhZGVyICsgZGl2LFxuICAudXBkYXRlcyxcbiAgLnZpZGVvLFxuICAudmlldy1tb3JlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAud2hpdGUsXG4gIC5vcmFuZ2UsXG4gIC5ncmF5LFxuICAubWVkaXVtLWJyb3duLFxuICAucmVkLFxuICAuZ3JlZW4tYmx1ZSxcbiAgLm1lZGl1bS1ibHVlIHtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICB9XG5cblxuICAuYWxpZ24tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJycgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uLS1taWNyb3NpdGUgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYXJ0aWNsZV9faGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG5cbiAgICA+IC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuYmFja2dyb3VuZC1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG5cbiAgLmJvcmRlci0tZ3JlZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC5ib3JkZXItZ3JlZW4tYm90dG9tIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5ib3gge1xuICAgIHBhZGRpbmc6IDFyZW0gMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmJveC0tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMXJlbSAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYm94LmJveC0tbWFyZ2luLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAqW2NsYXNzKj0nYmFja2dyb3VuZC0tJ10sXG4gICpbY2xhc3MqPSdib3JkZXJlZC1lbGVtZW50LS0nXSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC5jYXJlZXJzLWluZm8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvL2hpZGUgY2hlY2tib3ggb24gam9icyByZXN1bHRzIGZvciBwcmludFxuICAuY2FyZWVycy1yZXN1bHRzIHRhYmxlIHRyIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5maWd1cmVfX2NhcHRpb24ge1xuICAgIG1heC13aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gIH1cblxuICAuZmlndXJlX19pbWFnZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmlndXJlX192aWRlbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5maWd1cmUuZmxvYXQtbGVmdCxcbiAgLmZpZ3VyZS0tc21hbGwsXG4gIC5maWd1cmUuZmxvYXQtbGVmdC5maWd1cmUtLW9mZnNldCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAuZmlndXJlLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAuZm9vdGVyLW1haW4ge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cblxuICAuZm9vdGVyLW1haW5fX2FkZHJlc3Mge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLmZvb3Rlci1tYWluX19pbmZvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5mb290ZXItbWFpbiB7XG4gICAgLmNvbnRhY3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgdG9wOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaGVhZGVyLW1haW5fX3N0aWNreSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaGVybyxcbiAgLmhlcm9fX3dyYXAge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5oZXJvLWRpcmVjdGlvbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oZXJvX19vdmVybGF5IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmhlcm9fX3RleHRib3gge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLm1pY3Jvc2l0ZS1pbmZvIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG5cbiAgLnJvdW5kZWQtYm94X19oZWFkaW5nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLnJvdW5kZWQtYm94X19oZWFkaW5nLFxuICAucm91bmRlZC1ib3hfX2JvZHkge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgLnJ0ZiB7XG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYge1xuICAgICAgbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgbGkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMge1xuICAgIC5jZWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuXG4gICpbY2xhc3MqPSd2ZXJ0aWNhbC1tYXJnaW4tJ10ge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG5cblxufVxuIl19 */
