@charset "UTF-8";
/* CSU Signature Sizes
	 * acronym:  609 x 229 -- min: 113 -- max: 146
	 * stacked:  929 x 229 -- min: 172 -- max: 221
	 * oneline: 1883 x 229 -- min: 350 -- max: 450
	 */
@keyframes sync-spinner {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-360deg); } }

@keyframes button-in {
  0% {
    opacity: 0.000;
    transform: scale3d(0, 0, 0); }
  50% {
    opacity: 0.785;
    transform: sscale3d(1, 1, 1); }
  100% {
    opacity: 0.785;
    transform: sscale3d(2, 2, 2); } }

@keyframes button-out {
  0% {
    opacity: 1.000;
    transform: scale3d(2, 2, 2); }
  50% {
    opacity: 1.000;
    transform: sscale3d(1, 1, 1); }
  100% {
    visibility: hidden;
    opacity: 0.000;
    transform: sscale3d(0, 0, 0); } }

@keyframes button-faderade {
  0% {
    border-color: #D7D392; }
  17% {
    border-color: #C0D62A; }
  33% {
    border-color: #E35530; }
  50% {
    border-color: #349AAA; }
  66% {
    border-color: #156140; }
  83% {
    border-color: #85BAAF; }
  100% {
    border-color: #D7D392; } }

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

/*! normalize-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&medium=40em&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: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

select {
  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.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: -ms-flexbox;
  display: flex;
  -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 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -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 {
      -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.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

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

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

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -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: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -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: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -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: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: geometricPrecision; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  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: #1570AC;
  text-decoration: underline;
  cursor: pointer; }
  a:hover, a:focus {
    color: #126094; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.button {
  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: #1570AC;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #125f92;
    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: #1570AC;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #115a8a;
      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: #1570AC;
      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: #1570AC;
        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 #1570AC;
    color: #1570AC; }
    .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: #0b3856;
      color: #0b3856; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #1570AC;
        color: #1570AC; }
    .button.hollow.primary {
      border: 1px solid #1570AC;
      color: #1570AC; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0b3856;
        color: #0b3856; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #1570AC;
          color: #1570AC; }
    .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 #1570AC;
    color: #1570AC; }
    .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: #0b3856;
      color: #0b3856; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #1570AC;
        color: #1570AC; }
    .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 #1570AC;
      color: #1570AC; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0b3856;
        color: #0b3856; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #1570AC;
          color: #1570AC; }
      .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: #1570AC; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1570AC; }
  .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; }

.accordion {
  margin-left: 0;
  background: rgba(255, 255, 255, 0);
  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: none;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #DADEEB; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: none;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: rgba(255, 255, 255, 0.035); }

.accordion-content {
  display: none;
  padding: 2rem;
  border: none;
  border-bottom: 0;
  background-color: rgba(255, 255, 255, 0.035);
  color: #DADEEB; }
  :last-child > .accordion-content:last-child {
    border-bottom: none; }

.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: #1570AC 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 {
  transform: rotate(180deg);
  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: #1570AC transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  transform: scaleY(-1);
  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; }

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

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

.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: #1570AC 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: #1570AC; }

.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 #1570AC 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 #1570AC; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1570AC 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 #1570AC 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 #1570AC; } }

@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: #1570AC 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 #1570AC 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 #1570AC; } }

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

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    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 #1570AC 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 #1570AC; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 40;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1), visibility 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  background: rgba(5, 15, 8, 0.625);
  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: 41;
  transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 41; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 42; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 41;
  transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 41; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 42; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 28rem;
  transform: translateX(-28rem); }
  .off-canvas-content .off-canvas.position-left {
    transform: translateX(-28rem); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    transform: translateX(28rem); }
  .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: 28rem;
  transform: translateX(28rem); }
  .off-canvas-content .off-canvas.position-right {
    transform: translateX(28rem); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    transform: translateX(-28rem); }
  .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;
  transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    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;
  transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  transform: none;
  transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 41;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 28rem; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 28rem; }
  .position-right.reveal-for-medium {
    transform: none;
    z-index: 41;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 28rem; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 28rem; }
  .position-top.reveal-for-medium {
    transform: none;
    z-index: 41;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 28rem; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 28rem; }
  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 41;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 28rem; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 28rem; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 41;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 28rem; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 28rem; }
  .position-right.reveal-for-large {
    transform: none;
    z-index: 41;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 28rem; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 28rem; }
  .position-top.reveal-for-large {
    transform: none;
    z-index: 41;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 28rem; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 28rem; }
  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 41;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 28rem; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 28rem; } }

@media print, screen and (min-width: 40em) {
  .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;
      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;
      transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

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(5, 15, 8, 0.915);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 2rem 2rem 2rem 2rem;
  border: none;
  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: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .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; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: none;
    background-color: rgba(255, 255, 255, 0); }
  caption {
    padding: 0.125rem 0.75rem 0rem 0.75rem;
    font-weight: bold; }
  thead {
    background: rgba(10, 51, 33, 0.835);
    color: white; }
  tfoot {
    background: rgba(217, 217, 217, 0);
    color: #0a0a0a; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.125rem 0.75rem 0rem 0.75rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.125rem 0.75rem 0rem 0.75rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: rgba(255, 255, 255, 0.035); }
  table.unstriped tbody {
    background-color: rgba(255, 255, 255, 0); }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: none;
      background-color: rgba(255, 255, 255, 0); }

@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: rgba(8, 42, 27, 0.835); }

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -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: #1570AC; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1779ba; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1570AC; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #126094; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1570AC; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Decima Mono */
@font-face {
  font-family: 'Decima Mono';
  src: url("../fonts/decima/DecimaMonoPro_Lite.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Decima Mono';
  src: url("../fonts/decima/DecimaMonoPro_Font.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Decima Mono';
  src: url("../fonts/decima/DecimaMonoPro_Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

/* codicons */
@font-face {
  font-family: 'codicons';
  src: url("../fonts/codicons/codicons.woff") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

/* Saira */
@font-face {
  font-family: 'Saira Condensed';
  src: url("../fonts/saira/SairaCondensed-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Saira Condensed';
  src: url("../fonts/saira/SairaCondensed-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Saira Condensed';
  src: url("../fonts/saira/SairaCondensed-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Saira Condensed';
  src: url("../fonts/saira/SairaCondensed-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Saira Condensed';
  src: url("../fonts/saira/SairaCondensed-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Saira Condensed';
  src: url("../fonts/saira/SairaCondensed-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Saira';
  src: url("../fonts/saira/SairaSemiCondensed-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Saira';
  src: url("../fonts/saira/SairaSemiCondensed-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Saira';
  src: url("../fonts/saira/SairaSemiCondensed-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Saira';
  src: url("../fonts/saira/SairaSemiCondensed-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }

/* Klavika */
@font-face {
  font-family: 'Klavika Condensed';
  src: url("../fonts/klavika/Klavika-RegularCond.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Klavika Condensed';
  src: url("../fonts/klavika/Klavika-RegularCondItalic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Klavika Condensed';
  src: url("../fonts/klavika/Klavika-MediumCond.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Klavika Condensed';
  src: url("../fonts/klavika/Klavika-BoldCond.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Klavika Condensed';
  src: url("../fonts/klavika/Klavika-BoldCondItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Klavika';
  src: url("../fonts/klavika/Klavika-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Klavika';
  src: url("../fonts/klavika/Klavika-LightItalic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Klavika';
  src: url("../fonts/klavika/Klavika-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Klavika';
  src: url("../fonts/klavika/Klavika-RegularItalic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Klavika';
  src: url("../fonts/klavika/Klavika-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Klavika';
  src: url("../fonts/klavika/Klavika-MediumItalic.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Klavika';
  src: url("../fonts/klavika/Klavika-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Klavika';
  src: url("../fonts/klavika/Klavika-BoldItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap; }

/* Industry */
@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_book_macroman/Industry-Book-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_book_macroman/Industry-Book-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_book_macroman/Industry-Book-webfont.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_bookitalic_macroman/Industry-BookItalic-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_bookitalic_macroman/Industry-BookItalic-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_bookitalic_macroman/Industry-BookItalic-webfont.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_medium_macroman/Industry-Medium-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_medium_macroman/Industry-Medium-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_medium_macroman/Industry-Medium-webfont.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_mediumitalic_macroman/Industry-MediumItalic-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_mediumitalic_macroman/Industry-MediumItalic-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_mediumitalic_macroman/Industry-MediumItalic-webfont.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_demi_macroman/Industry-Demi-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_demi_macroman/Industry-Demi-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_demi_macroman/Industry-Demi-webfont.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_demiitalic_macroman/Industry-DemiItalic-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_demiitalic_macroman/Industry-DemiItalic-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_demiitalic_macroman/Industry-DemiItalic-webfont.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_bold_macroman/Industry-Bold-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_bold_macroman/Industry-Bold-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_bold_macroman/Industry-Bold-webfont.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_bolditalic_macroman/Industry-BoldItalic-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_bolditalic_macroman/Industry-BoldItalic-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_bolditalic_macroman/Industry-BoldItalic-webfont.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_black_macroman/Industry-Black-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_black_macroman/Industry-Black-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_black_macroman/Industry-Black-webfont.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Industry';
  src: url("//static.colostate.edu/fonts/industry/industry_blackitalic_macroman/Industry-BlackItalic-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/industry/industry_blackitalic_macroman/Industry-BlackItalic-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/industry/industry_blackitalic_macroman/Industry-BlackItalic-webfont.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap; }

/* Proxima Nova */
@font-face {
  font-family: 'ProximaNova';
  src: url("../fonts/proxima/ProximaNova_SemiBold.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'ProximaNova';
  src: url("../fonts/proxima/ProximaNova_Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

/* Vitesse */
@font-face {
  font-family: 'Vitesse';
  src: url("../fonts/vitesse/Vitesse-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Vitesse';
  src: url("../fonts/vitesse/Vitesse-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

/* Factoria */
@font-face {
  font-family: 'Factoria';
  src: url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.eot");
  src: url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.eot?#iefix") format("embedded-opentype"), url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Factoria';
  src: url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.eot");
  src: url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.eot?#iefix") format("embedded-opentype"), url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/factoria/factoria_medium_macroman/Factoria-Medium-webfont.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Factoria';
  src: url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.eot");
  src: url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Factoria';
  src: url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.eot");
  src: url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.woff2") format("woff2"), url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.woff") format("woff"), url("//static.colostate.edu/fonts/factoria/factoria_bold_macroman/Factoria-Bold-webfont.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap; }

.codicon {
  font-family: 'codicons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-home:before {
  content: ""; }

.icon-home2:before {
  content: ""; }

.icon-home3:before {
  content: ""; }

.icon-home4:before {
  content: ""; }

.icon-home5:before {
  content: ""; }

.icon-home6:before {
  content: ""; }

.icon-home7:before {
  content: ""; }

.icon-home8:before {
  content: ""; }

.icon-home9:before {
  content: ""; }

.icon-office:before {
  content: ""; }

.icon-city:before {
  content: ""; }

.icon-newspaper:before {
  content: ""; }

.icon-magazine:before {
  content: ""; }

.icon-design:before {
  content: ""; }

.icon-pencil:before {
  content: ""; }

.icon-pencil2:before {
  content: ""; }

.icon-pencil3:before {
  content: ""; }

.icon-pencil4:before {
  content: ""; }

.icon-pencil5:before {
  content: ""; }

.icon-pencil6:before {
  content: ""; }

.icon-pencil7:before {
  content: ""; }

.icon-eraser:before {
  content: ""; }

.icon-eraser2:before {
  content: ""; }

.icon-eraser3:before {
  content: ""; }

.icon-quill:before {
  content: ""; }

.icon-quill2:before {
  content: ""; }

.icon-quill3:before {
  content: ""; }

.icon-quill4:before {
  content: ""; }

.icon-pen:before {
  content: ""; }

.icon-pen-plus:before {
  content: ""; }

.icon-pen-minus:before {
  content: ""; }

.icon-pen2:before {
  content: ""; }

.icon-pen3:before {
  content: ""; }

.icon-pen4:before {
  content: ""; }

.icon-pen5:before {
  content: ""; }

.icon-marker:before {
  content: ""; }

.icon-marker2:before {
  content: ""; }

.icon-blog:before {
  content: ""; }

.icon-blog2:before {
  content: ""; }

.icon-pen6:before {
  content: ""; }

.icon-brush:before {
  content: ""; }

.icon-spray:before {
  content: ""; }

.icon-palette:before {
  content: ""; }

.icon-palette2:before {
  content: ""; }

.icon-color-sampler:before {
  content: ""; }

.icon-toggle:before {
  content: ""; }

.icon-bucket:before {
  content: ""; }

.icon-bucket2:before {
  content: ""; }

.icon-gradient:before {
  content: ""; }

.icon-eyedropper:before {
  content: ""; }

.icon-eyedropper2:before {
  content: ""; }

.icon-eyedropper3:before {
  content: ""; }

.icon-droplet:before {
  content: ""; }

.icon-droplet2:before {
  content: ""; }

.icon-droplet-contrast:before {
  content: ""; }

.icon-color-clear:before {
  content: ""; }

.icon-paint-format:before {
  content: ""; }

.icon-stamp:before {
  content: ""; }

.icon-images:before {
  content: ""; }

.icon-image:before {
  content: ""; }

.icon-image2:before {
  content: ""; }

.icon-image-compare:before {
  content: ""; }

.icon-images2:before {
  content: ""; }

.icon-image3:before {
  content: ""; }

.icon-images3:before {
  content: ""; }

.icon-image4:before {
  content: ""; }

.icon-image5:before {
  content: ""; }

.icon-image6:before {
  content: ""; }

.icon-camera:before {
  content: ""; }

.icon-camera2:before {
  content: ""; }

.icon-camera3:before {
  content: ""; }

.icon-shutter:before {
  content: ""; }

.icon-headphones:before {
  content: ""; }

.icon-headset:before {
  content: ""; }

.icon-music:before {
  content: ""; }

.icon-music2:before {
  content: ""; }

.icon-music3:before {
  content: ""; }

.icon-music4:before {
  content: ""; }

.icon-music5:before {
  content: ""; }

.icon-music6:before {
  content: ""; }

.icon-album:before {
  content: ""; }

.icon-cassette:before {
  content: ""; }

.icon-tape:before {
  content: ""; }

.icon-piano:before {
  content: ""; }

.icon-guitar:before {
  content: ""; }

.icon-trumpet:before {
  content: ""; }

.icon-speakers:before {
  content: ""; }

.icon-play:before {
  content: ""; }

.icon-play2:before {
  content: ""; }

.icon-clapboard-play:before {
  content: ""; }

.icon-clapboard:before {
  content: ""; }

.icon-media:before {
  content: ""; }

.icon-presentation:before {
  content: ""; }

.icon-movie:before {
  content: ""; }

.icon-film:before {
  content: ""; }

.icon-film2:before {
  content: ""; }

.icon-film3:before {
  content: ""; }

.icon-film4:before {
  content: ""; }

.icon-video-camera:before {
  content: ""; }

.icon-video-camera2:before {
  content: ""; }

.icon-video-camera-slash:before {
  content: ""; }

.icon-video-camera3:before {
  content: ""; }

.icon-video-camera4:before {
  content: ""; }

.icon-video-camera-slash2:before {
  content: ""; }

.icon-video-camera5:before {
  content: ""; }

.icon-recording:before {
  content: ""; }

.icon-dice:before {
  content: ""; }

.icon-gamepad:before {
  content: ""; }

.icon-gamepad2:before {
  content: ""; }

.icon-gamepad3:before {
  content: ""; }

.icon-pacman:before {
  content: ""; }

.icon-spades:before {
  content: ""; }

.icon-clubs:before {
  content: ""; }

.icon-diamonds:before {
  content: ""; }

.icon-chess-king:before {
  content: ""; }

.icon-chess-queen:before {
  content: ""; }

.icon-chess-rook:before {
  content: ""; }

.icon-chess-bishop:before {
  content: ""; }

.icon-chess-knight:before {
  content: ""; }

.icon-chess-pawn:before {
  content: ""; }

.icon-chess:before {
  content: ""; }

.icon-bullhorn:before {
  content: ""; }

.icon-megaphone:before {
  content: ""; }

.icon-new:before {
  content: ""; }

.icon-connection:before {
  content: ""; }

.icon-connection2:before {
  content: ""; }

.icon-connection3:before {
  content: ""; }

.icon-connection4:before {
  content: ""; }

.icon-podcast:before {
  content: ""; }

.icon-station:before {
  content: ""; }

.icon-station2:before {
  content: ""; }

.icon-antenna:before {
  content: ""; }

.icon-satellite-dish:before {
  content: ""; }

.icon-satellite-dish2:before {
  content: ""; }

.icon-feed:before {
  content: ""; }

.icon-podcast2:before {
  content: ""; }

.icon-antenna2:before {
  content: ""; }

.icon-mic:before {
  content: ""; }

.icon-mic-off:before {
  content: ""; }

.icon-mic2:before {
  content: ""; }

.icon-mic-off2:before {
  content: ""; }

.icon-mic3:before {
  content: ""; }

.icon-mic4:before {
  content: ""; }

.icon-mic5:before {
  content: ""; }

.icon-book:before {
  content: ""; }

.icon-book2:before {
  content: ""; }

.icon-book-play:before {
  content: ""; }

.icon-book3:before {
  content: ""; }

.icon-bookmark:before {
  content: ""; }

.icon-books:before {
  content: ""; }

.icon-archive:before {
  content: ""; }

.icon-reading:before {
  content: ""; }

.icon-library:before {
  content: ""; }

.icon-library2:before {
  content: ""; }

.icon-graduation:before {
  content: ""; }

.icon-file-text:before {
  content: ""; }

.icon-profile:before {
  content: ""; }

.icon-file-empty:before {
  content: ""; }

.icon-file-empty2:before {
  content: ""; }

.icon-files-empty:before {
  content: ""; }

.icon-files-empty2:before {
  content: ""; }

.icon-file-plus:before {
  content: ""; }

.icon-file-plus2:before {
  content: ""; }

.icon-file-minus:before {
  content: ""; }

.icon-file-minus2:before {
  content: ""; }

.icon-file-download:before {
  content: ""; }

.icon-file-download2:before {
  content: ""; }

.icon-file-upload:before {
  content: ""; }

.icon-file-upload2:before {
  content: ""; }

.icon-file-check:before {
  content: ""; }

.icon-file-check2:before {
  content: ""; }

.icon-file-eye:before {
  content: ""; }

.icon-file-eye2:before {
  content: ""; }

.icon-file-text2:before {
  content: ""; }

.icon-file-text3:before {
  content: ""; }

.icon-file-picture:before {
  content: ""; }

.icon-file-picture2:before {
  content: ""; }

.icon-file-music:before {
  content: ""; }

.icon-file-music2:before {
  content: ""; }

.icon-file-play:before {
  content: ""; }

.icon-file-play2:before {
  content: ""; }

.icon-file-video:before {
  content: ""; }

.icon-file-video2:before {
  content: ""; }

.icon-copy:before {
  content: ""; }

.icon-copy2:before {
  content: ""; }

.icon-file-zip:before {
  content: ""; }

.icon-file-zip2:before {
  content: ""; }

.icon-file-xml:before {
  content: ""; }

.icon-file-xml2:before {
  content: ""; }

.icon-file-css:before {
  content: ""; }

.icon-file-css2:before {
  content: ""; }

.icon-file-presentation:before {
  content: ""; }

.icon-file-presentation2:before {
  content: ""; }

.icon-file-stats:before {
  content: ""; }

.icon-file-stats2:before {
  content: ""; }

.icon-file-locked:before {
  content: ""; }

.icon-file-locked2:before {
  content: ""; }

.icon-file-spreadsheet:before {
  content: ""; }

.icon-file-spreadsheet2:before {
  content: ""; }

.icon-copy3:before {
  content: ""; }

.icon-copy4:before {
  content: ""; }

.icon-paste:before {
  content: ""; }

.icon-paste2:before {
  content: ""; }

.icon-paste3:before {
  content: ""; }

.icon-paste4:before {
  content: ""; }

.icon-stack:before {
  content: ""; }

.icon-stack2:before {
  content: ""; }

.icon-stack3:before {
  content: ""; }

.icon-folder:before {
  content: ""; }

.icon-folder-search:before {
  content: ""; }

.icon-folder-download:before {
  content: ""; }

.icon-folder-upload:before {
  content: ""; }

.icon-folder-plus:before {
  content: ""; }

.icon-folder-plus2:before {
  content: ""; }

.icon-folder-minus:before {
  content: ""; }

.icon-folder-minus2:before {
  content: ""; }

.icon-folder-check:before {
  content: ""; }

.icon-folder-heart:before {
  content: ""; }

.icon-folder-remove:before {
  content: ""; }

.icon-folder2:before {
  content: ""; }

.icon-folder-open:before {
  content: ""; }

.icon-folder3:before {
  content: ""; }

.icon-folder4:before {
  content: ""; }

.icon-folder-plus3:before {
  content: ""; }

.icon-folder-minus3:before {
  content: ""; }

.icon-folder-plus4:before {
  content: ""; }

.icon-folder-minus4:before {
  content: ""; }

.icon-folder-download2:before {
  content: ""; }

.icon-folder-upload2:before {
  content: ""; }

.icon-folder-download3:before {
  content: ""; }

.icon-folder-upload3:before {
  content: ""; }

.icon-folder5:before {
  content: ""; }

.icon-folder-open2:before {
  content: ""; }

.icon-folder6:before {
  content: ""; }

.icon-folder-open3:before {
  content: ""; }

.icon-certificate:before {
  content: ""; }

.icon-cc:before {
  content: ""; }

.icon-price-tag:before {
  content: ""; }

.icon-price-tag2:before {
  content: ""; }

.icon-price-tags:before {
  content: ""; }

.icon-price-tag3:before {
  content: ""; }

.icon-price-tags2:before {
  content: ""; }

.icon-price-tag4:before {
  content: ""; }

.icon-price-tags3:before {
  content: ""; }

.icon-price-tag5:before {
  content: ""; }

.icon-price-tags4:before {
  content: ""; }

.icon-barcode:before {
  content: ""; }

.icon-barcode2:before {
  content: ""; }

.icon-qrcode:before {
  content: ""; }

.icon-ticket:before {
  content: ""; }

.icon-ticket2:before {
  content: ""; }

.icon-theater:before {
  content: ""; }

.icon-store:before {
  content: ""; }

.icon-store2:before {
  content: ""; }

.icon-cart:before {
  content: ""; }

.icon-cart2:before {
  content: ""; }

.icon-cart3:before {
  content: ""; }

.icon-cart4:before {
  content: ""; }

.icon-cart5:before {
  content: ""; }

.icon-cart-add:before {
  content: ""; }

.icon-cart-add2:before {
  content: ""; }

.icon-cart-remove:before {
  content: ""; }

.icon-basket:before {
  content: ""; }

.icon-bag:before {
  content: ""; }

.icon-bag2:before {
  content: ""; }

.icon-percent:before {
  content: ""; }

.icon-coins:before {
  content: ""; }

.icon-coin-dollar:before {
  content: ""; }

.icon-coin-euro:before {
  content: ""; }

.icon-coin-pound:before {
  content: ""; }

.icon-coin-yen:before {
  content: ""; }

.icon-piggy-bank:before {
  content: ""; }

.icon-wallet:before {
  content: ""; }

.icon-cash:before {
  content: ""; }

.icon-cash2:before {
  content: ""; }

.icon-cash3:before {
  content: ""; }

.icon-cash4:before {
  content: ""; }

.icon-credit-card:before {
  content: ""; }

.icon-credit-card2:before {
  content: ""; }

.icon-calculator:before {
  content: ""; }

.icon-calculator2:before {
  content: ""; }

.icon-calculator3:before {
  content: ""; }

.icon-chip:before {
  content: ""; }

.icon-lifebuoy:before {
  content: ""; }

.icon-phone:before {
  content: ""; }

.icon-phone2:before {
  content: ""; }

.icon-phone-slash:before {
  content: ""; }

.icon-phone-wave:before {
  content: ""; }

.icon-phone-plus:before {
  content: ""; }

.icon-phone-minus:before {
  content: ""; }

.icon-phone-plus2:before {
  content: ""; }

.icon-phone-minus2:before {
  content: ""; }

.icon-phone-incoming:before {
  content: ""; }

.icon-phone-outgoing:before {
  content: ""; }

.icon-phone3:before {
  content: ""; }

.icon-phone-slash2:before {
  content: ""; }

.icon-phone-wave2:before {
  content: ""; }

.icon-phone-hang-up:before {
  content: ""; }

.icon-phone-hang-up2:before {
  content: ""; }

.icon-address-book:before {
  content: ""; }

.icon-address-book2:before {
  content: ""; }

.icon-address-book3:before {
  content: ""; }

.icon-notebook:before {
  content: ""; }

.icon-at-sign:before {
  content: ""; }

.icon-envelop:before {
  content: ""; }

.icon-envelop2:before {
  content: ""; }

.icon-envelop3:before {
  content: ""; }

.icon-envelop4:before {
  content: ""; }

.icon-envelop5:before {
  content: ""; }

.icon-mailbox:before {
  content: ""; }

.icon-pushpin:before {
  content: ""; }

.icon-pushpin2:before {
  content: ""; }

.icon-location:before {
  content: ""; }

.icon-location2:before {
  content: ""; }

.icon-location3:before {
  content: ""; }

.icon-location4:before {
  content: ""; }

.icon-location5:before {
  content: ""; }

.icon-location6:before {
  content: ""; }

.icon-location7:before {
  content: ""; }

.icon-compass:before {
  content: ""; }

.icon-compass2:before {
  content: ""; }

.icon-compass3:before {
  content: ""; }

.icon-compass4:before {
  content: ""; }

.icon-compass5:before {
  content: ""; }

.icon-compass6:before {
  content: ""; }

.icon-map:before {
  content: ""; }

.icon-map2:before {
  content: ""; }

.icon-map3:before {
  content: ""; }

.icon-map4:before {
  content: ""; }

.icon-map5:before {
  content: ""; }

.icon-direction:before {
  content: ""; }

.icon-reset:before {
  content: ""; }

.icon-history:before {
  content: ""; }

.icon-clock:before {
  content: ""; }

.icon-clock2:before {
  content: ""; }

.icon-clock3:before {
  content: ""; }

.icon-clock4:before {
  content: ""; }

.icon-watch:before {
  content: ""; }

.icon-watch2:before {
  content: ""; }

.icon-alarm:before {
  content: ""; }

.icon-alarm-add:before {
  content: ""; }

.icon-alarm-check:before {
  content: ""; }

.icon-alarm-cancel:before {
  content: ""; }

.icon-bell:before {
  content: ""; }

.icon-bell2:before {
  content: ""; }

.icon-bell3:before {
  content: ""; }

.icon-bell-plus:before {
  content: ""; }

.icon-bell-minus:before {
  content: ""; }

.icon-bell-check:before {
  content: ""; }

.icon-bell-cross:before {
  content: ""; }

.icon-stopwatch:before {
  content: ""; }

.icon-calendar:before {
  content: ""; }

.icon-calendar2:before {
  content: ""; }

.icon-calendar3:before {
  content: ""; }

.icon-calendar4:before {
  content: ""; }

.icon-calendar5:before {
  content: ""; }

.icon-calendar-empty:before {
  content: ""; }

.icon-calendar-day:before {
  content: ""; }

.icon-calendar-week:before {
  content: ""; }

.icon-printer:before {
  content: ""; }

.icon-printer2:before {
  content: ""; }

.icon-printer3:before {
  content: ""; }

.icon-printer4:before {
  content: ""; }

.icon-shredder:before {
  content: ""; }

.icon-mouse:before {
  content: ""; }

.icon-mouse2:before {
  content: ""; }

.icon-mouse-left:before {
  content: ""; }

.icon-mouse-right:before {
  content: ""; }

.icon-keyboard:before {
  content: ""; }

.icon-keyboard2:before {
  content: ""; }

.icon-typewriter:before {
  content: ""; }

.icon-display:before {
  content: ""; }

.icon-display2:before {
  content: ""; }

.icon-display3:before {
  content: ""; }

.icon-display4:before {
  content: ""; }

.icon-laptop:before {
  content: ""; }

.icon-mobile:before {
  content: ""; }

.icon-mobile2:before {
  content: ""; }

.icon-tablet:before {
  content: ""; }

.icon-mobile3:before {
  content: ""; }

.icon-tv:before {
  content: ""; }

.icon-radio:before {
  content: ""; }

.icon-cabinet:before {
  content: ""; }

.icon-drawer:before {
  content: ""; }

.icon-drawer2:before {
  content: ""; }

.icon-drawer-out:before {
  content: ""; }

.icon-drawer-in:before {
  content: ""; }

.icon-drawer3:before {
  content: ""; }

.icon-box:before {
  content: ""; }

.icon-box-add:before {
  content: ""; }

.icon-box-remove:before {
  content: ""; }

.icon-download:before {
  content: ""; }

.icon-upload:before {
  content: ""; }

.icon-floppy-disk:before {
  content: ""; }

.icon-floppy-disks:before {
  content: ""; }

.icon-floppy-disks2:before {
  content: ""; }

.icon-floppy-disk2:before {
  content: ""; }

.icon-floppy-disk3:before {
  content: ""; }

.icon-disk:before {
  content: ""; }

.icon-disk2:before {
  content: ""; }

.icon-usb-stick:before {
  content: ""; }

.icon-drive:before {
  content: ""; }

.icon-server:before {
  content: ""; }

.icon-database:before {
  content: ""; }

.icon-database2:before {
  content: ""; }

.icon-database3:before {
  content: ""; }

.icon-database4:before {
  content: ""; }

.icon-database-menu:before {
  content: ""; }

.icon-database-add:before {
  content: ""; }

.icon-database-remove:before {
  content: ""; }

.icon-database-insert:before {
  content: ""; }

.icon-database-export:before {
  content: ""; }

.icon-database-upload:before {
  content: ""; }

.icon-database-refresh:before {
  content: ""; }

.icon-database-diff:before {
  content: ""; }

.icon-database-edit:before {
  content: ""; }

.icon-database-edit2:before {
  content: ""; }

.icon-database-check:before {
  content: ""; }

.icon-database-arrow:before {
  content: ""; }

.icon-database-time:before {
  content: ""; }

.icon-database-time2:before {
  content: ""; }

.icon-undo:before {
  content: ""; }

.icon-redo:before {
  content: ""; }

.icon-rotate-ccw:before {
  content: ""; }

.icon-rotate-cw:before {
  content: ""; }

.icon-rotate-ccw2:before {
  content: ""; }

.icon-rotate-cw2:before {
  content: ""; }

.icon-rotate-ccw3:before {
  content: ""; }

.icon-rotate-cw3:before {
  content: ""; }

.icon-flip-vertical:before {
  content: ""; }

.icon-flip-vertical2:before {
  content: ""; }

.icon-flip-horizontal:before {
  content: ""; }

.icon-flip-horizontal2:before {
  content: ""; }

.icon-flip-vertical3:before {
  content: ""; }

.icon-flip-vertical4:before {
  content: ""; }

.icon-angle:before {
  content: ""; }

.icon-shear:before {
  content: ""; }

.icon-unite:before {
  content: ""; }

.icon-subtract:before {
  content: ""; }

.icon-interset:before {
  content: ""; }

.icon-exclude:before {
  content: ""; }

.icon-align-left:before {
  content: ""; }

.icon-align-center-horizontal:before {
  content: ""; }

.icon-align-right:before {
  content: ""; }

.icon-align-top:before {
  content: ""; }

.icon-align-center-vertical:before {
  content: ""; }

.icon-align-bottom:before {
  content: ""; }

.icon-undo2:before {
  content: ""; }

.icon-redo2:before {
  content: ""; }

.icon-forward:before {
  content: ""; }

.icon-reply:before {
  content: ""; }

.icon-reply-all:before {
  content: ""; }

.icon-bubble:before {
  content: ""; }

.icon-bubbles:before {
  content: ""; }

.icon-bubbles2:before {
  content: ""; }

.icon-bubble2:before {
  content: ""; }

.icon-bubbles3:before {
  content: ""; }

.icon-bubbles4:before {
  content: ""; }

.icon-bubble-notification:before {
  content: ""; }

.icon-bubbles5:before {
  content: ""; }

.icon-bubbles6:before {
  content: ""; }

.icon-bubble3:before {
  content: ""; }

.icon-bubble-dots:before {
  content: ""; }

.icon-bubble-lines:before {
  content: ""; }

.icon-bubble4:before {
  content: ""; }

.icon-bubble-dots2:before {
  content: ""; }

.icon-bubble-lines2:before {
  content: ""; }

.icon-bubble5:before {
  content: ""; }

.icon-bubble6:before {
  content: ""; }

.icon-bubbles7:before {
  content: ""; }

.icon-bubble7:before {
  content: ""; }

.icon-bubbles8:before {
  content: ""; }

.icon-bubble8:before {
  content: ""; }

.icon-bubble-dots3:before {
  content: ""; }

.icon-bubble-lines3:before {
  content: ""; }

.icon-bubble9:before {
  content: ""; }

.icon-bubble-dots4:before {
  content: ""; }

.icon-bubble-lines4:before {
  content: ""; }

.icon-bubbles9:before {
  content: ""; }

.icon-bubbles10:before {
  content: ""; }

.icon-bubble-blocked:before {
  content: ""; }

.icon-bubble-quote:before {
  content: ""; }

.icon-bubble-user:before {
  content: ""; }

.icon-bubble-smiley:before {
  content: ""; }

.icon-bubble-check:before {
  content: ""; }

.icon-bubble-video:before {
  content: ""; }

.icon-bubble-link:before {
  content: ""; }

.icon-bubble-lock:before {
  content: ""; }

.icon-bubble-star:before {
  content: ""; }

.icon-bubble-heart:before {
  content: ""; }

.icon-bubble-paperclip:before {
  content: ""; }

.icon-bubble-cancel:before {
  content: ""; }

.icon-bubble-plus:before {
  content: ""; }

.icon-bubble-minus:before {
  content: ""; }

.icon-bubble-notification2:before {
  content: ""; }

.icon-bubble-left:before {
  content: ""; }

.icon-bubble-right:before {
  content: ""; }

.icon-bubble-first:before {
  content: ""; }

.icon-bubble-last:before {
  content: ""; }

.icon-bubble-reply:before {
  content: ""; }

.icon-bubble-forward:before {
  content: ""; }

.icon-bubble-reply2:before {
  content: ""; }

.icon-bubble-forward2:before {
  content: ""; }

.icon-user:before {
  content: ""; }

.icon-users:before {
  content: ""; }

.icon-user-plus:before {
  content: ""; }

.icon-user-minus:before {
  content: ""; }

.icon-user-cancel:before {
  content: ""; }

.icon-user-block:before {
  content: ""; }

.icon-user-lock:before {
  content: ""; }

.icon-user-check:before {
  content: ""; }

.icon-users2:before {
  content: ""; }

.icon-user2:before {
  content: ""; }

.icon-users3:before {
  content: ""; }

.icon-user-plus2:before {
  content: ""; }

.icon-user-minus2:before {
  content: ""; }

.icon-user-cancel2:before {
  content: ""; }

.icon-user-block2:before {
  content: ""; }

.icon-user-lock2:before {
  content: ""; }

.icon-user-check2:before {
  content: ""; }

.icon-user3:before {
  content: ""; }

.icon-user4:before {
  content: ""; }

.icon-user5:before {
  content: ""; }

.icon-user6:before {
  content: ""; }

.icon-users4:before {
  content: ""; }

.icon-user-tie:before {
  content: ""; }

.icon-user7:before {
  content: ""; }

.icon-users5:before {
  content: ""; }

.icon-collaboration:before {
  content: ""; }

.icon-vcard:before {
  content: ""; }

.icon-hat:before {
  content: ""; }

.icon-bowtie:before {
  content: ""; }

.icon-tie:before {
  content: ""; }

.icon-hanger:before {
  content: ""; }

.icon-tshirt:before {
  content: ""; }

.icon-pants:before {
  content: ""; }

.icon-shorts:before {
  content: ""; }

.icon-sock:before {
  content: ""; }

.icon-laundry:before {
  content: ""; }

.icon-quotes-left:before {
  content: ""; }

.icon-quotes-right:before {
  content: ""; }

.icon-quotes-left2:before {
  content: ""; }

.icon-quotes-right2:before {
  content: ""; }

.icon-hour-glass:before {
  content: ""; }

.icon-hour-glass2:before {
  content: ""; }

.icon-hour-glass3:before {
  content: ""; }

.icon-spinner:before {
  content: ""; }

.icon-spinner2:before {
  content: ""; }

.icon-spinner3:before {
  content: ""; }

.icon-spinner4:before {
  content: ""; }

.icon-spinner5:before {
  content: ""; }

.icon-spinner6:before {
  content: ""; }

.icon-spinner7:before {
  content: ""; }

.icon-spinner8:before {
  content: ""; }

.icon-spinner9:before {
  content: ""; }

.icon-spinner10:before {
  content: ""; }

.icon-spinner11:before {
  content: ""; }

.icon-microscope:before {
  content: ""; }

.icon-binoculars:before {
  content: ""; }

.icon-binoculars2:before {
  content: ""; }

.icon-search:before {
  content: ""; }

.icon-zoom-in:before {
  content: ""; }

.icon-zoom-out:before {
  content: ""; }

.icon-search2:before {
  content: ""; }

.icon-zoom-in2:before {
  content: ""; }

.icon-zoom-out2:before {
  content: ""; }

.icon-search3:before {
  content: ""; }

.icon-search4:before {
  content: ""; }

.icon-zoom-in3:before {
  content: ""; }

.icon-zoom-out3:before {
  content: ""; }

.icon-search5:before {
  content: ""; }

.icon-search6:before {
  content: ""; }

.icon-enlarge:before {
  content: ""; }

.icon-shrink:before {
  content: ""; }

.icon-enlarge2:before {
  content: ""; }

.icon-shrink2:before {
  content: ""; }

.icon-enlarge3:before {
  content: ""; }

.icon-shrink3:before {
  content: ""; }

.icon-enlarge4:before {
  content: ""; }

.icon-shrink4:before {
  content: ""; }

.icon-enlarge5:before {
  content: ""; }

.icon-shrink5:before {
  content: ""; }

.icon-enlarge6:before {
  content: ""; }

.icon-shrink6:before {
  content: ""; }

.icon-enlarge7:before {
  content: ""; }

.icon-shrink7:before {
  content: ""; }

.icon-key:before {
  content: ""; }

.icon-key2:before {
  content: ""; }

.icon-key3:before {
  content: ""; }

.icon-key4:before {
  content: ""; }

.icon-key5:before {
  content: ""; }

.icon-keyhole:before {
  content: ""; }

.icon-lock:before {
  content: ""; }

.icon-lock2:before {
  content: ""; }

.icon-lock3:before {
  content: ""; }

.icon-lock4:before {
  content: ""; }

.icon-unlocked:before {
  content: ""; }

.icon-lock5:before {
  content: ""; }

.icon-unlocked2:before {
  content: ""; }

.icon-safe:before {
  content: ""; }

.icon-wrench:before {
  content: ""; }

.icon-wrench2:before {
  content: ""; }

.icon-wrench3:before {
  content: ""; }

.icon-equalizer:before {
  content: ""; }

.icon-equalizer2:before {
  content: ""; }

.icon-equalizer3:before {
  content: ""; }

.icon-equalizer4:before {
  content: ""; }

.icon-cog:before {
  content: ""; }

.icon-cogs:before {
  content: ""; }

.icon-cog2:before {
  content: ""; }

.icon-cog3:before {
  content: ""; }

.icon-cog4:before {
  content: ""; }

.icon-cog5:before {
  content: ""; }

.icon-cog6:before {
  content: ""; }

.icon-cog7:before {
  content: ""; }

.icon-factory:before {
  content: ""; }

.icon-hammer:before {
  content: ""; }

.icon-hammer-wrench:before {
  content: ""; }

.icon-knife:before {
  content: ""; }

.icon-screwdriver:before {
  content: ""; }

.icon-screwdriver2:before {
  content: ""; }

.icon-magic-wand:before {
  content: ""; }

.icon-magic-wand2:before {
  content: ""; }

.icon-pulse:before {
  content: ""; }

.icon-pulse2:before {
  content: ""; }

.icon-aid-kit:before {
  content: ""; }

.icon-aid-kit2:before {
  content: ""; }

.icon-stethoscope:before {
  content: ""; }

.icon-ambulance:before {
  content: ""; }

.icon-alarm2:before {
  content: ""; }

.icon-pandage:before {
  content: ""; }

.icon-pandage2:before {
  content: ""; }

.icon-bug:before {
  content: ""; }

.icon-bug2:before {
  content: ""; }

.icon-syringe:before {
  content: ""; }

.icon-syringe2:before {
  content: ""; }

.icon-pill:before {
  content: ""; }

.icon-construction:before {
  content: ""; }

.icon-traffic-cone:before {
  content: ""; }

.icon-traffic-lights:before {
  content: ""; }

.icon-pie-chart:before {
  content: ""; }

.icon-pie-chart2:before {
  content: ""; }

.icon-pie-chart3:before {
  content: ""; }

.icon-pie-chart4:before {
  content: ""; }

.icon-pie-chart5:before {
  content: ""; }

.icon-pie-chart6:before {
  content: ""; }

.icon-pie-chart7:before {
  content: ""; }

.icon-stats-dots:before {
  content: ""; }

.icon-stats-bars:before {
  content: ""; }

.icon-pie-chart8:before {
  content: ""; }

.icon-stats-bars2:before {
  content: ""; }

.icon-stats-bars3:before {
  content: ""; }

.icon-stats-bars4:before {
  content: ""; }

.icon-stats-bars5:before {
  content: ""; }

.icon-stats-bars6:before {
  content: ""; }

.icon-chart:before {
  content: ""; }

.icon-stats-growth:before {
  content: ""; }

.icon-stats-decline:before {
  content: ""; }

.icon-stats-growth2:before {
  content: ""; }

.icon-stats-decline2:before {
  content: ""; }

.icon-stairs-up:before {
  content: ""; }

.icon-stairs-down:before {
  content: ""; }

.icon-stairs:before {
  content: ""; }

.icon-stairs2:before {
  content: ""; }

.icon-ladder:before {
  content: ""; }

.icon-rating:before {
  content: ""; }

.icon-rating2:before {
  content: ""; }

.icon-rating3:before {
  content: ""; }

.icon-cake:before {
  content: ""; }

.icon-podium:before {
  content: ""; }

.icon-stars:before {
  content: ""; }

.icon-medal-star:before {
  content: ""; }

.icon-medal:before {
  content: ""; }

.icon-medal2:before {
  content: ""; }

.icon-medal-first:before {
  content: ""; }

.icon-medal-second:before {
  content: ""; }

.icon-medal-third:before {
  content: ""; }

.icon-crown:before {
  content: ""; }

.icon-trophy:before {
  content: ""; }

.icon-trophy2:before {
  content: ""; }

.icon-trophy3:before {
  content: ""; }

.icon-diamond:before {
  content: ""; }

.icon-diamond2:before {
  content: ""; }

.icon-trophy4:before {
  content: ""; }

.icon-gift:before {
  content: ""; }

.icon-gift2:before {
  content: ""; }

.icon-balloon:before {
  content: ""; }

.icon-pipe:before {
  content: ""; }

.icon-mustache:before {
  content: ""; }

.icon-mustache2:before {
  content: ""; }

.icon-glass:before {
  content: ""; }

.icon-glass2:before {
  content: ""; }

.icon-glass3:before {
  content: ""; }

.icon-glass4:before {
  content: ""; }

.icon-bottle:before {
  content: ""; }

.icon-bottle2:before {
  content: ""; }

.icon-bottle3:before {
  content: ""; }

.icon-bottle4:before {
  content: ""; }

.icon-mug:before {
  content: ""; }

.icon-fork-knife:before {
  content: ""; }

.icon-spoon-knife:before {
  content: ""; }

.icon-cook:before {
  content: ""; }

.icon-plate:before {
  content: ""; }

.icon-steak:before {
  content: ""; }

.icon-fish:before {
  content: ""; }

.icon-chicken:before {
  content: ""; }

.icon-hamburger:before {
  content: ""; }

.icon-pizza:before {
  content: ""; }

.icon-cheese:before {
  content: ""; }

.icon-bread:before {
  content: ""; }

.icon-icecream:before {
  content: ""; }

.icon-milk:before {
  content: ""; }

.icon-cup:before {
  content: ""; }

.icon-cup2:before {
  content: ""; }

.icon-coffee-bean:before {
  content: ""; }

.icon-coffee:before {
  content: ""; }

.icon-teapot:before {
  content: ""; }

.icon-leaf:before {
  content: ""; }

.icon-leaf2:before {
  content: ""; }

.icon-apple:before {
  content: ""; }

.icon-grapes:before {
  content: ""; }

.icon-cherry:before {
  content: ""; }

.icon-tree:before {
  content: ""; }

.icon-tree2:before {
  content: ""; }

.icon-tree3:before {
  content: ""; }

.icon-tree4:before {
  content: ""; }

.icon-cactus:before {
  content: ""; }

.icon-mountains:before {
  content: ""; }

.icon-paw:before {
  content: ""; }

.icon-footprint:before {
  content: ""; }

.icon-tent:before {
  content: ""; }

.icon-flower:before {
  content: ""; }

.icon-flower2:before {
  content: ""; }

.icon-rocket:before {
  content: ""; }

.icon-meter:before {
  content: ""; }

.icon-meter2:before {
  content: ""; }

.icon-meter-slow:before {
  content: ""; }

.icon-meter-medium:before {
  content: ""; }

.icon-meter-fast:before {
  content: ""; }

.icon-meter3:before {
  content: ""; }

.icon-hammer2:before {
  content: ""; }

.icon-balance:before {
  content: ""; }

.icon-scale:before {
  content: ""; }

.icon-bomb:before {
  content: ""; }

.icon-fire:before {
  content: ""; }

.icon-fire2:before {
  content: ""; }

.icon-lab:before {
  content: ""; }

.icon-atom:before {
  content: ""; }

.icon-atom2:before {
  content: ""; }

.icon-magnet:before {
  content: ""; }

.icon-magnet2:before {
  content: ""; }

.icon-dumbbell:before {
  content: ""; }

.icon-skull:before {
  content: ""; }

.icon-skull2:before {
  content: ""; }

.icon-lamp:before {
  content: ""; }

.icon-lamp2:before {
  content: ""; }

.icon-lamp3:before {
  content: ""; }

.icon-spotlight:before {
  content: ""; }

.icon-lamp4:before {
  content: ""; }

.icon-lamp5:before {
  content: ""; }

.icon-lamp6:before {
  content: ""; }

.icon-lamp7:before {
  content: ""; }

.icon-lamp8:before {
  content: ""; }

.icon-broom:before {
  content: ""; }

.icon-toiletpaper:before {
  content: ""; }

.icon-bin:before {
  content: ""; }

.icon-bin2:before {
  content: ""; }

.icon-bin3:before {
  content: ""; }

.icon-bin4:before {
  content: ""; }

.icon-bin5:before {
  content: ""; }

.icon-briefcase:before {
  content: ""; }

.icon-briefcase2:before {
  content: ""; }

.icon-briefcase3:before {
  content: ""; }

.icon-airplane:before {
  content: ""; }

.icon-airplane2:before {
  content: ""; }

.icon-airplane3:before {
  content: ""; }

.icon-airplane4:before {
  content: ""; }

.icon-paperplane:before {
  content: ""; }

.icon-car:before {
  content: ""; }

.icon-steering-wheel:before {
  content: ""; }

.icon-car2:before {
  content: ""; }

.icon-gas:before {
  content: ""; }

.icon-bus:before {
  content: ""; }

.icon-truck:before {
  content: ""; }

.icon-bike:before {
  content: ""; }

.icon-road:before {
  content: ""; }

.icon-train:before {
  content: ""; }

.icon-train2:before {
  content: ""; }

.icon-ship:before {
  content: ""; }

.icon-boat:before {
  content: ""; }

.icon-chopper:before {
  content: ""; }

.icon-chopper2:before {
  content: ""; }

.icon-cube:before {
  content: ""; }

.icon-cube2:before {
  content: ""; }

.icon-cube3:before {
  content: ""; }

.icon-cube4:before {
  content: ""; }

.icon-pyramid:before {
  content: ""; }

.icon-pyramid2:before {
  content: ""; }

.icon-package:before {
  content: ""; }

.icon-puzzle:before {
  content: ""; }

.icon-puzzle2:before {
  content: ""; }

.icon-puzzle3:before {
  content: ""; }

.icon-puzzle4:before {
  content: ""; }

.icon-glasses-3d:before {
  content: ""; }

.icon-glasses-3d2:before {
  content: ""; }

.icon-glasses:before {
  content: ""; }

.icon-glasses2:before {
  content: ""; }

.icon-brain:before {
  content: ""; }

.icon-accessibility:before {
  content: ""; }

.icon-accessibility2:before {
  content: ""; }

.icon-strategy:before {
  content: ""; }

.icon-target:before {
  content: ""; }

.icon-target2:before {
  content: ""; }

.icon-target3:before {
  content: ""; }

.icon-ammo:before {
  content: ""; }

.icon-gun:before {
  content: ""; }

.icon-gun-forbidden:before {
  content: ""; }

.icon-shield:before {
  content: ""; }

.icon-shield-check:before {
  content: ""; }

.icon-shield-notice:before {
  content: ""; }

.icon-shield2:before {
  content: ""; }

.icon-shield3:before {
  content: ""; }

.icon-shield4:before {
  content: ""; }

.icon-soccer:before {
  content: ""; }

.icon-football:before {
  content: ""; }

.icon-archery:before {
  content: ""; }

.icon-bow:before {
  content: ""; }

.icon-sword:before {
  content: ""; }

.icon-tennis:before {
  content: ""; }

.icon-pingpong:before {
  content: ""; }

.icon-baseball:before {
  content: ""; }

.icon-basketball:before {
  content: ""; }

.icon-golf:before {
  content: ""; }

.icon-golf2:before {
  content: ""; }

.icon-hockey:before {
  content: ""; }

.icon-racing:before {
  content: ""; }

.icon-finish:before {
  content: ""; }

.icon-eight-ball:before {
  content: ""; }

.icon-bowling:before {
  content: ""; }

.icon-bowling2:before {
  content: ""; }

.icon-power:before {
  content: ""; }

.icon-power2:before {
  content: ""; }

.icon-power3:before {
  content: ""; }

.icon-switch:before {
  content: ""; }

.icon-switch2:before {
  content: ""; }

.icon-power-cord:before {
  content: ""; }

.icon-power-cord2:before {
  content: ""; }

.icon-outlet:before {
  content: ""; }

.icon-clipboard:before {
  content: ""; }

.icon-clipboard2:before {
  content: ""; }

.icon-clipboard3:before {
  content: ""; }

.icon-clipboard4:before {
  content: ""; }

.icon-clipboard5:before {
  content: ""; }

.icon-clipboard6:before {
  content: ""; }

.icon-playlist:before {
  content: ""; }

.icon-playlist-add:before {
  content: ""; }

.icon-list-numbered:before {
  content: ""; }

.icon-list:before {
  content: ""; }

.icon-list2:before {
  content: ""; }

.icon-more:before {
  content: ""; }

.icon-more2:before {
  content: ""; }

.icon-grid:before {
  content: ""; }

.icon-grid2:before {
  content: ""; }

.icon-grid3:before {
  content: ""; }

.icon-grid4:before {
  content: ""; }

.icon-grid5:before {
  content: ""; }

.icon-grid6:before {
  content: ""; }

.icon-grid7:before {
  content: ""; }

.icon-tree5:before {
  content: ""; }

.icon-tree6:before {
  content: ""; }

.icon-tree7:before {
  content: ""; }

.icon-lan:before {
  content: ""; }

.icon-lan2:before {
  content: ""; }

.icon-lan3:before {
  content: ""; }

.icon-menu:before {
  content: ""; }

.icon-circle-small:before {
  content: ""; }

.icon-menu2:before {
  content: ""; }

.icon-menu3:before {
  content: ""; }

.icon-menu4:before {
  content: ""; }

.icon-menu5:before {
  content: ""; }

.icon-menu6:before {
  content: ""; }

.icon-menu7:before {
  content: ""; }

.icon-menu8:before {
  content: ""; }

.icon-menu9:before {
  content: ""; }

.icon-menu10:before {
  content: ""; }

.icon-cloud:before {
  content: ""; }

.icon-cloud-download:before {
  content: ""; }

.icon-cloud-upload:before {
  content: ""; }

.icon-cloud-check:before {
  content: ""; }

.icon-cloud2:before {
  content: ""; }

.icon-cloud-download2:before {
  content: ""; }

.icon-cloud-upload2:before {
  content: ""; }

.icon-cloud-check2:before {
  content: ""; }

.icon-download2:before {
  content: ""; }

.icon-download3:before {
  content: ""; }

.icon-upload2:before {
  content: ""; }

.icon-upload3:before {
  content: ""; }

.icon-import:before {
  content: ""; }

.icon-import2:before {
  content: ""; }

.icon-download4:before {
  content: ""; }

.icon-upload4:before {
  content: ""; }

.icon-download5:before {
  content: ""; }

.icon-upload5:before {
  content: ""; }

.icon-download6:before {
  content: ""; }

.icon-upload6:before {
  content: ""; }

.icon-download7:before {
  content: ""; }

.icon-upload7:before {
  content: ""; }

.icon-download8:before {
  content: ""; }

.icon-upload8:before {
  content: ""; }

.icon-download9:before {
  content: ""; }

.icon-upload9:before {
  content: ""; }

.icon-download10:before {
  content: ""; }

.icon-upload10:before {
  content: ""; }

.icon-sphere:before {
  content: ""; }

.icon-sphere2:before {
  content: ""; }

.icon-sphere3:before {
  content: ""; }

.icon-planet:before {
  content: ""; }

.icon-planet2:before {
  content: ""; }

.icon-earth:before {
  content: ""; }

.icon-earth2:before {
  content: ""; }

.icon-earth3:before {
  content: ""; }

.icon-link:before {
  content: ""; }

.icon-unlink:before {
  content: ""; }

.icon-link2:before {
  content: ""; }

.icon-unlink2:before {
  content: ""; }

.icon-link3:before {
  content: ""; }

.icon-unlink3:before {
  content: ""; }

.icon-link4:before {
  content: ""; }

.icon-unlink4:before {
  content: ""; }

.icon-link5:before {
  content: ""; }

.icon-unlink5:before {
  content: ""; }

.icon-anchor:before {
  content: ""; }

.icon-flag:before {
  content: ""; }

.icon-flag2:before {
  content: ""; }

.icon-flag3:before {
  content: ""; }

.icon-flag4:before {
  content: ""; }

.icon-flag5:before {
  content: ""; }

.icon-flag6:before {
  content: ""; }

.icon-flag7:before {
  content: ""; }

.icon-flag8:before {
  content: ""; }

.icon-attachment:before {
  content: ""; }

.icon-attachment2:before {
  content: ""; }

.icon-eye:before {
  content: ""; }

.icon-eye-plus:before {
  content: ""; }

.icon-eye-minus:before {
  content: ""; }

.icon-eye-blocked:before {
  content: ""; }

.icon-eye2:before {
  content: ""; }

.icon-eye-blocked2:before {
  content: ""; }

.icon-eye3:before {
  content: ""; }

.icon-eye-blocked3:before {
  content: ""; }

.icon-eye4:before {
  content: ""; }

.icon-bookmark2:before {
  content: ""; }

.icon-bookmark3:before {
  content: ""; }

.icon-bookmarks:before {
  content: ""; }

.icon-bookmark4:before {
  content: ""; }

.icon-spotlight2:before {
  content: ""; }

.icon-starburst:before {
  content: ""; }

.icon-snowflake:before {
  content: ""; }

.icon-temperature:before {
  content: ""; }

.icon-temperature2:before {
  content: ""; }

.icon-weather-lightning:before {
  content: ""; }

.icon-weather-lightning2:before {
  content: ""; }

.icon-weather-rain:before {
  content: ""; }

.icon-weather-rain2:before {
  content: ""; }

.icon-weather-snow:before {
  content: ""; }

.icon-weather-snow2:before {
  content: ""; }

.icon-weather-cloud-wind:before {
  content: ""; }

.icon-weather-cloud-wind2:before {
  content: ""; }

.icon-weather-cloud-sun:before {
  content: ""; }

.icon-weather-cloud-sun2:before {
  content: ""; }

.icon-weather-cloudy:before {
  content: ""; }

.icon-weather-cloudy2:before {
  content: ""; }

.icon-weather-sun-wind:before {
  content: ""; }

.icon-weather-sun-wind2:before {
  content: ""; }

.icon-sun:before {
  content: ""; }

.icon-sun2:before {
  content: ""; }

.icon-moon:before {
  content: ""; }

.icon-day-night:before {
  content: ""; }

.icon-day-night2:before {
  content: ""; }

.icon-weather-windy:before {
  content: ""; }

.icon-fan:before {
  content: ""; }

.icon-umbrella:before {
  content: ""; }

.icon-sun3:before {
  content: ""; }

.icon-contrast:before {
  content: ""; }

.icon-brightness-contrast:before {
  content: ""; }

.icon-brightness-high:before {
  content: ""; }

.icon-brightness-medium:before {
  content: ""; }

.icon-brightness-low:before {
  content: ""; }

.icon-bed:before {
  content: ""; }

.icon-bed2:before {
  content: ""; }

.icon-furniture:before {
  content: ""; }

.icon-chair:before {
  content: ""; }

.icon-star-empty:before {
  content: ""; }

.icon-star-empty2:before {
  content: ""; }

.icon-star-full:before {
  content: ""; }

.icon-star-empty3:before {
  content: ""; }

.icon-star-half:before {
  content: ""; }

.icon-star-full2:before {
  content: ""; }

.icon-star:before {
  content: ""; }

.icon-heart:before {
  content: ""; }

.icon-heart2:before {
  content: ""; }

.icon-heart3:before {
  content: ""; }

.icon-heart4:before {
  content: ""; }

.icon-heart-broken:before {
  content: ""; }

.icon-heart5:before {
  content: ""; }

.icon-heart6:before {
  content: ""; }

.icon-heart-broken2:before {
  content: ""; }

.icon-heart7:before {
  content: ""; }

.icon-heart8:before {
  content: ""; }

.icon-heart-broken3:before {
  content: ""; }

.icon-lips:before {
  content: ""; }

.icon-lips2:before {
  content: ""; }

.icon-thumbs-up:before {
  content: ""; }

.icon-thumbs-up2:before {
  content: ""; }

.icon-thumbs-down:before {
  content: ""; }

.icon-thumbs-down2:before {
  content: ""; }

.icon-thumbs-up3:before {
  content: ""; }

.icon-thumbs-down3:before {
  content: ""; }

.icon-height:before {
  content: ""; }

.icon-man:before {
  content: ""; }

.icon-woman:before {
  content: ""; }

.icon-man-woman:before {
  content: ""; }

.icon-male:before {
  content: ""; }

.icon-female:before {
  content: ""; }

.icon-peace:before {
  content: ""; }

.icon-yin-yang:before {
  content: ""; }

.icon-happy:before {
  content: ""; }

.icon-happy2:before {
  content: ""; }

.icon-smile:before {
  content: ""; }

.icon-smile2:before {
  content: ""; }

.icon-tongue:before {
  content: ""; }

.icon-tongue2:before {
  content: ""; }

.icon-sad:before {
  content: ""; }

.icon-sad2:before {
  content: ""; }

.icon-wink:before {
  content: ""; }

.icon-wink2:before {
  content: ""; }

.icon-grin:before {
  content: ""; }

.icon-grin2:before {
  content: ""; }

.icon-cool:before {
  content: ""; }

.icon-cool2:before {
  content: ""; }

.icon-angry:before {
  content: ""; }

.icon-angry2:before {
  content: ""; }

.icon-evil:before {
  content: ""; }

.icon-evil2:before {
  content: ""; }

.icon-shocked:before {
  content: ""; }

.icon-shocked2:before {
  content: ""; }

.icon-baffled:before {
  content: ""; }

.icon-baffled2:before {
  content: ""; }

.icon-confused:before {
  content: ""; }

.icon-confused2:before {
  content: ""; }

.icon-neutral:before {
  content: ""; }

.icon-neutral2:before {
  content: ""; }

.icon-hipster:before {
  content: ""; }

.icon-hipster2:before {
  content: ""; }

.icon-wondering:before {
  content: ""; }

.icon-wondering2:before {
  content: ""; }

.icon-sleepy:before {
  content: ""; }

.icon-sleepy2:before {
  content: ""; }

.icon-frustrated:before {
  content: ""; }

.icon-frustrated2:before {
  content: ""; }

.icon-crying:before {
  content: ""; }

.icon-crying2:before {
  content: ""; }

.icon-cursor:before {
  content: ""; }

.icon-cursor2:before {
  content: ""; }

.icon-lasso:before {
  content: ""; }

.icon-lasso2:before {
  content: ""; }

.icon-select:before {
  content: ""; }

.icon-select2:before {
  content: ""; }

.icon-point-up:before {
  content: ""; }

.icon-point-right:before {
  content: ""; }

.icon-point-down:before {
  content: ""; }

.icon-point-left:before {
  content: ""; }

.icon-pointer:before {
  content: ""; }

.icon-reminder:before {
  content: ""; }

.icon-drag-left-right:before {
  content: ""; }

.icon-drag-left:before {
  content: ""; }

.icon-drag-right:before {
  content: ""; }

.icon-touch:before {
  content: ""; }

.icon-multitouch:before {
  content: ""; }

.icon-touch-zoom:before {
  content: ""; }

.icon-touch-pinch:before {
  content: ""; }

.icon-hand:before {
  content: ""; }

.icon-grab:before {
  content: ""; }

.icon-stack-empty:before {
  content: ""; }

.icon-stack-plus:before {
  content: ""; }

.icon-stack-minus:before {
  content: ""; }

.icon-stack-star:before {
  content: ""; }

.icon-stack-picture:before {
  content: ""; }

.icon-stack-down:before {
  content: ""; }

.icon-stack-up:before {
  content: ""; }

.icon-stack-cancel:before {
  content: ""; }

.icon-stack-check:before {
  content: ""; }

.icon-stack-text:before {
  content: ""; }

.icon-stack-clubs:before {
  content: ""; }

.icon-stack-spades:before {
  content: ""; }

.icon-stack-hearts:before {
  content: ""; }

.icon-stack-diamonds:before {
  content: ""; }

.icon-stack-user:before {
  content: ""; }

.icon-stack4:before {
  content: ""; }

.icon-stack-music:before {
  content: ""; }

.icon-stack-play:before {
  content: ""; }

.icon-move:before {
  content: ""; }

.icon-dots:before {
  content: ""; }

.icon-warning:before {
  content: ""; }

.icon-warning2:before {
  content: ""; }

.icon-notification:before {
  content: ""; }

.icon-notification2:before {
  content: ""; }

.icon-question:before {
  content: ""; }

.icon-question2:before {
  content: ""; }

.icon-question3:before {
  content: ""; }

.icon-question4:before {
  content: ""; }

.icon-question5:before {
  content: ""; }

.icon-question6:before {
  content: ""; }

.icon-plus:before {
  content: ""; }

.icon-minus:before {
  content: ""; }

.icon-plus2:before {
  content: ""; }

.icon-minus2:before {
  content: ""; }

.icon-plus3:before {
  content: ""; }

.icon-minus3:before {
  content: ""; }

.icon-plus-circle:before {
  content: ""; }

.icon-minus-circle:before {
  content: ""; }

.icon-plus-circle2:before {
  content: ""; }

.icon-minus-circle2:before {
  content: ""; }

.icon-info:before {
  content: ""; }

.icon-info2:before {
  content: ""; }

.icon-cancel-circle:before {
  content: ""; }

.icon-cancel-circle2:before {
  content: ""; }

.icon-blocked:before {
  content: ""; }

.icon-cancel-square:before {
  content: ""; }

.icon-cancel-square2:before {
  content: ""; }

.icon-cancel:before {
  content: ""; }

.icon-spam:before {
  content: ""; }

.icon-cross:before {
  content: ""; }

.icon-cross2:before {
  content: ""; }

.icon-cross3:before {
  content: ""; }

.icon-checkmark:before {
  content: ""; }

.icon-checkmark2:before {
  content: ""; }

.icon-checkmark3:before {
  content: ""; }

.icon-checkmark4:before {
  content: ""; }

.icon-checkmark5:before {
  content: ""; }

.icon-spell-check:before {
  content: ""; }

.icon-spell-check2:before {
  content: ""; }

.icon-enter:before {
  content: ""; }

.icon-exit:before {
  content: ""; }

.icon-enter2:before {
  content: ""; }

.icon-exit2:before {
  content: ""; }

.icon-enter3:before {
  content: ""; }

.icon-exit3:before {
  content: ""; }

.icon-wall:before {
  content: ""; }

.icon-fence:before {
  content: ""; }

.icon-play3:before {
  content: ""; }

.icon-pause:before {
  content: ""; }

.icon-stop:before {
  content: ""; }

.icon-previous:before {
  content: ""; }

.icon-next:before {
  content: ""; }

.icon-backward:before {
  content: ""; }

.icon-forward2:before {
  content: ""; }

.icon-play4:before {
  content: ""; }

.icon-pause2:before {
  content: ""; }

.icon-stop2:before {
  content: ""; }

.icon-backward2:before {
  content: ""; }

.icon-forward3:before {
  content: ""; }

.icon-first:before {
  content: ""; }

.icon-last:before {
  content: ""; }

.icon-previous2:before {
  content: ""; }

.icon-next2:before {
  content: ""; }

.icon-eject:before {
  content: ""; }

.icon-volume-high:before {
  content: ""; }

.icon-volume-medium:before {
  content: ""; }

.icon-volume-low:before {
  content: ""; }

.icon-volume-mute:before {
  content: ""; }

.icon-speaker-left:before {
  content: ""; }

.icon-speaker-right:before {
  content: ""; }

.icon-volume-mute2:before {
  content: ""; }

.icon-volume-increase:before {
  content: ""; }

.icon-volume-decrease:before {
  content: ""; }

.icon-volume-high2:before {
  content: ""; }

.icon-volume-medium2:before {
  content: ""; }

.icon-volume-medium3:before {
  content: ""; }

.icon-volume-low2:before {
  content: ""; }

.icon-volume-mute3:before {
  content: ""; }

.icon-volume-increase2:before {
  content: ""; }

.icon-volume-decrease2:before {
  content: ""; }

.icon-volume-decrease3:before {
  content: ""; }

.icon-volume-5:before {
  content: ""; }

.icon-volume-4:before {
  content: ""; }

.icon-volume-3:before {
  content: ""; }

.icon-volume-2:before {
  content: ""; }

.icon-volume-1:before {
  content: ""; }

.icon-volume-0:before {
  content: ""; }

.icon-volume-mute4:before {
  content: ""; }

.icon-volume-mute5:before {
  content: ""; }

.icon-loop:before {
  content: ""; }

.icon-loop2:before {
  content: ""; }

.icon-loop3:before {
  content: ""; }

.icon-infinite-square:before {
  content: ""; }

.icon-infinite:before {
  content: ""; }

.icon-infinite2:before {
  content: ""; }

.icon-loop4:before {
  content: ""; }

.icon-shuffle:before {
  content: ""; }

.icon-shuffle2:before {
  content: ""; }

.icon-wave:before {
  content: ""; }

.icon-wave2:before {
  content: ""; }

.icon-split:before {
  content: ""; }

.icon-merge:before {
  content: ""; }

.icon-first2:before {
  content: ""; }

.icon-last2:before {
  content: ""; }

.icon-arrow-up:before {
  content: ""; }

.icon-arrow-up2:before {
  content: ""; }

.icon-arrow-up3:before {
  content: ""; }

.icon-arrow-up4:before {
  content: ""; }

.icon-arrow-right:before {
  content: ""; }

.icon-arrow-right2:before {
  content: ""; }

.icon-arrow-right3:before {
  content: ""; }

.icon-arrow-right4:before {
  content: ""; }

.icon-arrow-down:before {
  content: ""; }

.icon-arrow-down2:before {
  content: ""; }

.icon-arrow-down3:before {
  content: ""; }

.icon-arrow-down4:before {
  content: ""; }

.icon-arrow-left:before {
  content: ""; }

.icon-arrow-left2:before {
  content: ""; }

.icon-arrow-left3:before {
  content: ""; }

.icon-arrow-left4:before {
  content: ""; }

.icon-arrow-up5:before {
  content: ""; }

.icon-arrow-right5:before {
  content: ""; }

.icon-arrow-down5:before {
  content: ""; }

.icon-arrow-left5:before {
  content: ""; }

.icon-arrow-up-left:before {
  content: ""; }

.icon-arrow-up6:before {
  content: ""; }

.icon-arrow-up-right:before {
  content: ""; }

.icon-arrow-right6:before {
  content: ""; }

.icon-arrow-down-right:before {
  content: ""; }

.icon-arrow-down6:before {
  content: ""; }

.icon-arrow-down-left:before {
  content: ""; }

.icon-arrow-left6:before {
  content: ""; }

.icon-arrow-up-left2:before {
  content: ""; }

.icon-arrow-up7:before {
  content: ""; }

.icon-arrow-up-right2:before {
  content: ""; }

.icon-arrow-right7:before {
  content: ""; }

.icon-arrow-down-right2:before {
  content: ""; }

.icon-arrow-down7:before {
  content: ""; }

.icon-arrow-down-left2:before {
  content: ""; }

.icon-arrow-left7:before {
  content: ""; }

.icon-arrow-up-left3:before {
  content: ""; }

.icon-arrow-up8:before {
  content: ""; }

.icon-arrow-up-right3:before {
  content: ""; }

.icon-arrow-right8:before {
  content: ""; }

.icon-arrow-down-right3:before {
  content: ""; }

.icon-arrow-down8:before {
  content: ""; }

.icon-arrow-down-left3:before {
  content: ""; }

.icon-arrow-left8:before {
  content: ""; }

.icon-circle-up:before {
  content: ""; }

.icon-circle-right:before {
  content: ""; }

.icon-circle-down:before {
  content: ""; }

.icon-circle-left:before {
  content: ""; }

.icon-circle-up2:before {
  content: ""; }

.icon-circle-right2:before {
  content: ""; }

.icon-circle-down2:before {
  content: ""; }

.icon-circle-left2:before {
  content: ""; }

.icon-circle-up-left:before {
  content: ""; }

.icon-circle-up3:before {
  content: ""; }

.icon-circle-up-right:before {
  content: ""; }

.icon-circle-right3:before {
  content: ""; }

.icon-circle-down-right:before {
  content: ""; }

.icon-circle-down3:before {
  content: ""; }

.icon-circle-down-left:before {
  content: ""; }

.icon-circle-left3:before {
  content: ""; }

.icon-circle-up-left2:before {
  content: ""; }

.icon-circle-up4:before {
  content: ""; }

.icon-circle-up-right2:before {
  content: ""; }

.icon-circle-right4:before {
  content: ""; }

.icon-circle-down-right2:before {
  content: ""; }

.icon-circle-down4:before {
  content: ""; }

.icon-circle-down-left2:before {
  content: ""; }

.icon-circle-left4:before {
  content: ""; }

.icon-arrow-resize:before {
  content: ""; }

.icon-arrow-resize2:before {
  content: ""; }

.icon-arrow-resize3:before {
  content: ""; }

.icon-arrow-resize4:before {
  content: ""; }

.icon-arrow-resize5:before {
  content: ""; }

.icon-arrow-resize6:before {
  content: ""; }

.icon-arrow-resize7:before {
  content: ""; }

.icon-arrow-resize8:before {
  content: ""; }

.icon-square-up-left:before {
  content: ""; }

.icon-square-up:before {
  content: ""; }

.icon-square-up-right:before {
  content: ""; }

.icon-square-right:before {
  content: ""; }

.icon-square-down-right:before {
  content: ""; }

.icon-square-down:before {
  content: ""; }

.icon-square-down-left:before {
  content: ""; }

.icon-square-left:before {
  content: ""; }

.icon-arrow-up9:before {
  content: ""; }

.icon-arrow-right9:before {
  content: ""; }

.icon-arrow-down9:before {
  content: ""; }

.icon-arrow-left9:before {
  content: ""; }

.icon-arrow-up10:before {
  content: ""; }

.icon-arrow-right10:before {
  content: ""; }

.icon-arrow-down10:before {
  content: ""; }

.icon-arrow-left10:before {
  content: ""; }

.icon-arrow-up-left4:before {
  content: ""; }

.icon-arrow-up11:before {
  content: ""; }

.icon-arrow-up-right4:before {
  content: ""; }

.icon-arrow-right11:before {
  content: ""; }

.icon-arrow-down-right4:before {
  content: ""; }

.icon-arrow-down11:before {
  content: ""; }

.icon-arrow-down-left4:before {
  content: ""; }

.icon-arrow-left11:before {
  content: ""; }

.icon-arrow-up-left5:before {
  content: ""; }

.icon-arrow-up12:before {
  content: ""; }

.icon-arrow-up-right5:before {
  content: ""; }

.icon-arrow-right12:before {
  content: ""; }

.icon-arrow-down-right5:before {
  content: ""; }

.icon-arrow-down12:before {
  content: ""; }

.icon-arrow-down-left5:before {
  content: ""; }

.icon-arrow-left12:before {
  content: ""; }

.icon-arrow-up13:before {
  content: ""; }

.icon-arrow-right13:before {
  content: ""; }

.icon-arrow-down13:before {
  content: ""; }

.icon-arrow-left13:before {
  content: ""; }

.icon-arrow-up14:before {
  content: ""; }

.icon-arrow-right14:before {
  content: ""; }

.icon-arrow-down14:before {
  content: ""; }

.icon-arrow-left14:before {
  content: ""; }

.icon-circle-up5:before {
  content: ""; }

.icon-circle-right5:before {
  content: ""; }

.icon-circle-down5:before {
  content: ""; }

.icon-circle-left5:before {
  content: ""; }

.icon-circle-up6:before {
  content: ""; }

.icon-circle-right6:before {
  content: ""; }

.icon-circle-down6:before {
  content: ""; }

.icon-circle-left6:before {
  content: ""; }

.icon-arrow-up15:before {
  content: ""; }

.icon-arrow-right15:before {
  content: ""; }

.icon-arrow-down15:before {
  content: ""; }

.icon-arrow-left15:before {
  content: ""; }

.icon-arrow-up16:before {
  content: ""; }

.icon-arrow-right16:before {
  content: ""; }

.icon-arrow-down16:before {
  content: ""; }

.icon-arrow-left16:before {
  content: ""; }

.icon-menu-open:before {
  content: ""; }

.icon-menu-open2:before {
  content: ""; }

.icon-menu-close:before {
  content: ""; }

.icon-menu-close2:before {
  content: ""; }

.icon-enter4:before {
  content: ""; }

.icon-enter5:before {
  content: ""; }

.icon-esc:before {
  content: ""; }

.icon-enter6:before {
  content: ""; }

.icon-backspace:before {
  content: ""; }

.icon-backspace2:before {
  content: ""; }

.icon-tab:before {
  content: ""; }

.icon-transmission:before {
  content: ""; }

.icon-transmission2:before {
  content: ""; }

.icon-sort:before {
  content: ""; }

.icon-sort2:before {
  content: ""; }

.icon-move-up:before {
  content: ""; }

.icon-move-down:before {
  content: ""; }

.icon-sort-alpha-asc:before {
  content: ""; }

.icon-sort-alpha-desc:before {
  content: ""; }

.icon-sort-numeric-asc:before {
  content: ""; }

.icon-sort-numberic-desc:before {
  content: ""; }

.icon-sort-amount-asc:before {
  content: ""; }

.icon-sort-amount-desc:before {
  content: ""; }

.icon-sort-time-asc:before {
  content: ""; }

.icon-sort-time-desc:before {
  content: ""; }

.icon-battery-6:before {
  content: ""; }

.icon-battery-5:before {
  content: ""; }

.icon-battery-4:before {
  content: ""; }

.icon-battery-3:before {
  content: ""; }

.icon-battery-2:before {
  content: ""; }

.icon-battery-1:before {
  content: ""; }

.icon-battery-0:before {
  content: ""; }

.icon-battery-charging:before {
  content: ""; }

.icon-key-keyboard:before {
  content: ""; }

.icon-key-A:before {
  content: ""; }

.icon-key-up:before {
  content: ""; }

.icon-key-right:before {
  content: ""; }

.icon-key-down:before {
  content: ""; }

.icon-key-left:before {
  content: ""; }

.icon-command:before {
  content: ""; }

.icon-shift:before {
  content: ""; }

.icon-ctrl:before {
  content: ""; }

.icon-opt:before {
  content: ""; }

.icon-checkbox-checked:before {
  content: ""; }

.icon-checkbox-unchecked:before {
  content: ""; }

.icon-checkbox-partial:before {
  content: ""; }

.icon-square:before {
  content: ""; }

.icon-triangle:before {
  content: ""; }

.icon-triangle2:before {
  content: ""; }

.icon-diamond3:before {
  content: ""; }

.icon-diamond4:before {
  content: ""; }

.icon-checkbox-checked2:before {
  content: ""; }

.icon-checkbox-unchecked2:before {
  content: ""; }

.icon-checkbox-partial2:before {
  content: ""; }

.icon-radio-checked:before {
  content: ""; }

.icon-radio-checked2:before {
  content: ""; }

.icon-radio-unchecked:before {
  content: ""; }

.icon-toggle-on:before {
  content: ""; }

.icon-toggle-off:before {
  content: ""; }

.icon-checkmark-circle:before {
  content: ""; }

.icon-circle:before {
  content: ""; }

.icon-circle2:before {
  content: ""; }

.icon-circles:before {
  content: ""; }

.icon-circles2:before {
  content: ""; }

.icon-crop:before {
  content: ""; }

.icon-crop2:before {
  content: ""; }

.icon-make-group:before {
  content: ""; }

.icon-ungroup:before {
  content: ""; }

.icon-vector:before {
  content: ""; }

.icon-vector2:before {
  content: ""; }

.icon-rulers:before {
  content: ""; }

.icon-ruler:before {
  content: ""; }

.icon-pencil-ruler:before {
  content: ""; }

.icon-scissors:before {
  content: ""; }

.icon-scissors2:before {
  content: ""; }

.icon-scissors3:before {
  content: ""; }

.icon-haircut:before {
  content: ""; }

.icon-comb:before {
  content: ""; }

.icon-filter:before {
  content: ""; }

.icon-filter2:before {
  content: ""; }

.icon-filter3:before {
  content: ""; }

.icon-filter4:before {
  content: ""; }

.icon-font:before {
  content: ""; }

.icon-ampersand:before {
  content: ""; }

.icon-ligature:before {
  content: ""; }

.icon-ligature2:before {
  content: ""; }

.icon-font-size:before {
  content: ""; }

.icon-typography:before {
  content: ""; }

.icon-text-height:before {
  content: ""; }

.icon-text-width:before {
  content: ""; }

.icon-height2:before {
  content: ""; }

.icon-width:before {
  content: ""; }

.icon-bold:before {
  content: ""; }

.icon-underline:before {
  content: ""; }

.icon-italic:before {
  content: ""; }

.icon-strikethrough:before {
  content: ""; }

.icon-strikethrough2:before {
  content: ""; }

.icon-font-size2:before {
  content: ""; }

.icon-bold2:before {
  content: ""; }

.icon-underline2:before {
  content: ""; }

.icon-italic2:before {
  content: ""; }

.icon-strikethrough3:before {
  content: ""; }

.icon-omega:before {
  content: ""; }

.icon-sigma:before {
  content: ""; }

.icon-nbsp:before {
  content: ""; }

.icon-page-break:before {
  content: ""; }

.icon-page-break2:before {
  content: ""; }

.icon-superscript:before {
  content: ""; }

.icon-subscript:before {
  content: ""; }

.icon-superscript2:before {
  content: ""; }

.icon-subscript2:before {
  content: ""; }

.icon-text-color:before {
  content: ""; }

.icon-highlight:before {
  content: ""; }

.icon-pagebreak:before {
  content: ""; }

.icon-clear-formatting:before {
  content: ""; }

.icon-table:before {
  content: ""; }

.icon-table2:before {
  content: ""; }

.icon-insert-template:before {
  content: ""; }

.icon-pilcrow:before {
  content: ""; }

.icon-ltr:before {
  content: ""; }

.icon-rtl:before {
  content: ""; }

.icon-ltr2:before {
  content: ""; }

.icon-rtl2:before {
  content: ""; }

.icon-section:before {
  content: ""; }

.icon-paragraph-left:before {
  content: ""; }

.icon-paragraph-center:before {
  content: ""; }

.icon-paragraph-right:before {
  content: ""; }

.icon-paragraph-justify:before {
  content: ""; }

.icon-paragraph-left2:before {
  content: ""; }

.icon-paragraph-center2:before {
  content: ""; }

.icon-paragraph-right2:before {
  content: ""; }

.icon-paragraph-justify2:before {
  content: ""; }

.icon-indent-increase:before {
  content: ""; }

.icon-indent-decrease:before {
  content: ""; }

.icon-paragraph-left3:before {
  content: ""; }

.icon-paragraph-center3:before {
  content: ""; }

.icon-paragraph-right3:before {
  content: ""; }

.icon-paragraph-justify3:before {
  content: ""; }

.icon-indent-increase2:before {
  content: ""; }

.icon-indent-decrease2:before {
  content: ""; }

.icon-share:before {
  content: ""; }

.icon-share2:before {
  content: ""; }

.icon-new-tab:before {
  content: ""; }

.icon-new-tab2:before {
  content: ""; }

.icon-popout:before {
  content: ""; }

.icon-embed:before {
  content: ""; }

.icon-embed2:before {
  content: ""; }

.icon-markup:before {
  content: ""; }

.icon-regexp:before {
  content: ""; }

.icon-regexp2:before {
  content: ""; }

.icon-code:before {
  content: ""; }

.icon-circle-css:before {
  content: ""; }

.icon-circle-code:before {
  content: ""; }

.icon-terminal:before {
  content: ""; }

.icon-unicode:before {
  content: ""; }

.icon-seven-segment-0:before {
  content: ""; }

.icon-seven-segment-1:before {
  content: ""; }

.icon-seven-segment-2:before {
  content: ""; }

.icon-seven-segment-3:before {
  content: ""; }

.icon-seven-segment-4:before {
  content: ""; }

.icon-seven-segment-5:before {
  content: ""; }

.icon-seven-segment-6:before {
  content: ""; }

.icon-seven-segment-7:before {
  content: ""; }

.icon-seven-segment-8:before {
  content: ""; }

.icon-seven-segment-9:before {
  content: ""; }

.icon-share3:before {
  content: ""; }

.icon-share4:before {
  content: ""; }

.icon-mail:before {
  content: ""; }

.icon-mail2:before {
  content: ""; }

.icon-mail3:before {
  content: ""; }

.icon-mail4:before {
  content: ""; }

.icon-amazon:before {
  content: ""; }

.icon-google:before {
  content: ""; }

.icon-google2:before {
  content: ""; }

.icon-google3:before {
  content: ""; }

.icon-google-plus:before {
  content: ""; }

.icon-google-plus2:before {
  content: ""; }

.icon-google-plus3:before {
  content: ""; }

.icon-hangouts:before {
  content: ""; }

.icon-google-drive:before {
  content: ""; }

.icon-facebook:before {
  content: ""; }

.icon-facebook2:before {
  content: ""; }

.icon-instagram:before {
  content: ""; }

.icon-whatsapp:before {
  content: ""; }

.icon-spotify:before {
  content: ""; }

.icon-telegram:before {
  content: ""; }

.icon-twitter:before {
  content: ""; }

.icon-vine:before {
  content: ""; }

.icon-vk:before {
  content: ""; }

.icon-renren:before {
  content: ""; }

.icon-sina-weibo:before {
  content: ""; }

.icon-rss:before {
  content: ""; }

.icon-rss2:before {
  content: ""; }

.icon-youtube:before {
  content: ""; }

.icon-youtube2:before {
  content: ""; }

.icon-twitch:before {
  content: ""; }

.icon-vimeo:before {
  content: ""; }

.icon-vimeo2:before {
  content: ""; }

.icon-lanyrd:before {
  content: ""; }

.icon-flickr:before {
  content: ""; }

.icon-flickr2:before {
  content: ""; }

.icon-flickr3:before {
  content: ""; }

.icon-flickr4:before {
  content: ""; }

.icon-dribbble:before {
  content: ""; }

.icon-behance:before {
  content: ""; }

.icon-behance2:before {
  content: ""; }

.icon-deviantart:before {
  content: ""; }

.icon-500px:before {
  content: ""; }

.icon-steam:before {
  content: ""; }

.icon-steam2:before {
  content: ""; }

.icon-dropbox:before {
  content: ""; }

.icon-onedrive:before {
  content: ""; }

.icon-github:before {
  content: ""; }

.icon-npm:before {
  content: ""; }

.icon-basecamp:before {
  content: ""; }

.icon-trello:before {
  content: ""; }

.icon-wordpress:before {
  content: ""; }

.icon-joomla:before {
  content: ""; }

.icon-ello:before {
  content: ""; }

.icon-blogger:before {
  content: ""; }

.icon-blogger2:before {
  content: ""; }

.icon-tumblr:before {
  content: ""; }

.icon-tumblr2:before {
  content: ""; }

.icon-yahoo:before {
  content: ""; }

.icon-yahoo2:before {
  content: ""; }

.icon-tux:before {
  content: ""; }

.icon-appleinc:before {
  content: ""; }

.icon-finder:before {
  content: ""; }

.icon-android:before {
  content: ""; }

.icon-windows:before {
  content: ""; }

.icon-windows8:before {
  content: ""; }

.icon-soundcloud:before {
  content: ""; }

.icon-soundcloud2:before {
  content: ""; }

.icon-skype:before {
  content: ""; }

.icon-reddit:before {
  content: ""; }

.icon-hackernews:before {
  content: ""; }

.icon-wikipedia:before {
  content: ""; }

.icon-linkedin:before {
  content: ""; }

.icon-linkedin2:before {
  content: ""; }

.icon-lastfm:before {
  content: ""; }

.icon-lastfm2:before {
  content: ""; }

.icon-delicious:before {
  content: ""; }

.icon-stumbleupon:before {
  content: ""; }

.icon-stumbleupon2:before {
  content: ""; }

.icon-stackoverflow:before {
  content: ""; }

.icon-pinterest:before {
  content: ""; }

.icon-pinterest2:before {
  content: ""; }

.icon-xing:before {
  content: ""; }

.icon-xing2:before {
  content: ""; }

.icon-flattr:before {
  content: ""; }

.icon-foursquare:before {
  content: ""; }

.icon-yelp:before {
  content: ""; }

.icon-paypal:before {
  content: ""; }

.icon-chrome:before {
  content: ""; }

.icon-firefox:before {
  content: ""; }

.icon-IE:before {
  content: ""; }

.icon-edge:before {
  content: ""; }

.icon-safari:before {
  content: ""; }

.icon-opera:before {
  content: ""; }

.icon-file-pdf:before {
  content: ""; }

.icon-file-openoffice:before {
  content: ""; }

.icon-file-word:before {
  content: ""; }

.icon-file-excel:before {
  content: ""; }

.icon-libreoffice:before {
  content: ""; }

.icon-html-five:before {
  content: ""; }

.icon-html-five2:before {
  content: ""; }

.icon-css3:before {
  content: ""; }

.icon-git:before {
  content: ""; }

.icon-codepen:before {
  content: ""; }

.icon-svg:before {
  content: ""; }

.icon-IcoMoon:before {
  content: ""; }

.developer-box {
  width: 16rem;
  margin: 0;
  padding: 1rem 1rem 1rem 1rem; }
  .developer-box.overlay {
    position: absolute;
    z-index: 1000; }
    .developer-box.overlay.right {
      right: 2rem;
      bottom: 2rem; }
    .developer-box.overlay.fill.red {
      background-color: rgba(255, 0, 0, 0.855); }
      .developer-box.overlay.fill.red .box-title {
        color: white; }
  .developer-box .box-title {
    margin: 0 0 1rem 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 0.75rem;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.125em;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none; }
  .developer-box .output-line {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 700;
    font-style: normal; }

html,
body {
  margin: 0;
  padding: 0; }
  html ::-moz-selection,
  body ::-moz-selection {
    color: #A8E347;
    background-color: rgba(27, 33, 30, 0.415); }
  html ::selection,
  body ::selection {
    color: #A8E347;
    background-color: rgba(27, 33, 30, 0.415); }

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

.skip-link:focus {
  background-color: #f1f1f1;
  box-shadow: 0 0 0.125em 0.125em rgba(0, 0, 0, 0.5);
  clip: auto !important;
  color: #545454;
  display: block;
  font-size: .75rem;
  font-weight: bold;
  height: auto;
  left: .75rem;
  line-height: normal;
  padding: 1em 2em;
  text-decoration: none;
  top: .75rem;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar */ }

html {
  box-sizing: border-box;
  height: 100%;
  background-color: rgba(21, 97, 64, 0); }

body {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0 0 0 0;
  -ms-overflow-style: none !important;
  font-family: "Industry";
  font-size: 0.75rem;
  font-weight: 500;
  color: #DADEEB;
  background-color: #162520;
  transition: all 480ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  body > * {
    max-width: 100%; }
  body.page-template-secondary, body.page-template-secondary-main, body.archive, body.single-place {
    height: auto;
    padding: 5rem 0 0 0; }
    @media screen and (max-width: 39.9375em) {
      body.page-template-secondary, body.page-template-secondary-main, body.archive, body.single-place {
        padding: 4rem 0 0 0; } }
  body.has_alert {
    padding: 5rem 0 0 0;
    transition: all 480ms cubic-bezier(0.19, 1, 0.22, 1) 1200ms; }
    @media screen and (max-width: 39.9375em) {
      body.has_alert {
        padding: 4rem 0 0 0; } }

#__bs_notify__ {
  position: fixed;
  top: 50% !important;
  right: auto !important;
  left: 50% !important;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  display: flex !important;
  width: 4.5rem;
  height: 4.5rem;
  margin: -2.25rem 0 0 -2.25rem !important;
  border: none !important;
  border-radius: 4rem !important;
  font-family: "Industry" !important;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 0.75rem;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  text-indent: -9999px !important;
  background-color: transparent !important;
  background-image: url(../img/svg/reload.sync.svg);
  background-repeat: no-repeat;
  background-size: 4rem 4rem;
  background-position: 0.25rem 0.25rem;
  animation: sync-spinner 720ms cubic-bezier(0.86, 0, 0.07, 1) infinite; }
  #__bs_notify__:before {
    position: absolute;
    top: 2rem;
    right: 2rem;
    bottom: 2rem;
    left: 2rem;
    width: 2rem;
    height: 2rem;
    background-color: rgba(0, 254, 109, 0.415); }

h1, h2, h3, h4, h5, h6 {
  font-family: "Klavika Condensed", "Saira Condensed";
  font-weight: 400;
  text-transform: uppercase; }

.page-title {
  width: 100%;
  margin: 0 0 1rem 0;
  padding: 0 0 0 0;
  border-bottom: 1px solid #D7D392;
  letter-spacing: 0.085em;
  color: #115135; }

h3 {
  margin: 0 0 1rem 0;
  font-family: "Klavika Condensed", "Saira Condensed";
  font-size: 1.5rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5rem;
  letter-spacing: 0.075em;
  color: #156140; }

h4 {
  font-family: "Klavika Condensed", "Saira Condensed";
  font-size: 1.25rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.25rem;
  letter-spacing: 0.065em;
  color: #545454; }

ul {
  list-style: square; }

pre {
  font-family: "Roboto Mono";
  font-size: 0.6875rem;
  font-weight: 500;
  font-style: normal; }

@media print {
  #site-header,
  footer {
    display: none; }
  h1, h2, h3, h4, h5, h6 {
    margin: 1.5rem 0 1rem 0; }
  .flexible-page-header--styled:before {
    display: none; }
  .flexible-page-header--styled__inner {
    min-height: 0 !important;
    padding: 4rem 8vw 0 8vw !important; }
  .flexible-page-content {
    padding-top: 0 !important; }
    .flexible-page-content .template-block:first-child {
      padding-top: 0 !important; } }

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

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

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

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

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

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

table.tablepress thead th {
  border: none;
  font-weight: normal;
  font-weight: 700;
  background-color: #156140; }

table.tablepress tbody.row-hover tr:hover td {
  color: #115135;
  background-color: #97ca3d; }

table.tablepress tbody tr.even td {
  background-color: rgba(0, 0, 0, 0); }

table.tablepress tbody td {
  border: none; }

.ui-layout {
  transition: all 220ms linear 0ms; }
  .is-open-right .ui-layout {
    transition: all 220ms linear 0ms; }

#site-layout {
  position: relative;
  z-index: 20;
  width: 100%;
  min-height: 100vh;
  margin: 0 0 27rem 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #1c2322;
  background-image: linear-gradient(168deg, transparent 50%, rgba(19, 82, 75, 0.755) 100%), linear-gradient(189deg, transparent 20%, rgba(21, 97, 64, 0.655) 100%), linear-gradient(45deg, transparent 0%, rgba(10, 51, 33, 0.785) 100%), linear-gradient(90deg, transparent 0%, rgba(10, 51, 33, 0.585) 100%), linear-gradient(155deg, rgba(215, 211, 146, 0.005) 0%, rgba(215, 211, 146, 0.275) 100%);
  filter: blur(0px);
  transition: all 0ms linear 0ms; }
  #site-layout.secondary {
    min-height: 100vh;
    height: auto;
    overflow: visible; }
  #site-layout.scrollable {
    overflow-y: scroll; }
  #site-layout.site-menu-is-open {
    background-color: #082818;
    background-image: none;
    filter: blur(16px);
    transition: all 0ms linear 0ms; }
  .single-degree-program #site-layout {
    background-image: none;
    background-color: #e8e7e3; }

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-pack: start;
      justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  height: 5rem;
  margin: 0;
  font-size: .75rem;
  background-color: rgba(10, 51, 33, 0.905);
  background-image: linear-gradient(90deg, rgba(21, 97, 64, 0.615) 0%, rgba(8, 40, 24, 0.475) 100%);
  background-repeat: no-repeat;
  background-position: 0 0;
  transform: translate3d(0, 0, 0);
  transition: all 480ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
  -webkit-app-region: drag;
  box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.515); }
  @media screen and (max-width: 39.9375em) {
    .site-header {
      height: 4rem; } }
  .page-template-secondary .site-header,
  .single-degree-program .site-header,
  .page-template-directory .site-header,
  .archive .site-header {
    background-color: #115135; }
  .site-header.has_alert {
    transform: translate3d(0, 5rem, 0);
    transition: all 480ms cubic-bezier(0.19, 1, 0.22, 1) 1200ms; }
    @media screen and (max-width: 39.9375em) {
      .site-header.has_alert {
        transform: translate3d(0, 4rem, 0); } }
  .site-header.ui-contrast:after {
    background-color: rgba(8, 40, 24, 0.415);
    background-image: linear-gradient(270deg, rgba(21, 97, 64, 0.315) 0%, transparent 40%, rgba(10, 51, 33, 0.515) 60%, rgba(8, 40, 24, 0.675) 100%), linear-gradient(90deg, transparent 0%, rgba(10, 51, 33, 0.685) 100%);
    opacity: 1.000;
    transform: translate3d(0, 0, 0);
    transition: transform 360ms cubic-bezier(0.23, 1, 0.32, 1) 240ms; }
  .site-header.ui-contrast.site-menu-open:after {
    transition: transform 240ms cubic-bezier(0.23, 1, 0.32, 1) 120ms; }
  .site-header:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 4rem;
    background-image: linear-gradient(90deg, transparent 30%, rgba(10, 51, 33, 0.515) 60%, rgba(8, 40, 24, 0.675) 100%);
    opacity: 0.000;
    transform: translate3d(0, -4rem, 0);
    transition: transform 360ms cubic-bezier(0.23, 1, 0.32, 1) 240ms; }
  .site-header.site-menu-open {
    background-color: white;
    background-color: rgba(17, 81, 53, 0.485); }
  .site-header #secondary-page-link {
    position: relative;
    z-index: 10;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    width: 32rem;
    height: 4rem; }
  .site-header #scroller {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: center;
        align-items: center;
    width: 8rem;
    height: 4rem;
    margin: 0;
    padding: 0 1rem 0 0;
    font-family: "Decima Mono";
    font-size: 0.75rem;
    font-weight: 700;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    color: white;
    background-color: rgba(255, 255, 255, 0.035); }

.site-footer {
  margin: 0;
  background-color: #0a3321; }
  .site-footer .footer-row .link-list {
    margin: 0;
    list-style: none; }
    .site-footer .footer-row .link-list .menu-item {
      transition: all 220ms linear 0ms; }
      .site-footer .footer-row .link-list .menu-item:hover {
        cursor: pointer; }
  .secondary .site-footer,
  .secondary.main .site-footer,
  .secondary-default .site-footer {
    position: relative; }
  .site-footer.visible {
    z-index: 10; }
  .site-footer__top {
    padding: 2rem; }
    @media (min-width: 45em) {
      .site-footer__top {
        padding: 4rem 5rem; } }
  .site-footer .footer__columns {
    display: -ms-grid;
    display: grid;
    grid-gap: 2rem;
    -ms-grid-rows: auto 2rem auto 2rem auto 2rem auto;
    grid-template-rows: repeat(4, auto);
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 25em;
    margin: 0 auto; }
    @media (min-width: 45em) {
      .site-footer .footer__columns {
        -ms-grid-rows: auto 2rem auto;
        grid-template-rows: repeat(2, auto);
        -ms-grid-columns: 1fr 2rem 1fr;
        grid-template-columns: repeat(2, 1fr);
        max-width: none; } }
    @media (min-width: 60em) {
      .site-footer .footer__columns {
        -ms-grid-rows: auto;
        grid-template-rows: auto;
        -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr 2rem 1fr;
        grid-template-columns: repeat(4, 1fr); } }
  .site-footer .footer__column--quick-links {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1; }
  .site-footer .footer__column--resources {
    -ms-grid-row: 3;
    grid-row: 2;
    -ms-grid-column: 1;
    grid-column: 1; }
    @media (min-width: 45em) {
      .site-footer .footer__column--resources {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 3;
        grid-column: 2; } }
  .site-footer .footer__column--departments {
    -ms-grid-row: 5;
    grid-row: 3;
    -ms-grid-column: 1;
    grid-column: 1; }
    @media (min-width: 45em) {
      .site-footer .footer__column--departments {
        -ms-grid-row: 3;
        grid-row: 2;
        -ms-grid-column: 1;
        grid-column: 1; } }
    @media (min-width: 60em) {
      .site-footer .footer__column--departments {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 5;
        grid-column: 3; } }
  .site-footer .footer__column--contact {
    -ms-grid-row: 7;
    grid-row: 4;
    -ms-grid-column: 1;
    grid-column: 1; }
    @media (min-width: 45em) {
      .site-footer .footer__column--contact {
        -ms-grid-row: 3;
        grid-row: 2;
        -ms-grid-column: 3;
        grid-column: 2; } }
    @media (min-width: 60em) {
      .site-footer .footer__column--contact {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 7;
        grid-column: 4; } }
  .site-footer .footer__column.content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start; }
    .site-footer .footer__column.content .links-header {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      padding: 0 0 0 0; }
  .site-footer .footer__column .links-header {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0.135em;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    color: #d7d392; }
  .site-footer .footer__column .menu-item a {
    display: block;
    padding: 0.625rem 0;
    font-family: "Industry";
    font-size: 0.625rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0.075em;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.615);
    transition: all 220ms linear 0ms; }
    .site-footer .footer__column .menu-item a:visited {
      color: rgba(255, 255, 255, 0.615); }
    .site-footer .footer__column .menu-item a:hover, .site-footer .footer__column .menu-item a:focus, .site-footer .footer__column .menu-item a:active {
      color: #D7D392; }
  .site-footer .footer__column .menu-item .break {
    display: none; }
  .site-footer .footer__column .contact-info {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-positive: 1;
        flex-grow: 1;
    width: 100%;
    margin: 0 0 1rem 0; }
    .site-footer .footer__column .contact-info > * {
      max-width: 100%; }
    .site-footer .footer__column .contact-info .contact-label {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      height: 1rem;
      margin: 0 0 0.25rem 0;
      font-family: "Industry";
      font-size: 0.5625rem;
      font-weight: 700;
      font-style: normal;
      line-height: 0.625rem;
      letter-spacing: 0.115em;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      color: rgba(255, 255, 255, 0.815); }
    .site-footer .footer__column .contact-info .contact-text {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      margin: 0 0 0.75rem 0;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 600;
      font-style: normal;
      text-decoration: none;
      line-height: 0.875rem;
      letter-spacing: 0.065em;
      color: rgba(255, 255, 255, 0.515); }
      .site-footer .footer__column .contact-info .contact-text a {
        color: inherit; }
        .site-footer .footer__column .contact-info .contact-text a:visited {
          color: inherit; }
        .site-footer .footer__column .contact-info .contact-text a:hover, .site-footer .footer__column .contact-info .contact-text a:focus, .site-footer .footer__column .contact-info .contact-text a:active {
          color: #D7D392; }
  .site-footer__bottom {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    background-color: rgba(8, 40, 24, 0.555); }
    @media screen and (max-width: 39.9375em) {
      .site-footer__bottom {
        padding: 3rem 3rem 3rem 3rem; } }
    @media (min-width: 45em) {
      .site-footer__bottom {
        padding: 1.5rem 5rem; } }
    .site-footer__bottom .link-list {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .site-footer__bottom .link-list-item {
        margin-bottom: 0.375rem;
        padding-right: 0.5rem;
        font-family: "Industry";
        font-size: 0.5625rem;
        font-weight: 600;
        font-style: normal; }
        @media (min-width: 45em) {
          .site-footer__bottom .link-list-item {
            margin-bottom: .25rem;
            padding-right: 0.75rem;
            font-size: .625rem; } }
      .site-footer__bottom .link-list .link {
        text-decoration: none;
        line-height: 1;
        letter-spacing: 0.065em;
        color: rgba(255, 255, 255, 0.755);
        transition: all 220ms linear 0ms;
        cursor: pointer; }
        .site-footer__bottom .link-list .link:visited {
          color: rgba(255, 255, 255, 0.755); }
        .site-footer__bottom .link-list .link:hover, .site-footer__bottom .link-list .link:focus, .site-footer__bottom .link-list .link:active {
          color: #D7D392;
          background-color: rgba(255, 255, 255, 0); }
    .site-footer__bottom .copyright {
      margin: 0;
      font-family: "Industry";
      font-size: 0.5625rem;
      font-weight: 600;
      font-style: normal;
      line-height: 1;
      letter-spacing: 0.065em;
      color: rgba(255, 255, 255, 0.755); }
      @media (min-width: 45em) {
        .site-footer__bottom .copyright {
          font-size: 0.625rem; } }
      .site-footer__bottom .copyright .symbol {
        margin-right: .25rem;
        font-size: 0.6875rem;
        font-weight: 700;
        font-style: normal; }
    .site-footer__bottom .brand-legacy {
      position: relative;
      width: 16rem;
      height: 2rem;
      color: white; }
      @media screen and (max-width: 63.9375em) {
        .site-footer__bottom .brand-legacy {
          margin: 1rem 0 0 0; } }
      .site-footer__bottom .brand-legacy:hover svg path {
        fill-opacity: 1.000; }
      .site-footer__bottom .brand-legacy svg path {
        fill: white;
        fill-opacity: 0.825;
        transition: all 220ms linear 0ms; }

.billboard-homepage {
  min-height: 100vh;
  background-color: #1c2322;
  background-image: linear-gradient(168deg, transparent 50%, rgba(19, 82, 75, 0.755) 100%), linear-gradient(189deg, transparent 20%, rgba(21, 97, 64, 0.655) 100%), linear-gradient(45deg, transparent 0%, rgba(10, 51, 33, 0.785) 100%), linear-gradient(90deg, transparent 0%, rgba(2, 37, 49, 0.785) 100%), linear-gradient(155deg, rgba(215, 211, 146, 0.005) 0%, rgba(215, 211, 146, 0.275) 100%);
  filter: blur(0px); }
  .billboard-homepage.image:before {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; }
  .billboard-homepage.pattern:before {
    background-repeat: repeat;
    background-size: cover;
    background-position: center center;
    filter: blur(0px) opacity(0.085); }
  .billboard-homepage.site-menu-open {
    filter: blur(8px);
    transition: all 0ms linear 0ms; }
    .billboard-homepage.site-menu-open:before {
      filter: blur(8px);
      transition: all 0ms linear 0ms; }
  .billboard-homepage .text {
    font-family: "Industry";
    font-size: 0.6875rem;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.085em;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none; }
    .billboard-homepage .text .gold {
      font-style: normal;
      color: #D7D392; }
    .billboard-homepage .text .dot {
      color: rgba(255, 255, 255, 0.615); }
  .billboard-homepage .arrow-controls {
    position: absolute;
    right: 2.5rem;
    bottom: 2.5rem;
    z-index: 200;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    width: 8rem;
    height: 4rem;
    margin: 0;
    padding: 0; }
  .billboard-homepage .billboard-control {
    position: absolute;
    bottom: 2.5rem;
    z-index: 200;
    width: 4rem;
    height: 4rem;
    margin: 0;
    padding: 0;
    transition: all 220ms linear 0ms; }
    @media screen and (max-width: 39.9375em) {
      .billboard-homepage .billboard-control {
        bottom: 18rem;
        width: 3rem;
        height: 3rem; } }
    .billboard-homepage .billboard-control.prev-arrow:hover, .billboard-homepage .billboard-control.next-arrow:hover {
      background-color: #349aaa;
      cursor: pointer; }
    .billboard-homepage .billboard-control.prev-arrow.slick-disabled, .billboard-homepage .billboard-control.next-arrow.slick-disabled {
      cursor: not-allowed; }
      .billboard-homepage .billboard-control.prev-arrow.slick-disabled svg, .billboard-homepage .billboard-control.next-arrow.slick-disabled svg {
        opacity: 0.465; }
    .billboard-homepage .billboard-control.prev-arrow {
      right: 6.5rem;
      z-index: 201;
      background-color: rgba(255, 255, 255, 0.035); }
      @media screen and (max-width: 39.9375em) {
        .billboard-homepage .billboard-control.prev-arrow {
          right: 5rem; } }
      .billboard-homepage .billboard-control.prev-arrow.slick-disabled {
        background-color: rgba(255, 255, 255, 0.035); }
    .billboard-homepage .billboard-control.next-arrow {
      right: 2.5rem;
      background-color: rgba(255, 255, 255, 0.075); }
      @media screen and (max-width: 39.9375em) {
        .billboard-homepage .billboard-control.next-arrow {
          right: 2rem; } }
      .billboard-homepage .billboard-control.next-arrow.slick-disabled {
        background-color: rgba(255, 255, 255, 0.075); }
      .billboard-homepage .billboard-control.next-arrow:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: -4rem;
        z-index: -1;
        width: 8rem;
        height: 4rem;
        box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.685); }
        @media screen and (max-width: 39.9375em) {
          .billboard-homepage .billboard-control.next-arrow:before {
            left: -3rem;
            width: 6rem;
            height: 3rem; } }
    .billboard-homepage .billboard-control .button-label {
      position: absolute;
      visibility: hidden; }

.billboard-slides {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow: visible;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
  width: auto;
  height: 100vh;
  opacity: 1.000;
  transition: all 240ms linear 160ms; }
  .billboard-slides.site-menu-open .ui-slide-article .slide-artwork {
    filter: blur(8px);
    transition: filter 20ms linear 0ms; }
  .billboard-slides .slick-list {
    position: relative;
    z-index: 20;
    width: 100vw;
    height: 100vh; }
  .billboard-slides .slick-slide {
    position: relative;
    z-index: 0;
    height: 100vh; }
    .billboard-slides .slick-slide.slick-active {
      z-index: 1; }
  .billboard-slides .ui-slide-article {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    width: 100vw;
    height: 100vh; }
    .billboard-slides .ui-slide-article .slide-container {
      position: absolute;
      top: -1rem;
      right: -1rem;
      bottom: -1rem;
      left: -1rem;
      z-index: 10;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      width: calc( 100vw + 2rem);
      height: calc( 100vh + 2rem);
      margin: 0;
      padding: 1rem; }
    .billboard-slides .ui-slide-article .slide-artwork {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      overflow: visible;
      filter: blur(0px);
      transition: filter 40ms linear 120ms; }
      .billboard-slides .ui-slide-article .slide-artwork .dark {
        z-index: 20;
        background-image: linear-gradient(52deg, rgba(8, 40, 24, 0.975) 0%, rgba(10, 51, 33, 0) 70%); }
      .billboard-slides .ui-slide-article .slide-artwork .lite {
        z-index: 10;
        background-image: linear-gradient(0deg, rgba(8, 40, 24, 0.875) 20%, rgba(10, 51, 33, 0) 100%); }
      .billboard-slides .ui-slide-article .slide-artwork .slide-billboard {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center; }
      .billboard-slides .ui-slide-article .slide-artwork .slide-color {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    .billboard-slides .ui-slide-article .slide-content-container {
      position: relative;
      z-index: 100;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      width: 100vw;
      height: 100vh;
      padding: 2.5rem 2.5rem 2.5rem 2.5rem;
      background-color: rgba(255, 255, 255, 0); }
      @media screen and (max-width: 39.9375em) {
        .billboard-slides .ui-slide-article .slide-content-container {
          width: 100%;
          height: 100%;
          padding: 0 2rem 2rem 2rem; } }
    .billboard-slides .ui-slide-article .slide-content {
      max-width: 100%;
      background-image: linear-gradient(180deg, rgba(17, 81, 53, 0) 0%, rgba(255, 0, 0, 0) 100%); }
    .billboard-slides .ui-slide-article .line,
    .billboard-slides .ui-slide-article .text,
    .billboard-slides .ui-slide-article .button-link {
      position: relative;
      z-index: 20; }
    .billboard-slides .ui-slide-article .line {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none; }
    .billboard-slides .ui-slide-article .subheadline {
      margin: 0 0 1.5rem 0;
      padding: 0 0 0 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.75rem;
      font-weight: 400;
      font-style: normal;
      line-height: 1rem;
      letter-spacing: 0.245rem;
      color: #d7d392; }
      @media screen and (max-width: 63.9375em) {
        .billboard-slides .ui-slide-article .subheadline {
          margin: 0 0 1rem 0; } }
      @media screen and (max-width: 39.9375em) {
        .billboard-slides .ui-slide-article .subheadline {
          margin: 0 0 1rem 0;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 400;
          font-style: normal; } }
    .billboard-slides .ui-slide-article .headline {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: end;
          align-items: flex-end;
      margin: 0 0 0.75rem 0;
      padding: 0 0 0 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 4rem;
      font-weight: 400;
      font-style: normal;
      line-height: 3rem;
      letter-spacing: 0.065em;
      color: white;
      transition: all 480ms cubic-bezier(0.23, 1, 0.32, 1) 120ms; }
      @media screen and (max-width: 63.9375em) {
        .billboard-slides .ui-slide-article .headline {
          line-height: 2rem;
          letter-spacing: 0.065em; } }
      @media screen and (max-width: 39.9375em) {
        .billboard-slides .ui-slide-article .headline {
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 2rem;
          font-weight: 400;
          font-style: normal; } }
    .billboard-slides .ui-slide-article .description {
      margin: 0.75rem 0 0 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      line-height: 1.375rem;
      letter-spacing: 0.035em;
      color: rgba(255, 255, 255, 0.875); }
      @media screen and (max-width: 39.9375em) {
        .billboard-slides .ui-slide-article .description br {
          display: none; } }
    .billboard-slides .ui-slide-article .button-link {
      position: relative;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 1.5rem 0 0 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.6875rem;
      letter-spacing: 0.045em;
      color: white;
      background-color: rgba(255, 255, 255, 0.035);
      box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.835);
      transition: all 220ms linear 0ms;
      text-decoration: none; }
      .billboard-slides .ui-slide-article .button-link:hover, .billboard-slides .ui-slide-article .button-link:focus, .billboard-slides .ui-slide-article .button-link:active {
        background-color: rgba(255, 255, 255, 0.135); }
        .billboard-slides .ui-slide-article .button-link:hover .corners.right:before, .billboard-slides .ui-slide-article .button-link:hover .corners.right:after, .billboard-slides .ui-slide-article .button-link:hover .corners.left:before, .billboard-slides .ui-slide-article .button-link:hover .corners.left:after, .billboard-slides .ui-slide-article .button-link:focus .corners.right:before, .billboard-slides .ui-slide-article .button-link:focus .corners.right:after, .billboard-slides .ui-slide-article .button-link:focus .corners.left:before, .billboard-slides .ui-slide-article .button-link:focus .corners.left:after, .billboard-slides .ui-slide-article .button-link:active .corners.right:before, .billboard-slides .ui-slide-article .button-link:active .corners.right:after, .billboard-slides .ui-slide-article .button-link:active .corners.left:before, .billboard-slides .ui-slide-article .button-link:active .corners.left:after {
          transition: all 120ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
        .billboard-slides .ui-slide-article .button-link:hover .corners.left:before, .billboard-slides .ui-slide-article .button-link:focus .corners.left:before, .billboard-slides .ui-slide-article .button-link:active .corners.left:before {
          width: 100%;
          height: 100%;
          transition-delay: 0ms; }
        .billboard-slides .ui-slide-article .button-link:hover .corners.left:after, .billboard-slides .ui-slide-article .button-link:focus .corners.left:after, .billboard-slides .ui-slide-article .button-link:active .corners.left:after {
          width: 100%;
          height: 100%;
          transition-delay: 30ms; }
        .billboard-slides .ui-slide-article .button-link:hover .corners.right:before, .billboard-slides .ui-slide-article .button-link:focus .corners.right:before, .billboard-slides .ui-slide-article .button-link:active .corners.right:before {
          width: 100%;
          height: 100%;
          transition-delay: 0ms; }
        .billboard-slides .ui-slide-article .button-link:hover .corners.right:after, .billboard-slides .ui-slide-article .button-link:focus .corners.right:after, .billboard-slides .ui-slide-article .button-link:active .corners.right:after {
          width: 100%;
          height: 100%;
          transition-delay: 30ms; }
      .billboard-slides .ui-slide-article .button-link .corners {
        position: absolute;
        top: 0;
        bottom: 0;
        z-index: 0;
        width: 50%;
        height: 4rem; }
        .billboard-slides .ui-slide-article .button-link .corners.left {
          left: 0; }
          .billboard-slides .ui-slide-article .button-link .corners.left:before, .billboard-slides .ui-slide-article .button-link .corners.left:after {
            left: 0;
            border-right: none; }
          .billboard-slides .ui-slide-article .button-link .corners.left:before {
            top: 0;
            width: 0.5rem;
            border-bottom: none;
            transition-delay: 0ms; }
          .billboard-slides .ui-slide-article .button-link .corners.left:after {
            bottom: 0;
            width: 0.5rem;
            border-top: none;
            transition-delay: 30ms; }
        .billboard-slides .ui-slide-article .button-link .corners.right {
          right: 0; }
          .billboard-slides .ui-slide-article .button-link .corners.right:before, .billboard-slides .ui-slide-article .button-link .corners.right:after {
            right: 0;
            border-left: none; }
          .billboard-slides .ui-slide-article .button-link .corners.right:before {
            top: 0;
            width: 0.5rem;
            border-bottom: none;
            transition-delay: 0ms; }
          .billboard-slides .ui-slide-article .button-link .corners.right:after {
            bottom: 0;
            width: 0.5rem;
            border-top: none;
            transition-delay: 30ms; }
        .billboard-slides .ui-slide-article .button-link .corners:before, .billboard-slides .ui-slide-article .button-link .corners:after {
          content: '';
          position: absolute;
          width: 0.5rem;
          height: 0.5rem;
          border: 1px solid #D7D392;
          transition: all 240ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }

.ui-article {
  background-color: #1c2322; }
  .site-menu-open .ui-article .article-container {
    filter: blur(8px);
    transition: all 0ms linear 0ms; }
  .ui-article .article-container {
    filter: blur(0px);
    transition: all 0ms linear 0ms; }
    .ui-article .article-container.has-content-layer {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start; }
      .ui-article .article-container.has-content-layer .section-title {
        position: absolute;
        top: 6rem;
        left: 2rem;
        z-index: 40;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        height: 4rem;
        margin: 0;
        padding: 0 0 0 1rem; }
      .ui-article .article-container.has-content-layer .content-layer {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: stretch;
            align-items: stretch; }
    .ui-article .article-container.content-bottom {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .ui-article .section-base {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem 1rem 1rem 1rem;
    padding: 0;
    opacity: 1.000; }
  .ui-article .section-title {
    position: relative;
    z-index: 100;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2.5rem;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.135em;
    line-height: 2.5rem;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    color: white; }
    .ui-article .section-title.bottom {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      margin: 0;
      padding: 0 0 1rem 1rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2.5rem;
      font-weight: 400;
      font-style: normal;
      line-height: 1.75rem;
      letter-spacing: 0.135em;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      color: #d7d392; }
  .ui-article .content-strip {
    position: relative;
    z-index: 50;
    width: 100%;
    height: 16rem; }
    .ui-article .content-strip.white {
      background-color: rgba(255, 255, 255, 0.895); }
  .ui-article .section-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    margin: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom; }
    .ui-article .section-content span {
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 600;
      font-style: normal;
      line-height: 0.5rem;
      letter-spacing: 0.085em;
      color: white;
      transition: all 220ms linear 0ms; }
    .ui-article .section-content .content {
      background-color: rgba(255, 255, 255, 0.055);
      transition: all 220ms linear 0ms; }
      .ui-article .section-content .content:hover {
        background-color: rgba(10, 51, 33, 0.575); }
        .ui-article .section-content .content:hover span {
          color: #D7D392;
          transition: all 220ms linear 0ms; }
    .ui-article .section-content .main {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start;
      width: 47rem; }
      .ui-article .section-content .main .content {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
      .ui-article .section-content .main .feature {
        height: 21rem; }
      .ui-article .section-content .main .cards {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: start;
            align-items: flex-start;
        width: 100%;
        height: 13rem;
        overflow: scroll; }
        .ui-article .section-content .main .cards .card-array {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: stretch;
              align-items: stretch;
          width: auto;
          height: 100%; }
        .ui-article .section-content .main .cards .card {
          display: -ms-inline-flexbox;
          display: inline-flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          width: 16rem;
          height: 100%;
          margin: 0 1rem 0 0; }
          .ui-article .section-content .main .cards .card:last-child {
            margin-right: 0; }
    .ui-article .section-content .sidebar {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 19rem;
      height: 100%; }

.section-testimonial {
  position: relative; }
  .section-testimonial .section-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    height: 100vh;
    padding: 5rem 5rem 5rem 5rem; }
    @media screen and (max-width: 39.9375em) {
      .section-testimonial .section-content {
        padding: 2rem 2rem 2rem 2rem; } }
    .section-testimonial .section-content span {
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 600;
      font-style: normal;
      line-height: 0.5rem;
      letter-spacing: 0.085em;
      color: white;
      transition: all 220ms linear 0ms; }
    .section-testimonial .section-content .image-layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: inherit;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      overflow: hidden; }
      .section-testimonial .section-content .image-layer .layer {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: inherit;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        overflow: hidden;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center; }
      .section-testimonial .section-content .image-layer .blur {
        padding: calc( 100vh - 23rem) 4.5rem 4.5rem 4.5rem;
        background-clip: content-box; }
        @media screen and (max-width: 39.9375em) {
          .section-testimonial .section-content .image-layer .blur {
            padding: calc( 100vh - 18.5rem) 2rem 2rem 2rem; } }
    .section-testimonial .section-content .design-layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: inherit;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      overflow: hidden; }
      .section-testimonial .section-content .design-layer .fx-layer {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: inherit;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        overflow: hidden;
        opacity: 1.000; }
      .section-testimonial .section-content .design-layer .color-layer {
        background-image: linear-gradient(123deg, rgba(8, 40, 24, 0.785) 0%, rgba(10, 51, 33, 0.235) 60%, rgba(225, 150, 62, 0.655) 100%);
        opacity: 1.000; }
    .section-testimonial .section-content .content-layer {
      position: relative;
      max-width: 100%; }
    .section-testimonial .section-content .title-layer {
      position: absolute;
      top: 0;
      right: 0;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: center;
          align-items: center;
      height: 3rem;
      margin: 0;
      padding: 0 1rem 0 1rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 0.75rem;
      font-weight: 500;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.75rem;
      letter-spacing: 0.165em;
      color: #e1963e;
      display: none; }
    .section-testimonial .section-content .slider {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      width: 100%;
      height: auto;
      margin: 0;
      padding: 4rem 3rem 3rem 3rem;
      background-color: rgba(255, 255, 255, 0.905);
      box-shadow: 0 1.5rem 4rem 0 rgba(0, 0, 0, 0.685); }
      @media screen and (max-width: 39.9375em) {
        .section-testimonial .section-content .slider {
          padding: 2rem 2rem 2rem 2rem; } }
      .section-testimonial .section-content .slider > * {
        max-width: 100%; }
    .section-testimonial .section-content .slide-text {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
      padding: 0 3rem 0 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.375rem;
      font-weight: 500;
      font-style: italic;
      line-height: 1.75rem;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      color: rgba(23, 45, 42, 0.815); }
      @media screen and (max-width: 39.9375em) {
        .section-testimonial .section-content .slide-text {
          padding: 0 0 0 0;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 0.875rem;
          font-weight: 500;
          font-style: italic;
          line-height: 1.25rem;
          letter-spacing: 0.035em; } }
      .section-testimonial .section-content .slide-text:before {
        content: '\201c';
        position: absolute;
        top: -1.75rem;
        left: -2rem;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        width: 4rem;
        height: 4rem;
        margin: 0;
        padding: 2rem 0 0 0;
        font-family: "Industry";
        font-size: 10rem;
        font-weight: 700;
        font-style: italic;
        color: rgba(225, 150, 62, 0.315); }
        @media screen and (max-width: 39.9375em) {
          .section-testimonial .section-content .slide-text:before {
            font-size: 7rem; } }
    .section-testimonial .section-content .slide-meta {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start;
      width: 100%;
      height: 4rem;
      margin: 1rem 0 0 0;
      padding: 0;
      opacity: 1.000; }
      @media screen and (max-width: 39.9375em) {
        .section-testimonial .section-content .slide-meta {
          height: auto;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: stretch;
              align-items: stretch; } }
      .section-testimonial .section-content .slide-meta .slide-citation {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: start;
            align-items: flex-start;
        height: 4rem;
        margin: 0;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: normal;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        letter-spacing: 0.035em; }
        @media screen and (max-width: 39.9375em) {
          .section-testimonial .section-content .slide-meta .slide-citation {
            height: auto;
            margin: 0 0 1rem 0; } }
        .section-testimonial .section-content .slide-meta .slide-citation strong {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: end;
              align-items: flex-end;
          height: 2rem;
          font-weight: 900;
          line-height: 1rem;
          color: #156140; }
          @media screen and (max-width: 39.9375em) {
            .section-testimonial .section-content .slide-meta .slide-citation strong {
              height: auto; } }
        .section-testimonial .section-content .slide-meta .slide-citation em {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: center;
              align-items: center;
          font-family: "Industry";
          font-size: 0.5625rem;
          font-weight: 700;
          font-style: normal;
          line-height: 0.75rem;
          color: rgba(23, 45, 42, 0.785); }
      .section-testimonial .section-content .slide-meta .slide-button {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        width: auto;
        height: 4rem;
        margin: 0;
        padding: 0.0625rem 1.5rem 0 1.5rem;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1rem;
        font-weight: 400;
        font-style: normal;
        line-height: 1rem;
        letter-spacing: 0.125rem;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none;
        color: white;
        background-color: #156140;
        box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.715);
        transition: all 220ms linear 0ms;
        text-decoration: none; }
        @media screen and (max-width: 39.9375em) {
          .section-testimonial .section-content .slide-meta .slide-button {
            height: 3rem;
            font-size: 0.875rem; } }
        .section-testimonial .section-content .slide-meta .slide-button:hover, .section-testimonial .section-content .slide-meta .slide-button:focus, .section-testimonial .section-content .slide-meta .slide-button:active {
          background-color: #d78421; }

.section-academics {
  position: relative;
  box-shadow: 0 2rem 7rem 0 rgba(0, 0, 0, 0.375); }
  .section-academics.site-menu-open .section-content {
    opacity: 0.000;
    transition: all 40ms linear 0ms; }
  .section-academics .section-image,
  .section-academics .section-base {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .section-academics .section-image {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
    opacity: 0.725; }
  .section-academics .section-base {
    background-color: rgba(10, 51, 33, 0.785); }
  .section-academics .section-content {
    position: relative;
    transition: all 40ms linear 160ms;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    padding: 6rem 2rem 1rem 2rem; }
    @media (min-width: 40em) {
      .section-academics .section-content {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: stretch;
            align-items: stretch;
        min-height: 80vh;
        padding: 10rem 4rem 10rem 4rem; } }
  .section-academics .text-layer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    margin: 0 0 1rem 0;
    padding: 0 0 0 0;
    text-align: center;
    text-transform: inherit;
    text-decoration: none; }
    @media screen and (max-width: 39.9375em) {
      .section-academics .text-layer {
        width: 100%;
        padding: 2.5rem 0 0 0; } }
    .section-academics .text-layer .layer-title {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      margin: 0 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2.25rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 2rem;
      letter-spacing: 0.045em;
      color: #d7d392; }
    .section-academics .text-layer .layer-text {
      margin: 1rem 0 1rem 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      line-height: 1.25rem;
      letter-spacing: 0.035em;
      color: white; }
  .section-academics .links-layer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    margin: 1rem 0 0 0; }
    @media screen and (max-width: 39.9375em) {
      .section-academics .links-layer {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        width: 100%; } }
    .section-academics .links-layer .layer-link {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      -ms-flex-preferred-size: 33.3333333%;
          flex-basis: 33.3333333%;
      height: 12rem;
      margin: 0 1rem 0 1rem;
      padding: 0rem 1.5rem 1.5rem 1.5rem;
      overflow: hidden;
      text-decoration: none;
      color: white;
      background-color: rgba(5, 25, 16, 0.635);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.675);
      transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      @media screen and (max-width: 39.9375em) {
        .section-academics .links-layer .layer-link {
          -ms-flex-preferred-size: auto;
              flex-basis: auto;
          width: 100%;
          margin: 1rem 0 1rem 0; } }
      .section-academics .links-layer .layer-link:hover, .section-academics .links-layer .layer-link:focus, .section-academics .links-layer .layer-link:active {
        background-color: rgba(255, 255, 255, 0.085); }
      .section-academics .links-layer .layer-link:hover:before {
        filter: opacity(0.815) grayscale(0);
        transform: scale3d(1.25, 1.25, 1.25);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .section-academics .links-layer .layer-link:hover:after {
        background-color: rgba(8, 40, 24, 0.355); }
      .section-academics .links-layer .layer-link:before, .section-academics .links-layer .layer-link:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
      .section-academics .links-layer .layer-link:before {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        filter: opacity(0.545) grayscale(0);
        transform: scale3d(1, 1, 1);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .section-academics .links-layer .layer-link:after {
        background-color: rgba(10, 51, 33, 0.435);
        background-image: linear-gradient(0deg, rgba(21, 97, 64, 0.735) 0%, rgba(0, 0, 0, 0) 100%);
        transition: all 220ms linear 0ms; }
      .section-academics .links-layer .layer-link span {
        position: relative;
        z-index: 1;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 0.75rem;
        letter-spacing: 0.045em; }
    .section-academics .links-layer #undergraduate-link:before {
      background-position: center bottom; }

.section-research {
  background-color: rgba(2, 37, 49, 0.855); }
  .section-research__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    background: no-repeat center center / cover; }
    @media (min-width: 40em) {
      .section-research__inner {
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: repeat(2, 1fr); } }
    .section-research__inner:before {
      content: '';
      -ms-grid-row: 1;
      grid-row: 1;
      -ms-grid-column: 1;
      grid-column: 1;
      background-color: rgba(2, 37, 49, 0.535); }
      @media (min-width: 40em) {
        .section-research__inner:before {
          -ms-grid-column-span: 2;
          grid-column: 1 / -1; } }
  .section-research__content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    padding: 2rem;
    background-color: rgba(2, 37, 49, 0);
    background-image: linear-gradient(0deg, rgba(52, 154, 170, 0.415) 0%, transparent 80%); }
    @media (min-width: 40em) {
      .section-research__content {
        -ms-grid-column: 2;
        grid-column: 2;
        min-height: 70vh;
        padding: 5rem;
        background-color: rgba(2, 37, 49, 0.735); } }
    .section-research__content > * {
      max-width: 100%; }
    .section-research__content .headline {
      margin: 0 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 1;
      letter-spacing: 0.085em;
      color: #c0d62a; }
    .section-research__content .text {
      margin: 0 0 2rem 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      line-height: 1.5rem;
      letter-spacing: 0.035em;
      color: #dadeeb; }
    .section-research__content .cta {
      margin: 0; }
    .section-research__content .content-button {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.75rem;
      letter-spacing: 0.135em;
      color: white;
      background-color: rgba(255, 255, 255, 0.015);
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms;
      text-decoration: none; }
      .section-research__content .content-button:hover, .section-research__content .content-button:focus, .section-research__content .content-button:active {
        background-color: #349aaa;
        cursor: pointer; }

.section-places {
  position: relative;
  background: #bc4c2d; }
  .section-places .section-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    opacity: 0.215;
    mix-blend-mode: multiply;
    transition: all 720ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
  .section-places__inner {
    padding: 2rem 1rem 1rem 1rem; }
    @media (min-width: 40em) {
      .section-places__inner {
        padding: 5rem 4rem 4rem 4rem; } }
    .section-places__inner > a {
      text-decoration: none; }
  .section-places__heading {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: end;
        align-items: flex-end;
    margin: 0 0 0 1rem;
    padding: 0 0 1rem 1rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.25rem;
    letter-spacing: 0.135em;
    color: white;
    text-decoration: none; }
    @media (min-width: 40em) {
      .section-places__heading {
        font-size: 2rem; } }
    .section-places__heading:before {
      content: '';
      position: absolute;
      top: 0.5rem;
      bottom: 0.25rem;
      left: 0;
      z-index: 10;
      width: 2px;
      height: 1.5rem;
      background-color: #e35530; }
    .section-places__heading:hover, .section-places__heading:focus, .section-places__heading:active {
      cursor: pointer; }
      .section-places__heading:hover .title-link, .section-places__heading:focus .title-link, .section-places__heading:active .title-link {
        color: white;
        transform: translate3d(-1.5rem, 0, 0);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        .section-places__heading:hover .title-link:after, .section-places__heading:focus .title-link:after, .section-places__heading:active .title-link:after {
          opacity: 1.000;
          transform: translate3d(0, 0, 0);
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    .section-places__heading .title-link {
      position: relative;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      height: 2rem;
      margin: 0 1rem 0 0;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 700;
      font-style: normal;
      line-height: 0.5rem;
      letter-spacing: 0.075em;
      color: white;
      transform: translate3d(0, 0, 0);
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .section-places__heading .title-link:after {
        position: absolute;
        top: 0;
        right: -1.5rem;
        bottom: 0;
        opacity: 0.000;
        transform: translate3d(-2rem, 0, 0);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  .section-places__desc {
    margin: 1rem 1rem 0;
    color: white; }

.places__grid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .places__grid-item {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% - 2rem);
    height: 20rem;
    min-height: 24vw;
    margin: 1rem 1rem 1rem 1rem;
    padding: 2rem;
    overflow: hidden;
    color: white;
    box-shadow: 0 1.5rem 4rem 0 rgba(0, 0, 0, 0.385);
    transform: translate3d(0, 0, 0);
    transition: all 240ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    @media (min-width: 60em) {
      .places__grid-item {
        width: calc(50% - 2rem); } }
    .places__grid-item:hover, .places__grid-item:focus, .places__grid-item:active {
      cursor: pointer; }
      .places__grid-item:hover .thumb-artwork, .places__grid-item:focus .thumb-artwork, .places__grid-item:active .thumb-artwork {
        filter: opacity(0.865);
        transform: scale3d(1.15, 1.15, 1.15);
        transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
      .places__grid-item:hover .thumb-overlay, .places__grid-item:focus .thumb-overlay, .places__grid-item:active .thumb-overlay {
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        .places__grid-item:hover .thumb-overlay:before, .places__grid-item:focus .thumb-overlay:before, .places__grid-item:active .thumb-overlay:before {
          opacity: 0.000;
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .places__grid-item:hover header, .places__grid-item:focus header, .places__grid-item:active header {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 30;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
        width: 100%; }
        .places__grid-item:hover header .place-title,
        .places__grid-item:hover header .place-link, .places__grid-item:focus header .place-title,
        .places__grid-item:focus header .place-link, .places__grid-item:active header .place-title,
        .places__grid-item:active header .place-link {
          transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
        .places__grid-item:hover header .place-title, .places__grid-item:focus header .place-title, .places__grid-item:active header .place-title {
          transform: translate3d(0, -1rem, 0); }
        .places__grid-item:hover header .place-link, .places__grid-item:focus header .place-link, .places__grid-item:active header .place-link {
          display: block;
          visibility: visible;
          opacity: 1.000;
          transform: translate3d(0, -1rem, 0); }
    .places__grid-item .thumb-artwork,
    .places__grid-item .thumb-overlay {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
    .places__grid-item .thumb-artwork {
      z-index: 1;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      filter: opacity(1) grayscale(0);
      transform: scale3d(1, 1, 1);
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    .places__grid-item .thumb-overlay {
      z-index: 2;
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .places__grid-item .thumb-overlay:before, .places__grid-item .thumb-overlay:after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .places__grid-item .thumb-overlay:before {
        content: '';
        z-index: 10;
        background-color: rgba(227, 85, 48, 0.655);
        opacity: 0.000; }
      .places__grid-item .thumb-overlay:after {
        content: '';
        z-index: 20;
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #022531 80%);
        opacity: 0.925; }
    .places__grid-item header {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 3;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      width: 100%;
      padding: 0 2rem 2rem 4rem; }
      @media (min-width: 40em) {
        .places__grid-item header {
          padding-left: 0; } }
      .places__grid-item header .place-title,
      .places__grid-item header .place-link {
        transform: translate3d(0, 0, 0);
        transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms;
        max-width: 100%; }
      .places__grid-item header .place-title {
        margin-bottom: .1875em;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1.25rem;
        font-weight: 400;
        font-style: normal;
        text-align: right;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 1;
        letter-spacing: 0.085em;
        color: #dadeeb; }
      .places__grid-item header .place-link {
        position: absolute;
        right: 2rem;
        bottom: 1rem;
        z-index: 10;
        font-family: "Industry";
        font-size: 0.6875rem;
        font-weight: 700;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 0.75rem;
        letter-spacing: 0.045em;
        color: #e35530;
        opacity: 0.000;
        transform: translate3d(0, 2rem, 0); }

#events .section-base {
  background-color: rgba(239, 238, 218, 0.755); }

#events .section-title {
  color: #115135; }

.section-news {
  background-color: rgba(239, 238, 218, 0.915);
  padding: 2rem 1rem 0rem 1rem; }
  @media (min-width: 45em) {
    .section-news {
      padding: 5rem 4rem 5rem 4rem; } }
  .section-news > a {
    text-decoration: none; }
  .section-news .section-title {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: end;
        align-items: flex-end;
    height: 3rem;
    margin: 0 0 1rem 1rem;
    padding: 0 0 1rem 1rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.25rem;
    letter-spacing: 0.135em;
    color: rgba(10, 51, 33, 0.875);
    text-decoration: none; }
    @media screen and (max-width: 39.9375em) {
      .section-news .section-title {
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1.5rem;
        font-weight: 400;
        font-style: normal;
        text-align: left;
        text-transform: uppercase;
        text-decoration: none; } }
    .section-news .section-title:before {
      content: '';
      position: absolute;
      top: 0.5rem;
      bottom: 0.25rem;
      left: 0;
      z-index: 10;
      width: 2px;
      height: 1.5rem;
      background-color: #1c8055; }
    .section-news .section-title:hover, .section-news .section-title:focus, .section-news .section-title:active {
      cursor: pointer; }
      .section-news .section-title:hover .title-link, .section-news .section-title:focus .title-link, .section-news .section-title:active .title-link {
        color: #0a3321;
        transform: translate3d(-1.5rem, 0, 0);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        .section-news .section-title:hover .title-link:after, .section-news .section-title:focus .title-link:after, .section-news .section-title:active .title-link:after {
          opacity: 1.000;
          transform: translate3d(0, 0, 0);
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    .section-news .section-title .title-link {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      height: 2rem;
      margin: 0 1rem 0 0;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 700;
      font-style: normal;
      line-height: 0.5rem;
      letter-spacing: 0.075em;
      color: #0a3321;
      transform: translate3d(0, 0, 0);
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .section-news .section-title .title-link:after {
        position: absolute;
        top: 0;
        right: -1.5rem;
        bottom: 0;
        opacity: 0.000;
        transform: translate3d(-2rem, 0, 0);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  .section-news .source-feed {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    @media (min-width: 45em) {
      .section-news .source-feed {
        -ms-flex-direction: row;
            flex-direction: row; } }
    .section-news .source-feed .article {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      background-color: rgba(255, 255, 255, 0.815);
      box-shadow: 0 1.5rem 4rem 0 rgba(0, 0, 0, 0.385);
      transform: translate3d(0, 0, 0);
      transition: all 240ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
      text-decoration: none;
      margin: 0 1rem 2rem 1rem; }
      @media (min-width: 45em) {
        .section-news .source-feed .article {
          width: calc((100% / 3) - 2rem  - .1px);
          margin: 0 1rem 0 1rem; } }
      .section-news .source-feed .article:hover, .section-news .source-feed .article:focus, .section-news .source-feed .article:active {
        cursor: pointer;
        transform: translate3d(0, -1rem, 0);
        background-color: white; }
        .section-news .source-feed .article:hover .header .image, .section-news .source-feed .article:focus .header .image, .section-news .source-feed .article:active .header .image {
          -webkit-filter: grayscale(0) opacity(1);
          transition: all 220ms linear 0ms; }
      .section-news .source-feed .article .header {
        background: no-repeat center center / cover;
        padding-top: 60%; }
        .section-news .source-feed .article .header .image {
          position: relative;
          z-index: 10;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: center;
              align-items: center;
          width: 100%;
          height: 100%;
          margin: 0;
          padding: 0;
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
          -webkit-filter: grayscale(0) opacity(1);
          transition: all 220ms linear 0ms; }
      .section-news .source-feed .article .content {
        -ms-flex-positive: 1;
            flex-grow: 1;
        padding: 1rem 2rem 2rem 2rem; }
        .section-news .source-feed .article .content .title {
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 500;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 1.5rem;
          letter-spacing: 0.025em;
          color: #156140; }
        .section-news .source-feed .article .content p {
          margin: 0;
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 500;
          font-style: normal;
          line-height: 1.25rem;
          letter-spacing: 0.035em;
          color: #333333; }

.page-template-layered-page {
  background: #f3f3f3;
  color: #545454;
  font-size: 1rem; }
  .page-template-layered-page .bg--none + .bg--none {
    padding-top: calc(8vw - 5em); }
  .page-template-layered-page .alignleft,
  .page-template-layered-page .alignright {
    clear: both;
    max-width: 50%; }
  .page-template-layered-page .alignleft {
    float: left;
    margin: 0 1.75rem 0.75rem 0; }
  .page-template-layered-page .alignright {
    float: right;
    margin: 0 0 0.75rem 1.75rem; }

.page-template-flexible-page {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  color: #545454; }
  .page-template-flexible-page .content-area {
    -ms-flex-positive: 1;
        flex-grow: 1;
    background-color: #e5e7e7; }
  .page-template-flexible-page .flexible-page-content {
    padding: 0 0 2rem 0;
    font-size: 1rem; }
  .page-template-flexible-page .template-block {
    padding: 2rem 8vw 2rem 8vw; }
    @media screen and (max-width: 39.9375em) {
      .page-template-flexible-page .template-block {
        padding: 1rem 2rem 1rem 2rem; } }
    .page-template-flexible-page .template-block:last-child {
      margin-bottom: 0; }
    .page-template-flexible-page .template-block__inner {
      max-width: 75rem;
      margin: 0 auto; }
  .page-template-flexible-page .template-title {
    margin-bottom: 1.6rem;
    line-height: 1; }
  .page-template-flexible-page .flexible-quote {
    box-shadow: inset 0 0 1.5em 0.25em rgba(0, 0, 0, 0.2);
    background: #ededed;
    padding: 6vw 8vw; }
    .page-template-flexible-page .flexible-quote:last-child {
      margin-bottom: 0; }
  .page-template-flexible-page .contact-group:not(:first-child) {
    margin-top: 2em; }
  .page-template-flexible-page .contact-group:not(:last-child) {
    margin-bottom: 2em; }
  .page-template-flexible-page .ctas-with-image {
    padding: 2rem 8vw 2rem 8vw; }
    @media screen and (max-width: 39.9375em) {
      .page-template-flexible-page .ctas-with-image {
        padding: 0 2rem 1rem 2rem; } }
  .page-template-flexible-page .alignleft,
  .page-template-flexible-page .alignright {
    clear: both;
    max-width: 50%; }
  .page-template-flexible-page .alignleft {
    float: left;
    margin: 0 1.75rem 0.75rem 0; }
  .page-template-flexible-page .alignright {
    float: right;
    margin: 0 0 0.75rem 1.75rem; }

.post-type-archive-degree_program,
.post-type-archive-residency {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: #f3f3f3;
  color: #545454;
  font-size: 1rem; }
  .post-type-archive-degree_program .content-area,
  .post-type-archive-residency .content-area {
    -ms-flex-positive: 1;
        flex-grow: 1; }

.deg-progs-header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: white no-repeat center center / cover; }
  .post-type-archive-degree_program .deg-progs-header {
    background-image: url(../img/billboards/degrees/degrees.billboard.00.jpg); }
  .post-type-archive-residency .deg-progs-header {
    background-image: url(../img/billboards/degrees/degrees.billboard.01.jpg); }
  .deg-progs-header:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(2, 37, 49, 0.76); }
  .deg-progs-header__inner {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    max-width: 100%;
    min-height: 50vh;
    padding: 5rem 8vw 1.5rem; }
    .deg-progs-header__inner > * {
      max-width: 100%; }
  .deg-progs-header__title {
    margin: 0;
    color: #C0D62A;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.114em;
    line-height: 1; }
    @media (min-width: 45em) {
      .deg-progs-header__title {
        font-size: 2.75rem; } }
    @media (min-width: 60em) {
      .deg-progs-header__title {
        font-size: 3rem; } }

.deg-progs-content {
  padding: 1.5rem 8vw; }

@media (min-width: 45em) {
  .deg-progs__grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

.deg-progs__grid-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  box-shadow: 0 0.5em 1em 0 rgba(5, 15, 8, 0.375);
  margin-top: 2em;
  background: white no-repeat center center / cover;
  color: #ffffff;
  line-height: 1.2;
  text-decoration: none; }
  .post-type-archive-degree_program .deg-progs__grid-item {
    background-image: url(../img/billboards/degrees/degrees.billboard.00.jpg); }
  .post-type-archive-residency .deg-progs__grid-item {
    background-image: url(../img/billboards/degrees/degrees.billboard.01.jpg); }
  .deg-progs__grid-item:first-child {
    margin-top: 0; }
  @media (min-width: 45em) {
    .deg-progs__grid-item {
      width: calc(50% - 1em); }
      .deg-progs__grid-item:nth-child(-n+2) {
        margin-top: 0; }
      .deg-progs__grid-item:nth-child(even) {
        margin-left: 2em; } }
  @media (min-width: 60em) {
    .deg-progs__grid-item {
      width: calc((100% / 3) - (2em * 2 / 3)  - .1px); }
      .deg-progs__grid-item:nth-child(-n+3) {
        margin-top: 0; }
      .deg-progs__grid-item:nth-child(even) {
        margin-left: 0; }
      .deg-progs__grid-item:not(:nth-child(3n+1)) {
        margin-left: 2em; } }
  @media (min-width: 100em) {
    .deg-progs__grid-item {
      width: calc(25% - (2em * 3 / 4)); }
      .deg-progs__grid-item:nth-child(-n+4) {
        margin-top: 0; }
      .deg-progs__grid-item:not(:nth-child(3n+1)) {
        margin-left: 0; }
      .deg-progs__grid-item:not(:nth-child(4n+1)) {
        margin-left: 2em; } }
  .deg-progs__grid-item:before {
    content: '';
    transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
    display: block;
    -ms-flex-positive: 1;
        flex-grow: 1;
    background: rgba(255, 255, 255, 0.72);
    padding-top: 40%; }
  .deg-progs__grid-item:hover:before, .deg-progs__grid-item:focus:before {
    background: linear-gradient(to top, rgba(10, 51, 33, 0.85) 0, rgba(10, 51, 33, 0.7) 5%, rgba(10, 51, 33, 0.55) 10%, rgba(10, 51, 33, 0.4) 15%, rgba(10, 51, 33, 0.25) 20%, rgba(10, 51, 33, 0.1) 25%, rgba(10, 51, 33, 0) 50%); }
  .deg-progs__grid-item:hover .deg-progs__grid-item-name, .deg-progs__grid-item:focus .deg-progs__grid-item-name {
    color: #ffffff;
    background: linear-gradient(to top, rgba(10, 51, 33, 0.95), rgba(10, 51, 33, 0.85)); }
  .deg-progs__grid-item-name {
    transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
    width: 100%;
    max-width: 100%;
    background: rgba(255, 255, 255, 0.72);
    padding: .25em 1em .75em;
    color: #115135;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase; }

.program-block__title {
  font-family: "Klavika Condensed", "Saira Condensed";
  font-size: 2rem;
  font-weight: 400;
  font-style: normal;
  letter-spacing: .075em;
  line-height: 1;
  text-align: inherit;
  text-transform: uppercase;
  text-decoration: none; }
  @media (min-width: 60em) {
    .program-block__title {
      font-size: 2.5rem; } }

#site-layout .content-container.programs {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: start;
      align-items: flex-start;
  margin: 32rem 0 0 0; }
  #site-layout .content-container.programs .programs-overlay {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 32rem;
    margin: 0;
    padding: 0;
    background-color: rgba(5, 15, 8, 0.755);
    background-image: linear-gradient(90deg, rgba(255, 0, 0, 0) 0%, #0a3321 100%); }
  #site-layout .content-container.programs .programs-content {
    position: relative;
    z-index: 20;
    width: 100%;
    padding: 2.5rem 5rem 5rem 5rem;
    color: #333333;
    background-color: white; }
    #site-layout .content-container.programs .programs-content .page-title {
      position: absolute;
      top: -5rem;
      z-index: 10;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: end;
          align-items: flex-end;
      height: 5rem;
      margin: 0 0 0 0;
      padding: 0 0 2.5rem 0;
      border: none;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 3rem;
      font-weight: 400;
      font-style: normal;
      line-height: 1.75rem;
      letter-spacing: 0.085em;
      color: #d7d392; }
    #site-layout .content-container.programs .programs-content p:last-child {
      margin-bottom: 0; }

.degree-program-container {
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  filter: blur(0px);
  transition: all 0ms linear 0ms; }
  .site-menu-open .degree-program-container {
    filter: blur(8px);
    transition: all 0ms linear 0ms; }
  .degree-program-container .program-content {
    width: 100%;
    padding: 8vw; }
    .degree-program-container .program-content.lite {
      color: rgba(2, 37, 49, 0.835);
      background-color: white; }
    .degree-program-container .program-content.dark {
      color: white;
      background-color: #172d2a; }
    .degree-program-container .program-content.documents {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      justify-content: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }
      .degree-program-container .program-content.documents .document-button {
        position: relative;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        min-width: 16rem;
        height: 3rem;
        margin: 0 1rem 1rem 0;
        padding: 0.1875rem 3rem 0 1.25rem;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1rem;
        font-weight: 400;
        font-style: normal;
        line-height: 0.75rem;
        letter-spacing: 0.265em;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        background-color: #e35530;
        color: white;
        transition: all 220ms linear 0ms; }
        .degree-program-container .program-content.documents .document-button:last-child {
          margin: 0 0 0 0; }
        .degree-program-container .program-content.documents .document-button:hover {
          background-color: #d7d392; }
        .degree-program-container .program-content.documents .document-button:after {
          content: "";
          display: block;
          width: 3rem;
          height: 3rem;
          margin: 0;
          padding: 1rem;
          font-family: "codicons" !important;
          font-size: 1rem;
          font-weight: normal;
          font-style: normal;
          line-height: 1rem;
          text-rendering: geometricPrecision;
          color: white;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          z-index: 10; }
    .degree-program-container .program-content.concentrations {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: stretch;
          align-items: stretch; }
      .degree-program-container .program-content.concentrations .title {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        margin: 0 0 4rem 0;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 2.5rem;
        font-weight: 400;
        font-style: normal;
        letter-spacing: 0.075em;
        color: #349aaa; }
      .degree-program-container .program-content.concentrations .concentrations-content {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: stretch;
            align-items: stretch; }
        .degree-program-container .program-content.concentrations .concentrations-content .concentration-button {
          position: relative;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: stretch;
              align-items: stretch;
          -ms-flex-preferred-size: calc( 50% - 2rem);
              flex-basis: calc( 50% - 2rem);
          min-height: 18rem;
          margin: 0 0 0 0;
          padding: 6rem 2rem 4rem 2rem;
          border-bottom: 2px solid #C0D62A;
          color: #156140;
          background-color: rgba(232, 231, 227, 0.335); }
          .degree-program-container .program-content.concentrations .concentrations-content .concentration-button .button-title,
          .degree-program-container .program-content.concentrations .concentrations-content .concentration-button .button-text {
            position: relative;
            z-index: 10; }
          .degree-program-container .program-content.concentrations .concentrations-content .concentration-button .button-title {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: row;
                flex-direction: row;
            -ms-flex-pack: start;
                justify-content: flex-start;
            -ms-flex-align: end;
                align-items: flex-end;
            margin: 0 0 1rem 0;
            font-family: "Klavika Condensed", "Saira Condensed";
            font-size: 1.25rem;
            font-weight: 400;
            font-style: normal;
            line-height: 1rem;
            letter-spacing: 0.075em;
            text-align: left;
            text-transform: uppercase;
            text-decoration: none;
            color: #156140; }
          .degree-program-container .program-content.concentrations .concentrations-content .concentration-button .button-text {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: row;
                flex-direction: row;
            -ms-flex-pack: start;
                justify-content: flex-start;
            -ms-flex-align: end;
                align-items: flex-end;
            font-family: "Industry";
            font-size: 0.75rem;
            font-weight: 600;
            font-style: normal;
            line-height: 1rem;
            text-align: left;
            text-transform: inherit;
            text-decoration: none;
            color: rgba(23, 45, 42, 0.815); }
          .degree-program-container .program-content.concentrations .concentrations-content .concentration-button .button-button {
            position: absolute;
            right: 0;
            bottom: 0;
            z-index: 10;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: row;
                flex-direction: row;
            -ms-flex-pack: end;
                justify-content: flex-end;
            -ms-flex-align: center;
                align-items: center;
            height: 3rem;
            margin: 1.5rem 0 0 0;
            padding: 0.125rem 2.5rem 0 1.25rem;
            font-family: "Klavika Condensed", "Saira Condensed";
            font-size: 0.75rem;
            font-weight: 500;
            font-style: normal;
            line-height: 0.875rem;
            letter-spacing: 0.265em;
            text-align: inherit;
            text-transform: uppercase;
            text-decoration: none;
            color: #156140;
            transition: all 220ms linear 0ms; }
            .degree-program-container .program-content.concentrations .concentrations-content .concentration-button .button-button:after {
              content: "";
              display: block;
              width: 2.75rem;
              height: 3rem;
              margin: 0;
              padding: 1rem 0.75rem 1rem 1rem;
              font-family: "codicons" !important;
              font-size: 0.75rem;
              font-weight: normal;
              font-style: normal;
              line-height: 1rem;
              text-rendering: geometricPrecision;
              color: #C0D62A;
              position: absolute;
              top: 0;
              right: 0;
              bottom: 0;
              z-index: 10; }
    .degree-program-container .program-content.minors {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: stretch;
          align-items: stretch;
      padding: 0 0 0 0;
      color: rgba(23, 45, 42, 0.815);
      background-color: #e8e7e3; }
      .degree-program-container .program-content.minors .content {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
        margin: 8rem 0 8rem 0;
        padding: 8rem 10vw 8rem 6rem; }
        .degree-program-container .program-content.minors .content .minor-description {
          font-family: "Industry";
          font-size: 0.875rem;
          font-weight: 600;
          font-style: normal;
          line-height: 1.5rem;
          letter-spacing: 0.035em;
          color: rgba(23, 45, 42, 0.785); }
        .degree-program-container .program-content.minors .content .minor-link-button {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          height: 4rem;
          margin: 2rem 0 0 0;
          padding: 0.125rem 1.5rem 0 1.5rem;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 400;
          font-style: normal;
          line-height: 0.75rem;
          letter-spacing: 0.265em;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          color: white;
          background-color: #e35530;
          transition: all 220ms linear 0ms; }
      .degree-program-container .program-content.minors .design-block {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
        background-color: #349aaa; }
        .degree-program-container .program-content.minors .design-block .artwork {
          width: 100%;
          height: 100%;
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
          opacity: 0.365; }
    .degree-program-container .program-content.similar {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: stretch;
          align-items: stretch;
      padding: 0 0 0 10vw;
      color: white;
      background-color: #022531; }
      .degree-program-container .program-content.similar .title {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: end;
            align-items: flex-end;
        -ms-flex-preferred-size: 30%;
            flex-basis: 30%;
        margin: 12rem 0 12rem 0;
        padding: 0 4rem 0 0;
        color: #c0d62a; }
      .degree-program-container .program-content.similar .buttons {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: stretch;
            align-items: stretch;
        -ms-flex-preferred-size: 70%;
            flex-basis: 70%; }
        .degree-program-container .program-content.similar .buttons .similar-major-link {
          display: -ms-inline-flexbox;
          display: inline-flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-preferred-size: 33.333333%;
              flex-basis: 33.333333%;
          -ms-flex-positive: 0;
              flex-grow: 0;
          padding: 2rem 2rem 2rem 2rem;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 400;
          font-style: normal;
          letter-spacing: 0.235em;
          text-align: center;
          text-transform: uppercase;
          text-decoration: none;
          color: white;
          background-color: rgba(255, 255, 255, 0.035);
          transition: all 220ms linear 0ms; }
          .degree-program-container .program-content.similar .buttons .similar-major-link:nth-of-type(1) {
            background-color: rgba(255, 255, 255, 0.015); }
          .degree-program-container .program-content.similar .buttons .similar-major-link:nth-of-type(2) {
            background-color: rgba(255, 255, 255, 0.045); }
          .degree-program-container .program-content.similar .buttons .similar-major-link:nth-of-type(3) {
            background-color: rgba(255, 255, 255, 0.075); }
          .degree-program-container .program-content.similar .buttons .similar-major-link:hover {
            background-color: #e35530; }
    .degree-program-container .program-content.contacts .title {
      color: white; }
    .degree-program-container .program-content.contacts .contact-list {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: stretch;
          align-items: stretch;
      margin: 0;
      list-style: none; }
      .degree-program-container .program-content.contacts .contact-list .contact-card {
        width: 20rem;
        padding: 2rem;
        color: white;
        background-color: rgba(255, 255, 255, 0.035); }
        .degree-program-container .program-content.contacts .contact-list .contact-card img {
          width: 16rem;
          margin: 0 0 1rem 0; }
    .degree-program-container .program-content:last-child .content-output {
      margin-bottom: 0; }

.degree-program-header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: white no-repeat center center / cover; }
  .degree-program-header:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(2, 37, 49, 0.76); }
  .degree-program-header__inner {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    max-width: 100%;
    min-height: 60vh;
    padding: 5rem 8vw 1.5rem; }
    .degree-program-header__inner > * {
      max-width: 100%; }
    @media screen and (max-width: 39.9375em) {
      .degree-program-header__inner {
        min-height: 50vh;
        padding: 4rem 3rem 2.5rem 3rem; } }
  .degree-program-header__title {
    margin: 0;
    color: #C0D62A;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.114em;
    line-height: 1; }
    @media (min-width: 45em) {
      .degree-program-header__title {
        font-size: 2.75rem; } }
    @media (min-width: 60em) {
      .degree-program-header__title {
        font-size: 3rem; } }
  .degree-program-header__parent {
    display: block;
    margin-bottom: .5em;
    color: white;
    font-size: .875rem;
    letter-spacing: 0.285em;
    line-height: 1.2; }
    @media (min-width: 45em) {
      .degree-program-header__parent {
        font-size: .9375rem; } }
    @media (min-width: 45em) {
      .degree-program-header__parent {
        font-size: 1rem; } }

.degree-program-intro {
  background: #ffffff;
  padding: 8vw;
  color: rgba(2, 37, 49, 0.835); }
  @media (min-width: 45em) {
    .degree-program-intro__content {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  .degree-program-intro__inner {
    max-width: 75rem;
    margin: 0 auto; }
    .degree-program-intro__inner .notification-box {
      margin-bottom: 0; }
    .degree-program-intro__inner .notification-block {
      margin: 2rem 0 0 0; }
  .degree-program-intro__sidebar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-pack: start;
        justify-content: flex-start;
    margin-top: 2em; }
    @media (min-width: 45em) {
      .degree-program-intro__sidebar {
        margin-top: 0;
        margin-left: 2em; } }
  .degree-program-intro__button {
    transition: all 220ms linear 0ms;
    min-width: 16rem;
    margin: 0 0 .5rem 0;
    background: rgba(2, 37, 49, 0.9);
    padding: 1rem 1.25rem;
    color: white;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1rem;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.265em;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .degree-program-intro__button:visited {
      color: white; }
    .degree-program-intro__button:hover, .degree-program-intro__button:focus, .degree-program-intro__button:active {
      background: #349AAA;
      color: #022531; }
    .degree-program-intro__button:last-child {
      margin-bottom: 0; }
  .degree-program-intro__desc {
    max-width: 75em;
    font-family: "Klavika", "Saira";
    font-size: 1.25rem;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.065em; }
    .degree-program-intro__desc > :last-child {
      margin-bottom: 0; }
  .degree-program-intro__grid {
    margin-top: 2em;
    width: 100%; }
    @media (min-width: 45em) {
      .degree-program-intro__grid {
        margin-top: 4vw; } }
    .degree-program-intro__grid-title {
      width: 100%;
      margin: 0;
      font-size: 2rem; }
    @media (min-width: 45em) {
      .degree-program-intro__grid-inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
    .degree-program-intro__grid-item {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      box-shadow: 0 0.5em 1em 0 rgba(5, 15, 8, 0.375);
      width: 100%;
      margin-top: 2em;
      background: transparent no-repeat center center / cover;
      color: #ffffff;
      line-height: 1.2;
      text-decoration: none; }
      @media (min-width: 45em) {
        .degree-program-intro__grid-item {
          width: calc(50% - 1rem);
          font-size: 1.125em; }
          .degree-program-intro__grid-item:nth-child(even) {
            margin-left: 2rem; } }
      @media (min-width: 60em) {
        .degree-program-intro__grid-item {
          font-size: 1.25em; }
          .grid--small .degree-program-intro__grid-item {
            width: calc((100% / 3) - 1rem  - .1px);
            font-size: 1.125em; }
            .grid--small .degree-program-intro__grid-item:nth-child(even) {
              margin-left: 0; }
            .grid--small .degree-program-intro__grid-item:not(:nth-child(3n+1)) {
              margin-left: calc(3rem / 2); } }
      .degree-program-intro__grid-item:before {
        content: '';
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
        display: block;
        -ms-flex-positive: 1;
            flex-grow: 1;
        background: rgba(255, 255, 255, 0.72);
        padding-top: 50%; }
      .degree-program-intro__grid-item:hover:before, .degree-program-intro__grid-item:focus:before {
        background: linear-gradient(to top, rgba(10, 51, 33, 0.85) 0, rgba(10, 51, 33, 0.7) 5%, rgba(10, 51, 33, 0.55) 10%, rgba(10, 51, 33, 0.4) 15%, rgba(10, 51, 33, 0.25) 20%, rgba(10, 51, 33, 0.1) 25%, rgba(10, 51, 33, 0) 50%); }
      .degree-program-intro__grid-item:hover .degree-program-intro__grid-item-name, .degree-program-intro__grid-item:focus .degree-program-intro__grid-item-name {
        color: #ffffff;
        background: linear-gradient(to top, rgba(10, 51, 33, 0.95), rgba(10, 51, 33, 0.85)); }
      .degree-program-intro__grid-item-name {
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
        width: 100%;
        max-width: 100%;
        background: rgba(255, 255, 255, 0.72);
        padding: .25em 1em .75em;
        color: #115135;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1.25em;
        font-weight: 500;
        letter-spacing: .1em;
        text-transform: uppercase; }

.degree-program__notification {
  width: 100%;
  max-width: 75rem;
  margin: 2rem auto 0;
  font-size: 1rem; }
  @media (min-width: 100em) {
    .degree-program__notification {
      margin-top: 4vw; } }

.department-description {
  padding: 8vw 8vw 8vw 8vw;
  color: rgba(23, 45, 42, 0.855);
  background-color: #efeeda; }
  .department-description .label {
    display: block;
    margin: 0 0 0.75rem 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal; }
  .department-description h2 {
    margin: 0 0 1rem 0;
    padding: 0 4vw 0 0;
    line-height: 2rem;
    letter-spacing: 0.035em;
    color: #156140; }
  .department-description .description_text {
    color: rgba(23, 45, 42, 0.855); }
    .department-description .description_text p {
      margin: 0 0 0 0;
      font-family: "Industry";
      font-size: 1rem;
      font-weight: 500;
      font-style: normal;
      line-height: 2rem;
      letter-spacing: inherit; }

.program-facts {
  padding: 8vw;
  background: #022531;
  color: #ffffff; }
  @supports (mix-blend-mode: overlay) {
    .program-facts {
      position: relative; }
      .program-facts:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 0.175;
        mix-blend-mode: overlay;
        background-image: url(../img/patterns/pattern.horizontal.svg);
        background-repeat: no-repeat;
        background-size: 120%;
        background-position: 0 -8rem; } }
  .program-facts__inner {
    position: relative; }
    @media (min-width: 60em) {
      .program-facts__inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
            justify-content: center; } }
  .program-facts__title {
    margin-bottom: 2rem;
    color: #349AAA; }
    @media (min-width: 60em) {
      .program-facts__title {
        margin: 0;
        border-right: 1px solid rgba(255, 255, 255, 0.535);
        padding-right: 4vw;
        white-space: nowrap; } }
  .program-facts__content {
    margin: 0; }
    @media (min-width: 60em) {
      .program-facts__content {
        -ms-flex-positive: 1;
            flex-grow: 1;
        width: 60%;
        max-width: 75em;
        margin-left: 4vw; } }
  .program-facts__list {
    margin: 0;
    list-style: none; }
  .program-facts__item {
    margin-bottom: 2rem;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.035em;
    color: white; }
    .program-facts__item:last-child,
    .program-facts__item *:last-child {
      margin-bottom: 0; }
  .program-facts__name {
    margin-bottom: .5rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.25rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0.075em;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    color: #c0d62a; }

.careers {
  background: #E8E7E3; }
  @media (min-width: 60em) {
    .careers {
      display: -ms-grid;
      display: grid;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      -ms-grid-columns: 2fr 3fr;
      grid-template-columns: 2fr 3fr; } }
  .careers__intro {
    margin: 0;
    padding: calc(2vw + 1rem) 8vw;
    background: #125d70; }
    @media (min-width: 60em) {
      .careers__intro {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 1;
        grid-column: 1;
        padding: 8vw; } }
  .careers__title {
    margin: 0;
    color: #C0D62A; }
  .careers__desc {
    margin-top: 1rem;
    color: white;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.035em;
    line-height: 1.5rem; }
    .careers__desc :last-child {
      margin-bottom: 0; }
  .careers__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 8vw;
    background-color: rgba(52, 154, 170, 0.615); }
    @media (min-width: 60em) {
      .careers__content {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 2;
        grid-column: 2; } }
  .careers__list {
    list-style-type: none;
    width: 100%;
    margin: 0; }
    @media (min-width: 30em) {
      .careers__list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: justify;
            justify-content: space-between; } }
  .careers__item {
    margin-top: 3vw;
    font-family: "Industry";
    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    color: rgba(23, 45, 42, 0.835); }
    @media (min-width: 30em) {
      .careers__item {
        width: calc(50% - 1vw); }
        .careers__item:nth-child(2) {
          margin-top: 0; } }
    .careers__item:first-child {
      margin-top: 0; }

.employers {
  background: #E8E7E3; }
  @media (min-width: 60em) {
    .employers {
      display: -ms-grid;
      display: grid;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      -ms-grid-columns: 3fr 2fr;
      grid-template-columns: 3fr 2fr; } }
  .employers__intro {
    margin: 0;
    padding: calc(2vw + 1rem) 8vw; }
    @media (min-width: 60em) {
      .employers__intro {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 2;
        grid-column: 2;
        padding: 8vw; } }
  .employers__title {
    margin: 0;
    color: #156140; }
  .employers__desc {
    margin-top: 1rem;
    color: rgba(23, 45, 42, 0.835);
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.035em;
    line-height: 1.5rem; }
    .employers__desc :last-child {
      margin-bottom: 0; }
  .employers__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 8vw;
    background-color: rgba(255, 255, 255, 0.735); }
    @media (min-width: 60em) {
      .employers__content {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 1;
        grid-column: 1; } }
  .employers__list {
    list-style-type: none;
    width: 100%;
    margin: 0; }
    @media (min-width: 30em) {
      .employers__list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: justify;
            justify-content: space-between; } }
  .employers__item {
    margin-top: 3vw;
    color: rgba(23, 45, 42, 0.835);
    font-family: "Industry";
    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    color: rgba(23, 45, 42, 0.835); }
    @media (min-width: 30em) {
      .employers__item {
        width: calc(50% - 1vw); }
        .employers__item:nth-child(2) {
          margin-top: 0; } }
    .employers__item:first-child {
      margin-top: 0; }

.research {
  background: white;
  color: rgba(2, 37, 49, 0.835); }
  @media (min-width: 60em) {
    .research {
      display: -ms-grid;
      display: grid;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      -ms-grid-columns: 2fr 3fr;
      grid-template-columns: 2fr 3fr; }
      .research.image--left {
        -ms-grid-columns: 3fr 2fr;
        grid-template-columns: 3fr 2fr; } }
  .research__image {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    background: no-repeat center center / cover;
    padding-top: 56.25%; }
    .image--right .research__image {
      -ms-grid-column: 2;
      grid-column: 2; }
  .research__content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    background: rgba(239, 238, 218, 0.275);
    padding: 8vw;
    color: #333333;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 500;
    font-style: normal; }
    .image--left .research__content {
      -ms-grid-column: 2;
      grid-column: 2; }
  .research__title {
    color: #276E77;
    letter-spacing: 0.075em;
    line-height: 1; }

.organizations {
  color: white;
  background: #172D2A;
  padding: 8vw; }
  .organizations__title {
    margin: 0;
    color: #D7D392;
    text-align: center; }
  .organizations__buttons {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: center; }
  .organizations__button {
    transition: all 220ms linear 0ms;
    margin: 1rem .5rem 0;
    border: .0125em solid white;
    padding: 1rem 1.25rem;
    color: white;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 0.875rem;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.135em;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .organizations__button:visited {
      color: white; }
    .organizations__button:hover, .organizations__button:focus, .organizations__button:active {
      background: rgba(255, 255, 255, 0.1);
      color: white; }

.financial {
  background: #EFEEDA no-repeat center center/cover; }
  .financial.type--student {
    background-image: url(../img/content/content.background.06.jpg); }
  .financial.type--resident {
    background-image: url(../img/modules/financial/background.00.jpg); }
  .financial__inner {
    background: rgba(239, 238, 218, 0.435);
    padding: 8vw; }
    @media (min-width: 60em) {
      .financial__inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: end;
            justify-content: flex-end; } }
  .financial__content {
    line-height: 1.5rem;
    letter-spacing: 0.045em;
    color: #172D2A; }
    @media (min-width: 60em) {
      .financial__content {
        width: 50%; } }
  .financial__title {
    color: #156140; }
  .financial__cta {
    margin: 1.25rem 0 0 0; }
  .financial__button {
    transition: all 220ms linear 0ms;
    display: inline-block;
    padding: .875rem 1.25rem;
    border: 0.0125em solid #156140;
    color: #156140;
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0.065em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .financial__button:visited {
      color: #156140; }
    .financial__button:hover, .financial__button:focus, .financial__button:active {
      background: #115135;
      color: white; }

.location {
  background: #172D2A url(../img/content/background.08.jpg) no-repeat center center/cover; }
  .location__inner {
    background: rgba(23, 45, 42, 0.775);
    padding: 8vw; }
    @media (min-width: 60em) {
      .location__inner {
        display: -ms-flexbox;
        display: flex; } }
  .location__content {
    line-height: 1.5rem;
    letter-spacing: 0.045em;
    color: white; }
    @media (min-width: 60em) {
      .location__content {
        width: 50%; } }
  .location__title {
    color: #D7D392; }
  .location__cta {
    margin: 1.25rem 0 0 0; }
  .location__button {
    transition: all 220ms linear 0ms;
    display: inline-block;
    padding: .875rem 1.25rem;
    border: 0.0125em solid #D7D392;
    color: white;
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0.065em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .location__button:visited {
      color: white; }
    .location__button:hover, .location__button:focus, .location__button:active {
      background: rgba(255, 255, 255, 0.1);
      color: white; }

.app-info {
  background: white;
  color: rgba(2, 37, 49, 0.835); }
  @media (min-width: 60em) {
    .app-info {
      display: -ms-grid;
      display: grid;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: repeat(2, 1fr); }
      .app-info.image--left {
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: repeat(2, 1fr); } }
  .app-info__image {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    background: no-repeat center center / cover;
    padding-top: 56.25%; }
    .image--right .app-info__image {
      -ms-grid-column: 2;
      grid-column: 2; }
  .app-info__content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    background: rgba(239, 238, 218, 0.275);
    padding: 8vw;
    color: #333333;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 500;
    font-style: normal; }
    .image--left .app-info__content {
      -ms-grid-column: 2;
      grid-column: 2; }
  .app-info__title {
    color: #276E77;
    letter-spacing: 0.075em;
    line-height: 1; }
  .app-info__table {
    border-top: 0.0625em solid #E8E7E3;
    border-bottom: 0.0625em solid #E8E7E3; }
    .app-info__table tbody tr:nth-child(odd) {
      background: none; }
    .app-info__table tbody tr:nth-child(even) {
      background: rgba(239, 238, 218, 0.55); }
    .app-info__table tbody tr *:first-child {
      min-width: 8em; }
    .app-info__table tbody th,
    .app-info__table tbody td {
      padding: .5em;
      text-align: inherit; }
  .app-info__cta {
    margin: 1.25rem 0 0 0; }
  .app-info__button {
    transition: all 220ms linear 0ms;
    display: inline-block;
    padding: .875rem 1.25rem;
    border: 0.0125em solid #156140;
    color: #156140;
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0.065em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .app-info__button:visited {
      color: #156140; }
    .app-info__button:hover, .app-info__button:focus, .app-info__button:active {
      background: #115135;
      color: white; }

.program-contact {
  background: #2B3631;
  padding: 8vw;
  color: white; }
  @supports (mix-blend-mode: overlay) {
    .program-contact {
      position: relative; }
      .program-contact:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 0.075;
        mix-blend-mode: overlay;
        background-image: url(../img/patterns/pattern.horizontal.svg);
        background-repeat: no-repeat;
        background-size: 120%;
        background-position: 0 -8rem; } }
  .program-contact__inner {
    position: relative;
    font-size: .9375rem; }
    @media (min-width: 60em) {
      .program-contact__inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
            justify-content: center; } }
    .program-contact__inner a {
      color: #36a1b2; }
      .program-contact__inner a:visited {
        color: #3398a8; }
      .program-contact__inner a:hover, .program-contact__inner a:focus, .program-contact__inner a:active {
        color: #36a1b2;
        text-decoration: underline; }
  @media (min-width: 60em) {
    .program-contact__intro {
      -ms-flex-positive: 0;
          flex-grow: 0;
      max-width: 40%;
      border-right: 1px solid rgba(255, 255, 255, 0.135);
      border-right: 1px solid rgba(239, 238, 218, 0);
      padding-right: 4vw; } }
  .program-contact__title {
    margin-bottom: 1rem;
    color: #eae8c5; }
    @media (min-width: 60em) {
      .program-contact__title {
        margin: 0; } }
  .program-contact__desc {
    margin-top: 1em; }
  .program-contact__content {
    margin: 0; }
    @media (min-width: 60em) {
      .program-contact__content {
        -ms-flex-positive: 1;
            flex-grow: 1;
        width: 60%;
        max-width: 75em;
        padding-left: 4vw; } }
    .program-contact__content .gform_wrapper {
      margin: 0; }
      .program-contact__content .gform_wrapper .gform_body ul li.gfield {
        margin: 2rem 0 0 0; }
        .program-contact__content .gform_wrapper .gform_body ul li.gfield:first-child {
          margin-top: 0; }
      .program-contact__content .gform_wrapper .gform_body .gfield_required {
        color: #D7D392; }
      .program-contact__content .gform_wrapper .gform_body label.gfield_label {
        font-family: "Industry";
        font-size: 1rem;
        font-weight: 600;
        font-style: normal; }
      .program-contact__content .gform_wrapper .gform_body .ginput_container {
        margin: 0.75rem 0 0 0; }
      .program-contact__content .gform_wrapper .gform_body input[type='text'],
      .program-contact__content .gform_wrapper .gform_body textarea {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        border: none;
        font-family: "Industry";
        font-size: 1rem;
        font-weight: 400;
        font-style: !important;
        font-size: 1rem !important;
        font-weight: 400 !important;
        color: white;
        background-color: rgba(255, 255, 255, 0.075);
        box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.305); }
      .program-contact__content .gform_wrapper .gform_body input[type='text'] {
        height: 3rem;
        padding: 0.5rem 0.5rem 0.5rem 1rem !important; }
      .program-contact__content .gform_wrapper .gform_body textarea {
        padding: 1rem 1rem 1rem 1rem !important; }
      .program-contact__content .gform_wrapper .gform_footer {
        padding: 1rem 0 0 0; }
        .program-contact__content .gform_wrapper .gform_footer input.button {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          height: 4rem;
          margin: 0 0 0 0;
          padding: 0.0625rem 1.5rem 0 1.5rem;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1.25rem;
          font-weight: 400;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 0.875rem;
          letter-spacing: 0.085em;
          background-color: #156140;
          box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.305);
          transition: all 220ms linear 0ms; }
    .program-contact__content .gform_confirmation_wrapper {
      font-size: 1rem; }
      @media (min-width: 60em) {
        .program-contact__content .gform_confirmation_wrapper {
          -ms-flex-positive: 1;
              flex-grow: 1;
          height: 100%;
          padding: 3rem 3rem 3rem 3rem;
          border-left: 3px solid #00FE6D;
          background-color: rgba(255, 255, 255, 0.075);
          box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.305); } }
    .program-contact__content li {
      color: white; }

.gform_wrapper {
  margin: 0; }
  .gform_wrapper .gform_body ul li.gfield {
    margin: 2rem 0 0 0; }
    .gform_wrapper .gform_body ul li.gfield:first-child {
      margin-top: 0; }
  .gform_wrapper .gform_body .gfield_required {
    color: #D7D392;
    color: #E35530; }
  .gform_wrapper .gform_body label.gfield_label {
    font-family: "Industry";
    font-size: 1rem;
    font-weight: 600;
    font-style: normal; }
  .gform_wrapper .gform_body .ginput_container {
    margin: 0.75rem 0 0 0; }
  .gform_wrapper .gform_body input[type='text'],
  .gform_wrapper .gform_body textarea {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    border: none;
    font-family: "Industry";
    font-size: 1rem;
    font-weight: 400;
    font-style: !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    background-color: rgba(255, 255, 255, 0.075);
    box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.305); }
  .gform_wrapper .gform_body input[type='text'] {
    height: 3rem;
    padding: 0.5rem 0.5rem 0.5rem 1rem !important; }
  .gform_wrapper .gform_body textarea {
    padding: 1rem 1rem 1rem 1rem !important; }
  .gform_wrapper .gform_footer {
    padding: 1rem 0 0 0; }
    .gform_wrapper .gform_footer input.button {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 0 0 0 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.25rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.875rem;
      letter-spacing: 0.085em;
      background-color: #156140;
      box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.305);
      transition: all 220ms linear 0ms; }

.gform_confirmation_wrapper {
  font-size: 1rem; }
  @media (min-width: 60em) {
    .gform_confirmation_wrapper {
      -ms-flex-positive: 1;
          flex-grow: 1;
      height: 100%;
      margin: 2rem 0 0 0;
      padding: 3rem 3rem 3rem 3rem;
      border-left: 3px solid #00cc00;
      background-color: rgba(255, 255, 255, 0.355);
      box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.305); }
      .gform_confirmation_wrapper blockquote {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        border: none;
        color: #545454; }
        .gform_confirmation_wrapper blockquote strong {
          font-weight: inherit; } }

.faq-group {
  background: white;
  padding: 8vw;
  color: #333333; }
  .faq-group:nth-child(even) {
    background: #f3f3f3; }
  @media (min-width: 60em) {
    .faq-group__inner {
      display: -ms-grid;
      display: grid;
      -ms-grid-rows: auto;
          grid-template-rows: auto;
      -ms-grid-columns: 2fr 3fr;
          grid-template-columns: 2fr 3fr; } }
  @media (min-width: 60em) {
    .faq-group__title {
      padding-right: 1em; } }
  @media (min-width: 60em) {
    .faq-group .cvmbs-accordions {
      margin-top: 0; } }
  @media (min-width: 60em) {
    .faq-group .cvmbs-accordion:last-child {
      margin-bottom: 0; } }
  .faq-group .cvmbs-accordion__title {
    font-size: 1.25rem; }

.degree-program-content {
  padding: 1.5rem 8vw;
  background: #f3f3f3;
  color: #545454; }
  .degree-program-content__inner {
    width: 100%;
    max-width: 65rem;
    margin: 0 auto; }

.postdoc-training {
  background: white;
  color: rgba(2, 37, 49, 0.835); }
  @media (min-width: 60em) {
    .postdoc-training {
      display: -ms-grid;
      display: grid;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: repeat(2, 1fr); }
      .postdoc-training.image--left {
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: repeat(2, 1fr); } }
  .postdoc-training__image {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    background: no-repeat center center / cover;
    padding-top: 56.25%; }
    .image--right .postdoc-training__image {
      -ms-grid-column: 2;
      grid-column: 2; }
  .postdoc-training__content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    background: rgba(239, 238, 218, 0.275);
    padding: 8vw;
    color: #333333;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 500;
    font-style: normal; }
    .image--left .postdoc-training__content {
      -ms-grid-column: 2;
      grid-column: 2; }
  .postdoc-training__title {
    color: #276E77;
    letter-spacing: 0.075em;
    line-height: 1; }
  .postdoc-training__table {
    border-top: 0.0625em solid #E8E7E3;
    border-bottom: 0.0625em solid #E8E7E3; }
    .postdoc-training__table tbody tr:nth-child(odd) {
      background: none; }
    .postdoc-training__table tbody tr:nth-child(even) {
      background: rgba(239, 238, 218, 0.55); }
    .postdoc-training__table tbody tr *:first-child {
      min-width: 8em; }
    .postdoc-training__table tbody th,
    .postdoc-training__table tbody td {
      padding: .5em;
      text-align: inherit; }
  .postdoc-training__cta {
    margin: 1.25rem 0 0 0; }
  .postdoc-training__button {
    transition: all 220ms linear 0ms;
    display: inline-block;
    padding: .875rem 1.25rem;
    border: 0.0125em solid #156140;
    color: #156140;
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0.065em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .postdoc-training__button:visited {
      color: #156140; }
    .postdoc-training__button:hover, .postdoc-training__button:focus, .postdoc-training__button:active {
      background: #115135;
      color: white; }

.post-type-archive-place,
.single-place {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: #f3f3f3;
  color: #545454;
  font-size: 1rem; }
  .post-type-archive-place .content-area,
  .single-place .content-area {
    -ms-flex-positive: 1;
        flex-grow: 1; }

.places__header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: white url(../img/billboards/billboard.10.jpg) no-repeat center center/cover; }
  .archive .places__header {
    background-position: center 85%; }
  .places__header:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(227, 85, 48, 0.655);
    background-image: linear-gradient(90deg, rgba(255, 0, 0, 0) 0%, rgba(2, 37, 49, 0.785) 100%); }
  .places__header-inner {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    width: 100%;
    max-width: 100%;
    height: 50vh;
    max-height: 20rem;
    max-height: 15rem;
    margin: 0 auto;
    padding: 5rem 8vw 1.5rem; }
    .single .places__header-inner {
      max-width: calc(65rem + (8vw * 2)); }
    .places__header-inner > * {
      max-width: 100%; }
  .places__header-title {
    margin: 0;
    color: #ffffff;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.114em;
    line-height: 1; }
    @media (min-width: 45em) {
      .places__header-title {
        font-size: 2.75rem; } }
    @media (min-width: 60em) {
      .places__header-title {
        font-size: 3rem; } }

.places-archive__filters {
  margin: 3rem 8vw 1rem;
  padding: 2rem;
  padding: 0; }
  .places-archive__filters-text {
    font-family: "Industry";
    font-size: 0.6875rem;
    font-weight: 700;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.5;
    letter-spacing: 0.045em;
    margin: 0;
    color: #545454; }

.places-archive__grid {
  padding: 2rem 8vw; }
  .places-archive__grid-inner {
    width: calc(100% + 2rem);
    margin: -1rem; }
    @media (min-width: 45em) {
      .places-archive__grid-inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
  .places-archive__grid-item {
    transform: translate3d(0, 0, 0);
    transition: all 240ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    -ms-grid-columns: 1fr;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    overflow: hidden;
    margin: 1rem;
    background: white no-repeat center center / cover;
    box-shadow: 0 1.5rem 4rem 0 rgba(0, 0, 0, 0.385);
    color: white;
    line-height: 1.2;
    text-decoration: none; }
    @media (min-width: 45em) {
      .places-archive__grid-item {
        width: calc(50% - 2rem); } }
    @media (min-width: 60em) {
      .places-archive__grid-item {
        width: calc((100% / 3) - 2rem - .1px); } }
    @media (min-width: 100em) {
      .places-archive__grid-item {
        width: calc(25% - 2rem); } }
    .places-archive__grid-item > * {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      grid-row: 1;
      grid-column: 1; }
    .places-archive__grid-item:hover .places-archive__grid-item-bg, .places-archive__grid-item:focus .places-archive__grid-item-bg {
      filter: opacity(0.865) blur(0px);
      transform: scale3d(1.15, 1.15, 1.15); }
    .places-archive__grid-item:hover .places-archive__grid-item-overlay:before, .places-archive__grid-item:focus .places-archive__grid-item-overlay:before {
      opacity: 0.000; }
    .places-archive__grid-item:hover .places-archive__grid-item-overlay:after, .places-archive__grid-item:focus .places-archive__grid-item-overlay:after {
      opacity: 0.925; }
    .places-archive__grid-item:hover .places-archive__grid-item-title, .places-archive__grid-item:focus .places-archive__grid-item-title {
      transform: translate3d(0, -1rem, 0); }
    .places-archive__grid-item:hover .places-archive__grid-item-link, .places-archive__grid-item:focus .places-archive__grid-item-link {
      transform: translate3d(0, -1rem, 0);
      display: block;
      visibility: visible;
      opacity: 1.000; }
    .places-archive__grid-item-bg {
      display: block;
      width: 100%;
      height: 100%;
      background: no-repeat center center / cover;
      filter: opacity(1) grayscale(0);
      transform: scale3d(1, 1, 1);
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    .places-archive__grid-item-overlay {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .places-archive__grid-item-overlay:before, .places-archive__grid-item-overlay:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .places-archive__grid-item-overlay:before {
        background-color: rgba(227, 85, 48, 0.655);
        opacity: 0.000; }
      .places-archive__grid-item-overlay:after {
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #022531 80%);
        opacity: 0.925; }
    .places-archive__grid-item-prse {
      position: absolute;
      top: 1rem;
      right: 1rem;
      z-index: 10;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 700;
      font-style: normal;
      color: white; }
      .places-archive__grid-item-prse:after {
        content: "";
        display: block;
        width: 1rem;
        height: 1rem;
        margin: 0;
        padding: 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: white;
        position: absolute;
        top: -0.125rem;
        left: -1.25rem;
        display: none; }
      .places-archive__grid-item-prse:before {
        content: "";
        display: block;
        width: 1rem;
        height: 1rem;
        margin: 0;
        padding: 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: white;
        position: absolute;
        top: -0.125rem;
        left: -1.25rem; }
    .places-archive__grid-item-text {
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: end;
          align-items: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
      min-height: 10rem;
      padding: 30% 2rem 2rem;
      color: white;
      text-align: right;
      text-transform: uppercase; }
      @media (min-width: 45em) {
        .places-archive__grid-item-text {
          min-height: 12.5rem; } }
      @media (min-width: 60em) {
        .places-archive__grid-item-text {
          min-height: 15rem; } }
    .places-archive__grid-item-title {
      transform: translate3d(0, 0, 0);
      transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms;
      max-width: 100%;
      color: white;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.25rem;
      font-weight: 400;
      font-style: normal;
      line-height: 1.125rem;
      letter-spacing: 0.085em; }
    .places-archive__grid-item-link {
      transform: translate3d(0, 2rem, 0);
      transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms;
      opacity: 0;
      position: absolute;
      right: 2rem;
      bottom: 1rem;
      max-width: 100%;
      color: #E35530;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 700;
      font-style: normal;
      line-height: 0.75rem;
      letter-spacing: 0.045em; }

.places-prse__option {
  padding-top: .5rem; }
  @media (min-width: 30em) {
    .places-prse__option {
      margin-right: 2rem; } }

.places-prse__toggle {
  position: relative;
  display: block;
  box-sizing: border-box;
  border: none;
  color: inherit;
  background: none;
  padding: .5em 0 .5em 3.5em;
  font-family: inherit;
  font-weight: inherit;
  line-height: 1;
  text-align: left; }
  .places-prse__toggle:before, .places-prse__toggle:after {
    content: "";
    position: absolute;
    transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms; }
  .places-prse__toggle:before {
    left: .125em;
    top: .3125em;
    height: 1.25em;
    width: 2.75em;
    box-shadow: inset 0 0 0.1875em 0.0625em rgba(0, 0, 0, 0.225);
    background: #E8E7E3;
    border-radius: 1em; }
  .places-prse__toggle:after {
    left: 0;
    top: .1875em;
    box-shadow: 0 0 0.375em 0.0625em rgba(0, 0, 0, 0.385);
    background: white;
    border-radius: 50%;
    width: 1.5em;
    height: 1.5em; }
  .places-prse__toggle[aria-pressed=true]:after {
    left: 1.5em; }
  .places-prse__toggle[aria-pressed=true]:before {
    background: #C0D62A; }

.places-dept__options {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.places-dept__option {
  transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
  display: block;
  width: 100%;
  margin: .5rem 0 0 0;
  padding: .8125em 1.5em .6875em;
  border: 0.0625em solid #bc4c2d;
  background: #f3f3f3;
  color: #545454;
  color: inherit;
  font-size: .75em;
  font-weight: 600;
  letter-spacing: .04em; }
  @media (min-width: 45em) {
    .places-dept__option {
      width: auto;
      margin: .5rem .5rem 0 0; } }
  .places-dept__option:hover, .places-dept__option:focus {
    border-color: #bc4c2d;
    background: #bc4c2d;
    color: white; }
  .places-dept__option[aria-pressed=true] {
    border-color: rgba(2, 37, 49, 0.785);
    background: rgba(2, 37, 49, 0.785);
    color: white; }

.single-place__content {
  padding: 1.5rem 8vw; }
  .single-place__content-inner {
    max-width: 65rem;
    margin: 0 auto; }

.post-template-default {
  font-size: 1rem;
  color: rgba(23, 45, 42, 0.755);
  background-color: #f3f3f3; }
  .post-template-default #site-layout {
    background-color: rgba(255, 255, 255, 0);
    background-image: none; }
  .post-template-default .post-header {
    padding: 6.25rem 8vw 0 8vw; }
    .post-template-default .post-header h1 {
      margin: 0 auto 0 auto; }
  .post-template-default .post-content {
    padding: 0 8vw 4rem 8vw; }

.category-news.archive {
  font-size: 1rem;
  color: rgba(23, 45, 42, 0.755);
  background-color: #f3f3f3; }
  .category-news.archive #site-layout {
    background-color: rgba(255, 255, 255, 0);
    background-image: none; }
  .category-news.archive .post-header {
    padding: 6.25rem 8vw 0 8vw; }
    .category-news.archive .post-header h1 {
      margin: 0 auto 0 auto; }
  .category-news.archive .post-content {
    padding: 0 8vw 4rem 8vw; }
  .category-news.archive .content-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 4rem 4rem 4rem 4rem; }
    .category-news.archive .content-container .article {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: stretch;
          align-items: stretch;
      width: calc( 33.3333333% - 2rem);
      min-height: 16rem;
      margin: 1rem 1rem 1rem 1rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: auto;
      font-weight: 400;
      font-style: normal;
      text-decoration: none;
      background-color: white;
      box-shadow: 0 1.5rem 3rem 0 rgba(0, 0, 0, 0.535);
      transform: translate3d(0, 0, 0);
      transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      @media screen and (max-width: 39.9375em) {
        .category-news.archive .content-container .article {
          width: auto; } }
      .category-news.archive .content-container .article:hover {
        box-shadow: 0 1.5rem 4rem 0 rgba(0, 0, 0, 0.735);
        transform: translate3d(0, -1rem, 0); }
      .category-news.archive .content-container .article .header {
        background: no-repeat center center / cover;
        padding-top: 60%; }
        .category-news.archive .content-container .article .header .image {
          position: relative;
          z-index: 10;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: center;
              align-items: center;
          width: 100%;
          height: 100%;
          margin: 0;
          padding: 0;
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
          -webkit-filter: grayscale(0) opacity(1);
          transition: all 220ms linear 0ms; }
      .category-news.archive .content-container .article .content {
        -ms-flex-positive: 1;
            flex-grow: 1;
        padding: 1rem 2rem 2rem 2rem; }
    .category-news.archive .content-container .date {
      display: block;
      margin: 0 0 0.25rem 0;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 700;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      color: rgba(23, 45, 42, 0.535); }
    .category-news.archive .content-container .title {
      display: block;
      margin: 0 0 0 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.25rem;
      font-weight: 400;
      font-style: normal;
      line-height: 1.5rem;
      letter-spacing: 0.015em;
      color: #156140; }
      @media screen and (max-width: 39.9375em) {
        .category-news.archive .content-container .title {
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1.25rem;
          font-weight: 400;
          font-style: normal; } }
    .category-news.archive .content-container .excerpt p {
      margin: 0.75rem 0 0 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      color: rgba(23, 45, 42, 0.735); }
  .category-news.archive .pagination-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    height: 5rem;
    margin: 2rem 1rem 0 1rem;
    border-top: 1px solid rgba(23, 45, 42, 0.175);
    border-bottom: 1px solid rgba(23, 45, 42, 0.175); }
    @media screen and (max-width: 39.9375em) {
      .category-news.archive .pagination-container {
        height: 3rem; } }
    .category-news.archive .pagination-container .pagination-controls {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 50%; }
      @media screen and (max-width: 39.9375em) {
        .category-news.archive .pagination-container .pagination-controls {
          width: 100%; } }
      .category-news.archive .pagination-container .pagination-controls .page-numbers {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        min-width: 2rem;
        height: 2rem;
        padding: 0.1875rem 0.5rem 0 0.5rem;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 600;
        font-style: normal;
        color: rgba(23, 45, 42, 0.735);
        text-decoration: none;
        transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        .category-news.archive .pagination-container .pagination-controls .page-numbers:hover {
          color: #97ca3d;
          background-color: #115135; }
        .category-news.archive .pagination-container .pagination-controls .page-numbers.disabled {
          color: rgba(23, 45, 42, 0.375); }
        .category-news.archive .pagination-container .pagination-controls .page-numbers.current {
          color: white;
          background-color: #156140;
          transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        @media screen and (max-width: 39.9375em) {
          .category-news.archive .pagination-container .pagination-controls .page-numbers {
            min-width: 1.5rem;
            height: 1.5rem;
            padding: 0.0625rem 0.5rem 0 0.5rem;
            font-family: "Industry";
            font-size: 0.75rem;
            font-weight: 700;
            font-style: normal; } }

.post-type-archive-student_organization,
.single-student_organization {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: #f3f3f3;
  color: #545454;
  font-size: 1rem; }
  .post-type-archive-student_organization .content-area,
  .single-student_organization .content-area {
    -ms-flex-positive: 1;
        flex-grow: 1; }

.student-orgs__header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: white url(../img/billboards/billboard.24.jpg) no-repeat center center/cover; }
  .student-orgs__header:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(2, 37, 49, 0.76); }
  .student-orgs__header-inner {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    width: 100%;
    max-width: 100%;
    min-height: 50vh;
    margin: 0 auto;
    padding: 5rem 8vw 1.5rem; }
    .single .student-orgs__header-inner {
      max-width: calc(65rem + (8vw * 2)); }
    .student-orgs__header-inner > * {
      max-width: 100%; }
  .student-orgs__header-title {
    margin: 0;
    color: #C0D62A;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.114em;
    line-height: 1; }
    @media (min-width: 45em) {
      .student-orgs__header-title {
        font-size: 2.75rem; } }
    @media (min-width: 60em) {
      .student-orgs__header-title {
        font-size: 3rem; } }

.student-orgs__grid {
  padding: 1.5rem 8vw; }
  @media (min-width: 45em) {
    .student-orgs__grid-inner {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .student-orgs__grid-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    box-shadow: 0 0.5em 1em 0 rgba(5, 15, 8, 0.375);
    margin-top: 2em;
    background: white url(../img/billboards/billboard.24.jpg) no-repeat center center/cover;
    color: #ffffff;
    line-height: 1.2;
    text-decoration: none; }
    .student-orgs__grid-item:first-child {
      margin-top: 0; }
    @media (min-width: 45em) {
      .student-orgs__grid-item {
        width: calc(50% - 1em); }
        .student-orgs__grid-item:nth-child(-n+2) {
          margin-top: 0; }
        .student-orgs__grid-item:nth-child(even) {
          margin-left: 2em; } }
    @media (min-width: 60em) {
      .student-orgs__grid-item {
        width: calc((100% / 3) - (2em * 2 / 3)  - .1px); }
        .student-orgs__grid-item:nth-child(-n+3) {
          margin-top: 0; }
        .student-orgs__grid-item:nth-child(even) {
          margin-left: 0; }
        .student-orgs__grid-item:not(:nth-child(3n+1)) {
          margin-left: 2em; } }
    @media (min-width: 100em) {
      .student-orgs__grid-item {
        width: calc(25% - (2em * 3 / 4)); }
        .student-orgs__grid-item:nth-child(-n+4) {
          margin-top: 0; }
        .student-orgs__grid-item:not(:nth-child(3n+1)) {
          margin-left: 0; }
        .student-orgs__grid-item:not(:nth-child(4n+1)) {
          margin-left: 2em; } }
    .student-orgs__grid-item:before {
      content: '';
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
      display: block;
      -ms-flex-positive: 1;
          flex-grow: 1;
      background: rgba(255, 255, 255, 0.72);
      padding-top: 50%; }
    .student-orgs__grid-item:hover:before, .student-orgs__grid-item:focus:before {
      background: linear-gradient(to top, rgba(10, 51, 33, 0.85) 0, rgba(10, 51, 33, 0.7) 5%, rgba(10, 51, 33, 0.55) 10%, rgba(10, 51, 33, 0.4) 15%, rgba(10, 51, 33, 0.25) 20%, rgba(10, 51, 33, 0.1) 25%, rgba(10, 51, 33, 0) 50%); }
    .student-orgs__grid-item:hover .student-orgs__grid-item-name, .student-orgs__grid-item:focus .student-orgs__grid-item-name {
      color: #ffffff;
      background: linear-gradient(to top, rgba(10, 51, 33, 0.95), rgba(10, 51, 33, 0.85)); }
    .student-orgs__grid-item-name {
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
      width: 100%;
      max-width: 100%;
      background: rgba(255, 255, 255, 0.72);
      padding: .25em 1em .75em;
      color: #115135;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-weight: 500;
      letter-spacing: .1em;
      text-transform: uppercase; }

.student-org__content {
  padding: 1.5rem 8vw; }
  .student-org__content-inner {
    max-width: 65rem;
    margin: 0 auto; }

.error404__container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  min-height: 100vh;
  background: white url(../img/billboards/billboard.404.jpg) no-repeat center center/cover;
  padding-top: 5rem; }

.error404__inner {
  padding: 8vw; }

.error404__content {
  color: #333333;
  text-align: center; }

.error404__hidden {
  margin: 0;
  color: rgba(255, 255, 255, 0.3);
  font-family: "Industry";
  font-size: calc(5rem + 15vw);
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1;
  text-shadow: 0 0 0.5em rgba(20, 20, 20, 0.9); }

.error404__heading {
  font-family: "Industry";
  font-size: calc(1rem + 1vw);
  font-weight: 600;
  line-height: 1.2;
  color: #115135; }

.error404__message {
  margin: 0; }

#campaign-button {
  transition: all 480ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  min-height: 4rem;
  padding: 0 1rem 0 1rem;
  background-color: rgba(255, 255, 255, 0.035);
  border: .0125em solid transparent;
  color: rgba(255, 255, 255, 0.535);
  font-family: "Vitesse", "Factoria";
  font-size: 1rem;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: 0.025em;
  cursor: pointer; }
  #campaign-button:hover, #campaign-button:focus, #campaign-button:active {
    outline: none;
    border-color: #97CA3D;
    color: #97CA3D; }

.social-media.button {
  position: relative;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  width: 2rem;
  height: 2rem;
  margin: 0 0.5rem 0 0;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  border: none;
  background-color: rgba(255, 255, 255, 0.035);
  transition: all 220ms linear 0ms; }
  .social-media.button:hover, .social-media.button:focus, .social-media.button:active {
    outline: none;
    background-color: rgba(255, 255, 255, 0.035); }
    .social-media.button:hover svg path,
    .social-media.button:hover svg .path, .social-media.button:focus svg path,
    .social-media.button:focus svg .path, .social-media.button:active svg path,
    .social-media.button:active svg .path {
      fill-opacity: 1.000; }
  .social-media.button:first-child {
    margin-left: 0; }
  .social-media.button:last-child {
    margin-right: 0; }
  .social-media.button svg {
    width: 1rem;
    height: 1rem; }
    .social-media.button svg path,
    .social-media.button svg .path {
      fill-opacity: 0.565;
      transition: all 220ms linear 0ms; }
  .social-media.button .link-label {
    position: absolute;
    visibility: hidden; }
  .social-media.button.facebook:hover, .social-media.button.facebook:focus, .social-media.button.facebook:active {
    background-color: rgba(59, 89, 152, 0.885); }
  .social-media.button.twitter:hover, .social-media.button.twitter:focus, .social-media.button.twitter:active {
    background-color: rgba(0, 172, 237, 0.915); }
  .social-media.button.linkedin:hover, .social-media.button.linkedin:focus, .social-media.button.linkedin:active {
    background-color: rgba(0, 123, 182, 0.895); }
  .social-media.button.instagram:hover, .social-media.button.instagram:focus, .social-media.button.instagram:active {
    background-color: rgba(255, 255, 255, 0); }
    .social-media.button.instagram:hover:before, .social-media.button.instagram:focus:before, .social-media.button.instagram:active:before {
      opacity: 0.845; }
  .social-media.button.instagram:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-image: url(../img/icons/social/instagram.gradient.png);
    background-repeat: no-repeat;
    background-size: 64px 64px;
    background-position: center center;
    opacity: 0.000;
    transition: all 220ms linear 0ms; }
  .social-media.button.instagram svg {
    position: relative;
    z-index: 10; }
  .social-media.button.pinterest:hover, .social-media.button.pinterest:focus, .social-media.button.pinterest:active {
    background-color: rgba(203, 32, 39, 0.875); }
  .social-media.button.youtube:hover, .social-media.button.youtube:focus, .social-media.button.youtube:active {
    background-color: rgba(187, 0, 0, 0.835); }
  .social-media.button.flickr {
    display: none; }
    .social-media.button.flickr:before, .social-media.button.flickr:after {
      content: '';
      position: absolute;
      top: 16px;
      bottom: 16px;
      z-index: 1;
      display: block;
      width: 8px;
      height: 8px;
      margin: 0;
      padding: 0;
      border-radius: 4px;
      transition: all 220ms linear 0ms; }
      @media screen and (max-width: 63.9375em) {
        .social-media.button.flickr:before, .social-media.button.flickr:after {
          top: 14px;
          bottom: 14px;
          width: 6px;
          height: 6px;
          border-radius: 3px; } }
    .social-media.button.flickr:before {
      left: 11px;
      background-color: rgba(255, 255, 255, 0.235); }
      @media screen and (max-width: 63.9375em) {
        .social-media.button.flickr:before {
          left: 10px; } }
    .social-media.button.flickr:after {
      right: 11px;
      background-color: rgba(255, 255, 255, 0.515); }
      @media screen and (max-width: 63.9375em) {
        .social-media.button.flickr:after {
          right: 10px; } }
    .social-media.button.flickr:focus, .social-media.button.flickr:hover {
      background-color: rgba(255, 255, 255, 0.685); }
      .social-media.button.flickr:focus:before, .social-media.button.flickr:hover:before {
        background-color: #1B56D1; }
      .social-media.button.flickr:focus:after, .social-media.button.flickr:hover:after {
        background-color: #F40072; }

.social-media-links {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  height: 2rem;
  margin: 0 0 0 0; }

.menu-button {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4rem;
  height: 4rem;
  margin: 0;
  padding: 0;
  transition: all 280ms linear 0ms; }

.ui-button {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 3rem;
  margin: 0;
  padding: 1px 1.5rem 0 1.5rem;
  border: 1px solid transparent;
  background-color: rgba(255, 255, 255, 0.035);
  transition: all 480ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
  font-family: "Industry";
  font-size: 0.6875rem;
  font-weight: 600;
  font-style: normal;
  line-height: 0.75rem;
  letter-spacing: 0.085em;
  text-align: inherit;
  text-transform: uppercase;
  text-decoration: none;
  color: white; }
  .ui-button:before, .ui-button:after {
    position: absolute;
    z-index: 0; }
  .ui-button:hover {
    border-color: rgba(215, 211, 146, 0.615); }
  .ui-button em {
    font-weight: 900;
    font-style: normal;
    color: rgba(255, 255, 255, 0.435); }
  .ui-button strong {
    font-weight: inherit;
    color: #D7D392; }

.corners-button {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 4rem;
  margin: 1.375rem 0 0 0;
  padding: 0 1.5rem 0 1.5rem;
  font-family: "Klavika Condensed", "Saira Condensed";
  font-size: 0.875rem;
  font-weight: 500;
  font-style: normal;
  line-height: 0.6875rem;
  letter-spacing: 0.115em;
  text-align: inherit;
  text-transform: uppercase;
  text-decoration: none;
  color: white;
  background-color: rgba(255, 255, 255, 0);
  transition: all 220ms linear 0ms; }
  .corners-button:hover .corners.right:before, .corners-button:hover .corners.right:after, .corners-button:hover .corners.left:before, .corners-button:hover .corners.left:after {
    transition: all 120ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
  .corners-button:hover .corners.left:before {
    height: calc( 100% - 0.75rem);
    transition-delay: 0ms; }
  .corners-button:hover .corners.left:after {
    width: calc( 100% - 0.75rem);
    transition-delay: 30ms; }
  .corners-button:hover .corners.right:before {
    width: calc( 100% - 0.75rem);
    transition-delay: 0ms; }
  .corners-button:hover .corners.right:after {
    height: calc( 100% - 0.75rem);
    transition-delay: 30ms; }
  .corners-button .corners {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 0;
    width: 100%;
    height: 4rem; }
    .corners-button .corners.left {
      left: 0; }
      .corners-button .corners.left:before, .corners-button .corners.left:after {
        left: 0;
        border-right: none; }
      .corners-button .corners.left:before {
        top: 0;
        border-bottom: none;
        transition-delay: 0ms; }
      .corners-button .corners.left:after {
        bottom: 0;
        border-top: none;
        transition-delay: 30ms; }
    .corners-button .corners.right {
      right: 0; }
      .corners-button .corners.right:before, .corners-button .corners.right:after {
        right: 0;
        border-left: none; }
      .corners-button .corners.right:before {
        top: 0;
        border-bottom: none;
        transition-delay: 0ms; }
      .corners-button .corners.right:after {
        bottom: 0;
        border-top: none;
        transition-delay: 30ms; }
    .corners-button .corners:before, .corners-button .corners:after {
      content: '';
      position: absolute;
      width: 0.75rem;
      height: 0.75rem;
      border: 1px solid #D7D392;
      transition: all 240ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
  .corners-button .hide {
    display: none; }

.main-menu-button {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: 5rem;
  height: 5rem;
  margin: 0 0 0 auto;
  padding: 0;
  background-color: rgba(255, 255, 255, 0.075);
  transform: translate3d(0, 0, 0);
  transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
  -webkit-backface-visibility: visible; }
  @media screen and (max-width: 39.9375em) {
    .main-menu-button {
      width: 4rem;
      height: 4rem; } }
  .main-menu-button:after {
    -webkit-backface-visibility: visible; }
  .main-menu-button:hover {
    background-color: rgba(255, 255, 255, 0.135);
    cursor: pointer; }
    .main-menu-button:hover .button-icon.open-menu {
      transition: all 220ms linear 0ms; }
      .main-menu-button:hover .button-icon.open-menu .line {
        width: 1.625rem;
        fill-opacity: 1.000;
        transform: translate3d(-0.25rem, 0, 0);
        transition: all 480ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; }
      .main-menu-button:hover .button-icon.open-menu .dot {
        width: 0.25rem;
        fill-opacity: 1.000;
        transform: translate3d(-0.125rem, 0, 0);
        transition: all 480ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; }
      .main-menu-button:hover .button-icon.open-menu .open .l1 {
        transition-delay: 0ms; }
      .main-menu-button:hover .button-icon.open-menu .open .l2 {
        transition-delay: 10ms; }
      .main-menu-button:hover .button-icon.open-menu .open .l3 {
        transition-delay: 25ms; }
      .main-menu-button:hover .button-icon.open-menu .open .l4 {
        transition-delay: 45ms; }
      .main-menu-button:hover .button-icon.open-menu .open .l5 {
        transition-delay: 70ms; }
      .main-menu-button:hover .button-icon.open-menu .open .l6 {
        transition-delay: 100ms; }
      .main-menu-button:hover .button-icon.open-menu .open .d1 {
        transition-delay: 0ms; }
      .main-menu-button:hover .button-icon.open-menu .open .d2 {
        transition-delay: 10ms; }
      .main-menu-button:hover .button-icon.open-menu .open .d3 {
        transition-delay: 25ms; }
      .main-menu-button:hover .button-icon.open-menu .open .d4 {
        transition-delay: 45ms; }
      .main-menu-button:hover .button-icon.open-menu .open .d5 {
        transition-delay: 70ms; }
      .main-menu-button:hover .button-icon.open-menu .open .d6 {
        transition-delay: 100ms; }
    .main-menu-button:hover .open {
      color: #D7D392; }
    .main-menu-button:hover .close {
      color: white; }
  .main-menu-button.site-menu-open:hover {
    cursor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiPjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0xNy40MTQsMTZsNy43NzgsNy43NzhsLTEuNDE0LDEuNDE0TDE2LDE3LjQxNGwtNy43NzgsNy43NzhsLTEuNDE0LTEuNDE0TDE0LjU4NiwxNkw2LjgwOCw4LjIyMiBsMS40MTQtMS40MTRMMTYsMTQuNTg2bDcuNzc4LTcuNzc4bDEuNDE0LDEuNDE0TDE3LjQxNCwxNnoiPjwvcGF0aD48L3N2Zz4=) 16 16, auto; }
    .main-menu-button.site-menu-open:hover .close {
      color: white;
      background-color: #8f3d25;
      transition: background-color 480ms cubic-bezier(0.19, 1, 0.22, 1) 480ms; }
  .main-menu-button.site-menu-open .label.open {
    opacity: 0.000;
    transform: rotateY(180deg);
    transition: background-color 220ms linear 0ms, transform 420ms cubic-bezier(0.19, 1, 0.22, 1) 0ms, opacity 420ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  .main-menu-button.site-menu-open .label.close {
    color: white;
    opacity: 1.000;
    transform: rotateY(0deg);
    transition: background-color 220ms linear 0ms, transform 420ms cubic-bezier(0.19, 1, 0.22, 1) 0ms, opacity 420ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  .main-menu-button .label {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    width: 5rem;
    height: 5rem;
    margin: 0;
    padding: 0.0625rem 0 0 0;
    font-family: "Industry";
    font-size: 0.65625rem;
    font-weight: 700;
    font-style: normal;
    line-height: 0.375rem;
    letter-spacing: 0.085em;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.775); }
    @media screen and (max-width: 39.9375em) {
      .main-menu-button .label {
        width: 4rem;
        height: 4rem;
        font-family: "Industry";
        font-size: 0.5625rem;
        font-weight: 700;
        font-style: normal; } }
    .main-menu-button .label.open {
      z-index: 20;
      opacity: 1.000; }
    .main-menu-button .label.open {
      background-color: rgba(255, 255, 255, 0);
      transform: rotateY(0deg);
      transition: background-color 220ms linear 0ms, transform 420ms cubic-bezier(0.19, 1, 0.22, 1) 0ms, opacity 420ms cubic-bezier(0.19, 1, 0.22, 1) 0ms, color 220ms linear 0ms; }
    .main-menu-button .label.close {
      z-index: 10;
      padding: 1.25rem;
      background-color: rgba(227, 85, 48, 0.515);
      background-color: #8f3d25; }
    .main-menu-button .label.close {
      opacity: 0.000;
      transform: rotateY(-180deg);
      transition: background-color 220ms linear 0ms, transform 420ms cubic-bezier(0.19, 1, 0.22, 1) 0ms, opacity 420ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }

#site-options-button {
  right: 0; }
  #site-options-button:hover {
    background-color: rgba(8, 40, 24, 0.415); }
    #site-options-button:hover .button-icon .path {
      fill-opacity: 1.000;
      transition: all 280ms linear 0ms; }
  #site-options-button .button-icon .path {
    fill: white;
    fill-opacity: 0.565;
    transition: all 280ms linear 0ms; }

#site-menu {
  position: fixed;
  top: 5rem;
  bottom: 0;
  z-index: 110;
  width: 28rem;
  height: calc( 100vh - 5rem);
  margin: 0;
  padding: 0;
  overflow: visible;
  visibility: hidden;
  background-color: rgba(7, 24, 16, 0);
  box-shadow: none;
  transform: translate3d(28rem, 0, 0);
  transition: height 480ms cubic-bezier(0.19, 1, 0.22, 1) 0ms, top 480ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  @media screen and (max-width: 39.9375em) {
    #site-menu {
      top: 4rem;
      width: calc( 100vw - 4rem);
      height: calc( 100vh - 4rem);
      transform: translate3d(100%, 0, 0); } }
  #site-menu.is-open {
    visibility: visible; }
  [data-alert-status='has_alert'] #site-menu {
    top: 10rem;
    height: calc( 100vh - 10rem);
    transition: height 480ms cubic-bezier(0.19, 1, 0.22, 1) 0ms, top 480ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    @media screen and (max-width: 39.9375em) {
      [data-alert-status='has_alert'] #site-menu {
        top: 8rem;
        height: calc( 100vh - 8rem); } }
  .page-template-secondary #site-menu,
  .single-degree-program #site-menu,
  .archive #site-menu {
    transform: translate3d(28rem, 0, 0); }
  #site-menu #close-site-menu {
    position: absolute;
    top: -4rem;
    right: 0;
    z-index: 20;
    width: 4rem;
    height: 4rem;
    margin: 0;
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
    background-color: rgba(227, 85, 48, 0.655); }
    #site-menu #close-site-menu:hover {
      background-color: rgba(239, 65, 54, 0.875); }
    #site-menu #close-site-menu .icon {
      width: 1.5rem;
      height: 1.5rem; }
      #site-menu #close-site-menu .icon .path {
        fill: white; }
  #site-menu .tabs-content {
    position: relative;
    width: 100%;
    height: 100%;
    border: none;
    background: transparent; }

#base-menu {
  position: fixed;
  top: 4rem;
  bottom: 0;
  left: 0;
  z-index: 200;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  width: -24rem;
  height: calc( 100vh - 4rem);
  margin: 0;
  padding: 0;
  overflow: visible;
  visibility: visible;
  background-color: rgba(5, 15, 8, 0.585);
  box-shadow: none;
  transform: translate3d(-24rem, 0, 0);
  transition: none; }
  #base-menu #close-site-menu {
    position: absolute;
    top: -4rem;
    right: 0;
    z-index: 20;
    width: 4rem;
    height: 4rem;
    margin: 0;
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
    background-color: rgba(239, 65, 54, 0.655);
    transition: all 220ms linear 0ms; }
    #base-menu #close-site-menu:hover {
      background-color: rgba(239, 65, 54, 0.875); }
    #base-menu #close-site-menu .icon {
      width: 1.5rem;
      height: 1.5rem; }
      #base-menu #close-site-menu .icon .path {
        fill: white; }

#site-menu-toolbar {
  position: absolute;
  top: 0;
  right: -5rem;
  bottom: 0;
  z-index: 100;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
  width: 5rem;
  height: calc( 100vh - 5rem);
  margin: 0;
  padding: 0;
  border: none;
  background-color: rgba(8, 40, 24, 0.385);
  background-image: linear-gradient(0deg, rgba(8, 40, 24, 0.435) 0%, rgba(8, 40, 24, 0.675) 100%);
  transition: background-color 360ms linear 0ms; }
  @media screen and (max-width: 39.9375em) {
    #site-menu-toolbar {
      right: -4rem;
      width: 4rem;
      height: calc( 100vh - 4rem); } }
  #site-menu-toolbar .site-menu-button {
    position: relative;
    display: block;
    width: 5rem;
    height: 5rem;
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
    background-color: rgba(255, 255, 255, 0);
    transition: all 220ms linear 0ms; }
    @media screen and (max-width: 39.9375em) {
      #site-menu-toolbar .site-menu-button {
        width: 4rem;
        height: 4rem;
        padding: 0 0 0 0; } }
    #site-menu-toolbar .site-menu-button:hover {
      background-color: rgba(255, 255, 255, 0.055); }
      #site-menu-toolbar .site-menu-button:hover .icon .path {
        fill: white;
        opacity: 1.000;
        transition: all 220ms linear 0ms; }
    #site-menu-toolbar .site-menu-button:focus {
      background-color: rgba(255, 255, 255, 0.075); }
    #site-menu-toolbar .site-menu-button .link-label {
      position: absolute;
      visibility: hidden; }
    #site-menu-toolbar .site-menu-button .icon {
      width: 4rem;
      height: 4rem; }
      #site-menu-toolbar .site-menu-button .icon.hidden {
        display: none; }
      #site-menu-toolbar .site-menu-button .icon .path {
        fill: white;
        opacity: 0.765;
        transition: all 220ms linear 0ms; }

.menu-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 5rem 0 0 0;
  border: none;
  overflow: hidden;
  -ms-overflow-style: none !important;
  font-family: "Industry";
  font-size: 0.5625rem;
  font-weight: 700;
  font-style: normal;
  color: white;
  background-color: rgba(23, 45, 42, 0.655); }
  @media screen and (max-width: 39.9375em) {
    .menu-panel {
      height: calc( 100vh - 4rem);
      padding: 4rem 0 0 0; } }
  .menu-panel.inactive {
    z-index: 0;
    transition: all 240ms cubic-bezier(0.075, 0.82, 0.165, 1) 60ms; }
  .menu-panel.active {
    z-index: 10;
    transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 60ms; }
  .menu-panel .panel-text {
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.55rem;
    letter-spacing: 0.035em; }

.panel-header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 20;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: end;
      align-items: flex-end;
  width: 100%;
  height: 5rem;
  margin: 0;
  padding: 0.1875rem 1rem 1rem 1rem;
  font-family: "Industry";
  font-size: 0.875rem;
  font-weight: 600;
  font-style: normal;
  line-height: 0.75rem;
  letter-spacing: 0.085em;
  text-align: inherit;
  text-transform: uppercase;
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.055); }
  @media screen and (max-width: 39.9375em) {
    .panel-header {
      height: 4rem; } }

#menu-panel-build {
  padding: 0 0 0 0;
  overflow: scroll; }
  #menu-panel-build .panel-interior {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    padding: 2rem 2rem 2rem 2rem;
    overflow: scroll !important;
    -webkit-overflow-scrolling: touch; }

#menu-panel-main {
  position: relative;
  padding: 5rem 0 0 0;
  overflow: scroll;
  -ms-overflow-style: none !important;
  background-color: rgba(23, 45, 42, 0.815);
  background-image: linear-gradient(0deg, rgba(21, 97, 64, 0.675) 0%, rgba(0, 0, 0, 0) 50%); }
  @media screen and (max-width: 39.9375em) {
    #menu-panel-main {
      padding: 4rem 0 0 0; } }
  #menu-panel-main .panel-header {
    background-color: rgba(21, 97, 64, 0.535);
    color: #D7D392; }
  #menu-panel-main #menu-panel-main-menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 100%;
    height: 100%; }
    #menu-panel-main #menu-panel-main-menu > .menu {
      display: block;
      width: 100%;
      min-height: 100%; }
    #menu-panel-main #menu-panel-main-menu .menu-item {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      width: 100%;
      min-height: 3rem;
      margin: 0 0 0 0;
      padding: 0 0 0 0; }
      #menu-panel-main #menu-panel-main-menu .menu-item.menu-item-has-children {
        position: relative; }
        #menu-panel-main #menu-panel-main-menu .menu-item.menu-item-has-children[aria-expanded='true'] > a {
          color: #D7D392;
          background-color: rgba(17, 81, 53, 0.535); }
          #menu-panel-main #menu-panel-main-menu .menu-item.menu-item-has-children[aria-expanded='true'] > a:after {
            transform: rotate(-180deg);
            transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        #menu-panel-main #menu-panel-main-menu .menu-item.menu-item-has-children[aria-expanded='true']:after {
          transform: rotate(-180deg);
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        #menu-panel-main #menu-panel-main-menu .menu-item.menu-item-has-children:after {
          content: "";
          display: block;
          width: 1rem;
          height: 1rem;
          margin: 0;
          padding: 0;
          font-family: "codicons" !important;
          font-size: 1rem;
          font-weight: normal;
          font-style: normal;
          line-height: 1rem;
          text-rendering: geometricPrecision;
          color: #D7D392;
          position: absolute;
          top: 1rem;
          right: 1rem;
          bottom: 1rem;
          z-index: 0;
          transform: rotate(0deg);
          transform-origin: center center;
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
          cursor: pointer; }
        #menu-panel-main #menu-panel-main-menu .menu-item.menu-item-has-children > a:after {
          content: "";
          display: block;
          width: 1rem;
          height: 1rem;
          margin: 0;
          padding: 0;
          font-family: "codicons" !important;
          font-size: 1rem;
          font-weight: normal;
          font-style: normal;
          line-height: 1rem;
          text-rendering: geometricPrecision;
          color: #D7D392;
          position: absolute;
          top: 1rem;
          right: 1rem;
          bottom: 1rem;
          z-index: 0;
          border: none !important;
          transform: rotate(0deg);
          transform-origin: center center;
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
          cursor: pointer; }
        #menu-panel-main #menu-panel-main-menu .menu-item.menu-item-has-children .submenu {
          background-color: white;
          background-color: rgba(7, 24, 16, 0.785);
          background-color: rgba(10, 51, 33, 0.535); }
          #menu-panel-main #menu-panel-main-menu .menu-item.menu-item-has-children .submenu a {
            padding: 0.0625rem 1rem 0 2rem;
            color: white; }
            #menu-panel-main #menu-panel-main-menu .menu-item.menu-item-has-children .submenu a:hover {
              color: #d7d392;
              background-color: rgba(255, 255, 255, 0.035); }
      #menu-panel-main #menu-panel-main-menu .menu-item.college-menu > a:before {
        content: "";
        display: block;
        width: 1rem;
        height: 1rem;
        margin: 0;
        padding: 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: #D7D392;
        margin: 0 0.5rem 0 0; }
      #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .menu-item {
        position: relative; }
        #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .menu-item a {
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 600;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          color: rgba(255, 255, 255, 0.635); }
          #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .menu-item a:hover {
            color: white; }
            #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .menu-item a:hover:before {
              opacity: 1.000;
              transition: all 220ms linear 0ms; }
          #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .menu-item a:before {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: 0;
            opacity: 0.365;
            transition: all 220ms linear 0ms; }
      #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .link-college-home a:before {
        background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(21, 97, 64, 0.715) 100%); }
      #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .link-about a:before {
        background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(192, 214, 42, 0.315) 100%); }
      #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .link-students a:before {
        background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(52, 154, 170, 0.515) 100%); }
      #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .link-research a:before {
        background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(2, 37, 49, 0.715) 100%); }
      #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .link-outreach a:before {
        background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(227, 85, 48, 0.415) 100%); }
      #menu-panel-main #menu-panel-main-menu .menu-item.college-menu .link-alumni a:before {
        background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(225, 150, 62, 0.535) 100%); }
      #menu-panel-main #menu-panel-main-menu .menu-item a {
        position: relative;
        z-index: 1;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        width: 100%;
        height: 3.0625rem;
        margin: 0 0 0 0;
        padding: 0.0625rem 1rem 0 1rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.105);
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 500;
        font-style: normal;
        line-height: 0.75rem;
        letter-spacing: 0.095em;
        text-align: inherit;
        text-transform: none;
        text-decoration: none;
        color: white;
        background-color: rgba(255, 255, 255, 0);
        transition: all 220ms linear 0ms; }
        #menu-panel-main #menu-panel-main-menu .menu-item a:hover {
          color: #D7D392;
          background-color: rgba(255, 255, 255, 0.035); }
      #menu-panel-main #menu-panel-main-menu .menu-item .submenu {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
        width: 100%; }
    #menu-panel-main #menu-panel-main-menu #global-menu-link .site-menu-button {
      position: relative;
      z-index: 1;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 3.0625rem;
      margin: 0 0 0 0;
      padding: 0 1rem 0 1rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.105);
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 500;
      font-style: normal;
      line-height: 0.75rem;
      letter-spacing: 0.065em;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      color: white;
      background-color: rgba(255, 255, 255, 0.035);
      transition: all 220ms linear 0ms;
      cursor: pointer; }
      #menu-panel-main #menu-panel-main-menu #global-menu-link .site-menu-button:hover {
        background-color: rgba(255, 255, 255, 0.135); }
      #menu-panel-main #menu-panel-main-menu #global-menu-link .site-menu-button:before {
        content: "";
        display: block;
        width: 1rem;
        height: 1rem;
        margin: 0;
        padding: 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: #D7D392;
        margin: 0 0.5rem 0 0; }
      #menu-panel-main #menu-panel-main-menu #global-menu-link .site-menu-button:after {
        content: "";
        display: block;
        width: 1rem;
        height: 1rem;
        margin: 0;
        padding: 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: #D7D392;
        position: absolute;
        top: 1rem;
        right: 1rem;
        bottom: 1rem;
        z-index: 0;
        cursor: pointer; }
  #menu-panel-main #global-menu-list {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none; }
    #menu-panel-main #global-menu-list li {
      width: 100%;
      height: 5rem;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 39.9375em) {
        #menu-panel-main #global-menu-list li {
          height: 4rem; } }
    #menu-panel-main #global-menu-list #menu-link-home {
      background-color: rgba(21, 97, 64, 0.215); }
      #menu-panel-main #global-menu-list #menu-link-home .link-artwork {
        background-image: none; }
        #menu-panel-main #global-menu-list #menu-link-home .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.home.jpg); }
      #menu-panel-main #global-menu-list #menu-link-home .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
    #menu-panel-main #global-menu-list #menu-link-about {
      background-color: rgba(192, 214, 42, 0.215); }
      #menu-panel-main #global-menu-list #menu-link-about .link-artwork {
        background-image: none; }
        #menu-panel-main #global-menu-list #menu-link-about .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.about.jpg); }
      #menu-panel-main #global-menu-list #menu-link-about .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(8, 40, 24, 0.835) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-main #global-menu-list #menu-link-about .link-overlay:after {
        background-color: rgba(192, 214, 42, 0.135);
        mix-blend-mode: multiply; }
    #menu-panel-main #global-menu-list #menu-link-students {
      background-color: rgba(52, 154, 170, 0.215); }
      #menu-panel-main #global-menu-list #menu-link-students .link-artwork {
        background-image: none; }
        #menu-panel-main #global-menu-list #menu-link-students .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.students.jpg); }
      #menu-panel-main #global-menu-list #menu-link-students .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-main #global-menu-list #menu-link-students .link-overlay:after {
        background-color: rgba(52, 154, 170, 0.215);
        mix-blend-mode: multiply; }
    #menu-panel-main #global-menu-list #menu-link-research {
      background-color: rgba(2, 37, 49, 0.215); }
      #menu-panel-main #global-menu-list #menu-link-research .link-artwork {
        background-image: none; }
        #menu-panel-main #global-menu-list #menu-link-research .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.research.jpg); }
      #menu-panel-main #global-menu-list #menu-link-research .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-main #global-menu-list #menu-link-research .link-overlay:after {
        background-color: rgba(2, 37, 49, 0.315);
        mix-blend-mode: overlay; }
    #menu-panel-main #global-menu-list #menu-link-outreach {
      background-color: rgba(227, 85, 48, 0.215); }
      #menu-panel-main #global-menu-list #menu-link-outreach .link-artwork {
        background-image: none; }
        #menu-panel-main #global-menu-list #menu-link-outreach .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.service.jpg); }
      #menu-panel-main #global-menu-list #menu-link-outreach .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-main #global-menu-list #menu-link-outreach .link-overlay:after {
        background-color: rgba(227, 85, 48, 0.235);
        mix-blend-mode: multiply; }
    #menu-panel-main #global-menu-list #menu-link-alumni {
      background-color: rgba(225, 150, 62, 0.215); }
      #menu-panel-main #global-menu-list #menu-link-alumni .link-artwork {
        background-image: none; }
        #menu-panel-main #global-menu-list #menu-link-alumni .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.alumni.jpg); }
      #menu-panel-main #global-menu-list #menu-link-alumni .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-main #global-menu-list #menu-link-alumni .link-overlay:after {
        background-color: rgba(225, 150, 62, 0.275); }
    #menu-panel-main #global-menu-list .menu-link {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: end;
          align-items: flex-end;
      width: 100%;
      height: 5rem;
      margin: 0;
      padding: 0 1rem 1rem 2rem;
      transition: all 720ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
      @media screen and (max-width: 39.9375em) {
        #menu-panel-main #global-menu-list .menu-link {
          height: 4rem; } }
      #menu-panel-main #global-menu-list .menu-link:hover .link-text, #menu-panel-main #global-menu-list .menu-link:focus .link-text {
        color: white;
        transform: translate3d(1rem, 0, 0);
        transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
      #menu-panel-main #global-menu-list .menu-link .link-artwork,
      #menu-panel-main #global-menu-list .menu-link .link-overlay {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center; }
        #menu-panel-main #global-menu-list .menu-link .link-artwork:before, #menu-panel-main #global-menu-list .menu-link .link-artwork:after,
        #menu-panel-main #global-menu-list .menu-link .link-overlay:before,
        #menu-panel-main #global-menu-list .menu-link .link-overlay:after {
          content: '';
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 5rem; }
          @media screen and (max-width: 39.9375em) {
            #menu-panel-main #global-menu-list .menu-link .link-artwork:before, #menu-panel-main #global-menu-list .menu-link .link-artwork:after,
            #menu-panel-main #global-menu-list .menu-link .link-overlay:before,
            #menu-panel-main #global-menu-list .menu-link .link-overlay:after {
              height: 4rem; } }
        #menu-panel-main #global-menu-list .menu-link .link-artwork:before,
        #menu-panel-main #global-menu-list .menu-link .link-overlay:before {
          z-index: 50; }
        #menu-panel-main #global-menu-list .menu-link .link-artwork:after,
        #menu-panel-main #global-menu-list .menu-link .link-overlay:after {
          z-index: 40; }
      #menu-panel-main #global-menu-list .menu-link .link-artwork {
        z-index: 10;
        opacity: 0.215; }
      #menu-panel-main #global-menu-list .menu-link .link-overlay {
        z-index: 20; }
      #menu-panel-main #global-menu-list .menu-link .link-text {
        position: relative;
        z-index: 100;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 500;
        font-style: normal;
        line-height: 0.75rem;
        letter-spacing: 0.065em;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        color: rgba(255, 255, 255, 0.715);
        transform: translate3d(0, 0, 0);
        transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }

#site-menu-panels {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0); }
  @media screen and (max-width: 39.9375em) {
    #site-menu-panels {
      height: calc( 100vh - 4rem); } }

#menu-panel-global {
  padding: 5rem 0 0 0;
  background-image: linear-gradient(0deg, rgba(21, 97, 64, 0.435) 0%, rgba(0, 0, 0, 0) 50%); }
  #menu-panel-global .panel-header {
    color: #d7d392;
    background-color: rgba(10, 51, 33, 0.785);
    background-color: rgba(21, 97, 64, 0.535); }
    #menu-panel-global .panel-header #close-global-menu {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 10;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      width: 5rem;
      height: 5rem;
      margin: 0;
      padding: 0 0 1rem 0.25rem;
      cursor: pointer; }
      #menu-panel-global .panel-header #close-global-menu .label {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        height: 1rem;
        font-family: "Industry";
        font-size: 0.65625rem;
        font-weight: 700;
        font-style: normal;
        line-height: 0.5rem;
        letter-spacing: 0.115em;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        color: white; }
        #menu-panel-global .panel-header #close-global-menu .label:before {
          content: "";
          display: block;
          width: 1rem;
          height: 1rem;
          margin: 0;
          padding: 0;
          font-family: "codicons" !important;
          font-size: 1rem;
          font-weight: normal;
          font-style: normal;
          line-height: 1rem;
          text-rendering: geometricPrecision;
          color: #D7D392;
          margin: 0 0.25rem 0 0; }
  #menu-panel-global #menu-panel-global-menu {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 100%;
    height: 100%; }
    #menu-panel-global #menu-panel-global-menu > .menu {
      display: block;
      width: 100%;
      min-height: 100%; }
    #menu-panel-global #menu-panel-global-menu .menu-item {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      width: 100%;
      min-height: 3rem;
      margin: 0 0 0 0;
      padding: 0 0 0 0; }
      #menu-panel-global #menu-panel-global-menu .menu-item.menu-item-has-children {
        position: relative; }
        #menu-panel-global #menu-panel-global-menu .menu-item.menu-item-has-children[aria-expanded='true'] > a {
          color: #D7D392;
          background-color: rgba(10, 51, 33, 0.535); }
          #menu-panel-global #menu-panel-global-menu .menu-item.menu-item-has-children[aria-expanded='true'] > a:after {
            transform: rotate(-180deg);
            transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        #menu-panel-global #menu-panel-global-menu .menu-item.menu-item-has-children[aria-expanded='true']:after {
          transform: rotate(-180deg);
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        #menu-panel-global #menu-panel-global-menu .menu-item.menu-item-has-children:after {
          position: absolute;
          top: 1rem;
          right: 1rem;
          bottom: 1rem;
          z-index: 0;
          transform: rotate(0deg);
          transform-origin: center center;
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
          cursor: pointer; }
        #menu-panel-global #menu-panel-global-menu .menu-item.menu-item-has-children > a:after {
          content: "";
          display: block;
          width: 1rem;
          height: 1rem;
          margin: 0;
          padding: 0;
          font-family: "codicons" !important;
          font-size: 1rem;
          font-weight: normal;
          font-style: normal;
          line-height: 1rem;
          text-rendering: geometricPrecision;
          color: #D7D392;
          position: absolute;
          top: 1rem;
          right: 1rem;
          bottom: 1rem;
          z-index: 0;
          transform: rotate(0deg);
          transform-origin: center center;
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
          cursor: pointer; }
        #menu-panel-global #menu-panel-global-menu .menu-item.menu-item-has-children .submenu {
          background-color: white;
          background-color: rgba(7, 24, 16, 0.785);
          background-color: rgba(10, 51, 33, 0.535); }
          #menu-panel-global #menu-panel-global-menu .menu-item.menu-item-has-children .submenu a {
            color: white; }
            #menu-panel-global #menu-panel-global-menu .menu-item.menu-item-has-children .submenu a:hover {
              color: #d7d392;
              background-color: rgba(255, 255, 255, 0.035); }
      #menu-panel-global #menu-panel-global-menu .menu-item a {
        position: relative;
        z-index: 1;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        width: 100%;
        height: 3.0625rem;
        margin: 0 0 0 0;
        padding: 0.0625rem 1rem 0 1rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.105);
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 500;
        font-style: normal;
        line-height: 0.75rem;
        letter-spacing: 0.095em;
        text-align: inherit;
        text-transform: none;
        text-decoration: none;
        color: white;
        background-color: rgba(255, 255, 255, 0);
        transition: all 220ms linear 0ms; }
        #menu-panel-global #menu-panel-global-menu .menu-item a:hover {
          color: #D7D392;
          background-color: rgba(255, 255, 255, 0.035); }
      #menu-panel-global #menu-panel-global-menu .menu-item .submenu {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
        width: 100%; }
    #menu-panel-global #menu-panel-global-menu #global-menu-link button {
      position: relative;
      z-index: 1;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 3.0625rem;
      margin: 0 0 0 0;
      padding: 0 1rem 0 1rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.105);
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 500;
      font-style: normal;
      line-height: 0.75rem;
      letter-spacing: 0.065em;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      color: white;
      background-color: rgba(255, 255, 255, 0.035);
      transition: all 220ms linear 0ms;
      cursor: pointer; }
      #menu-panel-global #menu-panel-global-menu #global-menu-link button:hover {
        background-color: rgba(255, 255, 255, 0.135); }
      #menu-panel-global #menu-panel-global-menu #global-menu-link button:before {
        content: "";
        display: block;
        width: 1rem;
        height: 1rem;
        margin: 0;
        padding: 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: #D7D392;
        margin: 0 0.5rem 0 0; }
      #menu-panel-global #menu-panel-global-menu #global-menu-link button:after {
        content: "";
        display: block;
        width: 1rem;
        height: 1rem;
        margin: 0;
        padding: 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: #D7D392;
        position: absolute;
        top: 1rem;
        right: 1rem;
        bottom: 1rem;
        z-index: 0;
        cursor: pointer; }
  #menu-panel-global #global-menu-list {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none; }
    #menu-panel-global #global-menu-list li {
      width: 100%;
      height: 5rem;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 39.9375em) {
        #menu-panel-global #global-menu-list li {
          height: 4rem; } }
    #menu-panel-global #global-menu-list #menu-link-home {
      background-color: rgba(21, 97, 64, 0.215); }
      #menu-panel-global #global-menu-list #menu-link-home .link-artwork {
        background-image: none; }
        #menu-panel-global #global-menu-list #menu-link-home .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.home.jpg); }
      #menu-panel-global #global-menu-list #menu-link-home .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
    #menu-panel-global #global-menu-list #menu-link-about {
      background-color: rgba(192, 214, 42, 0.215); }
      #menu-panel-global #global-menu-list #menu-link-about .link-artwork {
        background-image: none; }
        #menu-panel-global #global-menu-list #menu-link-about .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.about.jpg); }
      #menu-panel-global #global-menu-list #menu-link-about .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(8, 40, 24, 0.835) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-global #global-menu-list #menu-link-about .link-overlay:after {
        background-color: rgba(192, 214, 42, 0.135);
        mix-blend-mode: multiply; }
    #menu-panel-global #global-menu-list #menu-link-students {
      background-color: rgba(52, 154, 170, 0.215); }
      #menu-panel-global #global-menu-list #menu-link-students .link-artwork {
        background-image: none; }
        #menu-panel-global #global-menu-list #menu-link-students .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.students.jpg); }
      #menu-panel-global #global-menu-list #menu-link-students .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-global #global-menu-list #menu-link-students .link-overlay:after {
        background-color: rgba(52, 154, 170, 0.215);
        mix-blend-mode: multiply; }
    #menu-panel-global #global-menu-list #menu-link-research {
      background-color: rgba(2, 37, 49, 0.215); }
      #menu-panel-global #global-menu-list #menu-link-research .link-artwork {
        background-image: none; }
        #menu-panel-global #global-menu-list #menu-link-research .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.research.jpg); }
      #menu-panel-global #global-menu-list #menu-link-research .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-global #global-menu-list #menu-link-research .link-overlay:after {
        background-color: rgba(2, 37, 49, 0.315);
        mix-blend-mode: overlay; }
    #menu-panel-global #global-menu-list #menu-link-outreach {
      background-color: rgba(227, 85, 48, 0.215); }
      #menu-panel-global #global-menu-list #menu-link-outreach .link-artwork {
        background-image: none; }
        #menu-panel-global #global-menu-list #menu-link-outreach .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.service.jpg); }
      #menu-panel-global #global-menu-list #menu-link-outreach .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-global #global-menu-list #menu-link-outreach .link-overlay:after {
        background-color: rgba(227, 85, 48, 0.235);
        mix-blend-mode: multiply; }
    #menu-panel-global #global-menu-list #menu-link-alumni {
      background-color: rgba(225, 150, 62, 0.215); }
      #menu-panel-global #global-menu-list #menu-link-alumni .link-artwork {
        background-image: none; }
        #menu-panel-global #global-menu-list #menu-link-alumni .link-artwork.loaded {
          background-image: url(../img/menus/menu.item.alumni.jpg); }
      #menu-panel-global #global-menu-list #menu-link-alumni .link-overlay:before {
        background-image: linear-gradient(90deg, rgba(5, 25, 16, 0.535) 0%, rgba(17, 81, 53, 0) 100%); }
      #menu-panel-global #global-menu-list #menu-link-alumni .link-overlay:after {
        background-color: rgba(225, 150, 62, 0.275); }
    #menu-panel-global #global-menu-list .menu-link {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: end;
          align-items: flex-end;
      width: 100%;
      height: 5rem;
      margin: 0;
      padding: 0 1rem 1rem 2rem;
      transition: all 720ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
      @media screen and (max-width: 39.9375em) {
        #menu-panel-global #global-menu-list .menu-link {
          height: 4rem; } }
      #menu-panel-global #global-menu-list .menu-link:hover .link-text, #menu-panel-global #global-menu-list .menu-link:focus .link-text {
        color: white;
        transform: translate3d(1rem, 0, 0);
        transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }
      #menu-panel-global #global-menu-list .menu-link .link-artwork,
      #menu-panel-global #global-menu-list .menu-link .link-overlay {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center; }
        #menu-panel-global #global-menu-list .menu-link .link-artwork:before, #menu-panel-global #global-menu-list .menu-link .link-artwork:after,
        #menu-panel-global #global-menu-list .menu-link .link-overlay:before,
        #menu-panel-global #global-menu-list .menu-link .link-overlay:after {
          content: '';
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 5rem; }
        #menu-panel-global #global-menu-list .menu-link .link-artwork:before,
        #menu-panel-global #global-menu-list .menu-link .link-overlay:before {
          z-index: 50; }
        #menu-panel-global #global-menu-list .menu-link .link-artwork:after,
        #menu-panel-global #global-menu-list .menu-link .link-overlay:after {
          z-index: 40; }
      #menu-panel-global #global-menu-list .menu-link .link-artwork {
        z-index: 10;
        opacity: 0.215; }
      #menu-panel-global #global-menu-list .menu-link .link-overlay {
        z-index: 20; }
      #menu-panel-global #global-menu-list .menu-link .link-text {
        position: relative;
        z-index: 100;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 500;
        font-style: normal;
        line-height: 0.75rem;
        letter-spacing: 0.065em;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        color: rgba(255, 255, 255, 0.715);
        transform: translate3d(0, 0, 0);
        transition: all 360ms cubic-bezier(0.075, 0.82, 0.165, 1) 0ms; }

#menu-panel-search {
  background-image: linear-gradient(0deg, rgba(2, 37, 49, 0.675) 0%, rgba(0, 0, 0, 0) 50%);
  padding: 0 0 0 0; }
  #menu-panel-search .panel-header {
    background-color: rgba(2, 37, 49, 0.655); }
  #menu-panel-search .panel-interior {
    height: 100%; }
  #menu-panel-search #___gcse_0 {
    height: 100%; }
  #menu-panel-search .gsc-control-cse {
    height: 100%;
    padding: 0 0 0 0;
    border: none;
    background-color: rgba(2, 37, 49, 0); }
  #menu-panel-search .gsc-control-wrapper-cse {
    position: relative;
    height: 100%;
    padding: 5rem 0 0 0;
    overflow: hidden; }
    @media screen and (max-width: 39.9375em) {
      #menu-panel-search .gsc-control-wrapper-cse {
        padding: 4rem 0 0 0; } }
    #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools {
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      z-index: 20;
      height: 5rem;
      margin: 0 0 0 0;
      background-color: rgba(2, 37, 49, 0.655); }
      @media screen and (max-width: 39.9375em) {
        #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools {
          height: 4rem; } }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools td.gsc-input {
        padding: 1rem 0 1rem 1rem; }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools table.gsc-search-box {
        margin: 0; }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools .gsc-input-box {
        height: 3rem;
        border: none;
        background-color: rgba(255, 255, 255, 0); }
        @media screen and (max-width: 39.9375em) {
          #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools .gsc-input-box {
            height: 2rem;
            padding: 0 0 0 0; } }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools .gsc-input-box .gsib_a {
          height: 3rem;
          padding: 0 0 0 0; }
          @media screen and (max-width: 39.9375em) {
            #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools .gsc-input-box .gsib_a {
              width: 100%;
              height: 2rem; } }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools .gsc-input-box .gsib_b .gsst_a .gscb_a {
          color: rgba(255, 255, 255, 0.325); }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools input[name='search'] {
        height: 3rem !important;
        margin: 0 0 0 0 !important;
        padding: 0 1rem 0 0.75rem !important;
        text-indent: 0 !important;
        background: none !important;
        font-family: "Industry";
        font-size: 1rem;
        font-weight: 600;
        font-style: normal;
        color: white; }
        @media screen and (max-width: 39.9375em) {
          #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools input[name='search'] {
            height: 2rem !important;
            padding: 0 0 0 0 !important; } }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools #gs_id50 {
        height: 3rem;
        margin: 0 0 0 0 !important;
        background-color: rgba(255, 255, 255, 0.035); }
        @media screen and (max-width: 39.9375em) {
          #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools #gs_id50 {
            height: 2rem; } }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools td.gsc-search-button {
        width: 4rem;
        padding: 1rem 1rem 1rem 0; }
        @media screen and (max-width: 39.9375em) {
          #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools td.gsc-search-button {
            width: 3rem; } }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools button.gsc-search-button {
        width: 3rem;
        height: 3rem;
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        border: none;
        box-sizing: border-box;
        background-color: rgba(52, 154, 170, 0.635);
        transition: all 220ms linear 0ms; }
        @media screen and (max-width: 39.9375em) {
          #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools button.gsc-search-button {
            width: 2rem;
            height: 2rem; } }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools button.gsc-search-button:hover {
          background-color: #349aaa; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-search-box-tools button.gsc-search-button svg {
          width: 1rem;
          height: 1rem;
          fill: white; }
    #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible {
      position: absolute;
      top: 5rem;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 10;
      height: calc( 100% - 5rem);
      overflow: scroll; }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-above-wrapper-area {
        padding: 0 0 0 0;
        border: none; }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-above-wrapper-area-container {
        margin: 0 0 0 0; }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result-info-container {
        height: 2rem;
        padding: 0 0 0 0;
        background-color: rgba(255, 255, 255, 0.075); }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result-info-container .gsc-result-info {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: center;
              align-items: center;
          height: 2rem;
          padding: 0.0625rem 0 0 1rem;
          font-family: "Industry";
          font-size: 0.5625rem;
          font-weight: 700;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 0.5rem;
          letter-spacing: 0.025em;
          color: rgba(255, 255, 255, 0.635); }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-resultsHeader {
        display: none; }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-results {
        width: 100%;
        margin: 0 0 0 0;
        padding: 0 0 0 0; }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gcsc-more-maybe-branding-root > a {
        display: none; }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gcsc-more-maybe-branding-root .gcsc-find-more-on-google-branding {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        float: none;
        width: 100%; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gcsc-more-maybe-branding-root .gcsc-find-more-on-google-branding .gcsc-branding {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center; }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gcsc-more-maybe-branding-root .gcsc-find-more-on-google-branding .gcsc-branding .gcsc-branding-text {
            font-family: "Industry";
            font-size: 0.6875rem;
            font-weight: 600;
            font-style: normal;
            color: rgba(255, 255, 255, 0.315); }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gcsc-more-maybe-branding-root .gcsc-find-more-on-google-branding .gcsc-branding .gcsc-branding-clickable {
            margin: 0 0 0.1875rem 0;
            filter: brightness(3) opacity(0.565); }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result {
        padding: 1rem 1rem 1rem 1rem;
        border: none;
        color: white;
        background-color: rgba(255, 255, 255, 0);
        transition: all 220ms linear 0ms; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result:hover {
          background-color: rgba(255, 255, 255, 0.035); }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result div {
          padding: 0 0 0 0; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result a.gs-image {
          display: block; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gsc-table-result {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: justify;
              justify-content: space-between;
          -ms-flex-align: start;
              align-items: flex-start;
          margin: 0.75rem 0 0 0; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-spelling {
          font-family: "Industry";
          font-size: 1rem;
          font-weight: 500;
          font-style: normal;
          color: white; }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-spelling a {
            text-decoration: none;
            color: #d7d392; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-no-results-result .gs-snippet {
          border: none;
          background: transparent; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-title {
          margin: 0 0 0.5rem 0;
          font-family: "Industry";
          font-size: 0.8125rem;
          font-weight: 700;
          font-style: normal;
          text-decoration: none;
          line-height: 1rem;
          letter-spacing: 0.015em;
          color: white;
          transition: all 220ms linear 0ms; }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-title:hover {
            color: #c0d62a; }
            #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-title:hover b {
              color: #c0d62a; }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-title b {
            font-family: "Industry";
            font-size: 0.8125rem;
            font-weight: 700;
            font-style: normal;
            text-decoration: none;
            line-height: 1rem;
            letter-spacing: 0.015em;
            color: #349aaa;
            transition: all 220ms linear 0ms; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gsc-url-top {
          font-family: "Industry";
          font-size: 0.6875rem;
          font-weight: 600;
          font-style: normal;
          line-height: 0.75rem;
          letter-spacing: 0.035em; }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gsc-url-top .gs-visibleUrl {
            overflow: visible;
            color: #d7d392; }
            #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gsc-url-top .gs-visibleUrl b {
              color: #349aaa; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-fileFormat span {
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 600;
          font-style: normal; }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-fileFormat span.gs-fileFormat {
            color: rgba(255, 255, 255, 0.355); }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-fileFormat span.gs-fileFormatType {
            color: rgba(255, 255, 255, 0.675); }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-snippet {
          margin: 0 0 0 0;
          font-family: "Industry";
          font-size: 0.8125rem;
          font-weight: 500;
          font-style: normal;
          line-height: 1rem;
          letter-spacing: 0.015em;
          color: rgba(255, 255, 255, 0.855); }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-snippet b {
            color: #349aaa; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-result .gs-image-box {
          float: none;
          height: auto;
          overflow: visible; }
      #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-cursor-box {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        margin: 1rem 0 1rem 0; }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-cursor-box .gsc-cursor-page {
          display: -ms-inline-flexbox;
          display: inline-flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          width: 2rem;
          height: 2rem;
          margin: 0 0 0 0;
          padding: 0.0625rem 0 0 0;
          border: none;
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 600;
          font-style: normal;
          color: rgba(255, 255, 255, 0.435);
          background-color: rgba(255, 255, 255, 0);
          transition: all 220ms linear 0ms; }
          #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-cursor-box .gsc-cursor-page:hover {
            text-decoration: none;
            color: #c0d62a;
            background-color: rgba(255, 255, 255, 0.035); }
        #menu-panel-search .gsc-control-wrapper-cse .gsc-results-wrapper-visible .gsc-cursor-box .gsc-cursor-current-page {
          color: white;
          background-color: rgba(255, 255, 255, 0.075); }

#menu-panel-events {
  background-color: rgba(2, 37, 49, 0.855);
  background-image: linear-gradient(0deg, rgba(52, 154, 170, 0.435) 0%, rgba(0, 0, 0, 0) 50%); }
  #menu-panel-events .panel-header {
    background-color: rgba(52, 154, 170, 0.435); }
    #menu-panel-events .panel-header #view-calendar-link {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 10;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      width: 6rem;
      height: 5rem;
      margin: 0;
      padding: 0 0 1rem 0.25rem;
      text-decoration: none;
      cursor: pointer; }
      #menu-panel-events .panel-header #view-calendar-link .label {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        height: 1rem;
        font-family: "Industry";
        font-size: 0.65625rem;
        font-weight: 700;
        font-style: normal;
        line-height: 0.5rem;
        letter-spacing: 0.115em;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        color: white; }
        #menu-panel-events .panel-header #view-calendar-link .label:after {
          content: "";
          display: block;
          width: 1rem;
          height: 1rem;
          margin: 0;
          padding: 0;
          font-family: "codicons" !important;
          font-size: 1rem;
          font-weight: normal;
          font-style: normal;
          line-height: 1rem;
          text-rendering: geometricPrecision;
          color: #D7D392;
          margin: 0 0.25rem 0 0; }
  #menu-panel-events #calendar-links-container {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 64px;
    margin: 0;
    padding: 16px 16px 16px 16px;
    box-sizing: border-box;
    background-color: rgba(1, 6, 7, 0.475); }
    #menu-panel-events #calendar-links-container .calendar-links {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: stretch;
          align-items: stretch;
      width: 100%;
      height: 32px;
      margin: 0;
      padding: 0; }
      #menu-panel-events #calendar-links-container .calendar-links .calendar-link {
        display: -ms-inline-flexbox;
        display: inline-flex;
        height: 32px;
        margin: 0;
        padding-top: 1px;
        font-family: "Industry";
        font-size: 10px;
        font-weight: 700;
        line-height: 32px;
        letter-spacing: 0.015em;
        text-transform: uppercase;
        text-rendering: geometricPrecision;
        transition: all 220ms linear 0ms; }
        @media screen and (max-width: 63.9375em) {
          #menu-panel-events #calendar-links-container .calendar-links .calendar-link {
            font-size: 9px; } }
        #menu-panel-events #calendar-links-container .calendar-links .calendar-link.local-link {
          position: relative;
          -ms-flex-positive: 1;
              flex-grow: 1;
          padding-left: 40px;
          color: rgba(255, 255, 255, 0.895);
          background-color: rgba(255, 255, 255, 0.055); }
          #menu-panel-events #calendar-links-container .calendar-links .calendar-link.local-link:hover {
            color: #D7D392;
            background-color: rgba(255, 255, 255, 0.115); }
            #menu-panel-events #calendar-links-container .calendar-links .calendar-link.local-link:hover:before {
              background-color: rgba(113, 181, 167, 0.255);
              opacity: 1.000;
              transition: all 220ms linear 0ms; }
          #menu-panel-events #calendar-links-container .calendar-links .calendar-link.local-link:before {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            z-index: 1;
            width: 31px;
            height: 32px;
            margin: 0;
            padding: 0;
            background-color: rgba(255, 255, 255, 0.055);
            background-image: url(../img/icons/UI/icon_department_events.svg);
            background-repeat: no-repeat;
            background-size: 32px 32px;
            background-position: 0px 0px;
            opacity: 0.735;
            transition: all 220ms linear 0ms; }
        #menu-panel-events #calendar-links-container .calendar-links .calendar-link.global-link {
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-positive: 0;
              flex-grow: 0;
          width: 132px;
          text-align: center;
          color: rgba(215, 211, 146, 0.895);
          background-color: rgba(113, 181, 167, 0.255); }
          #menu-panel-events #calendar-links-container .calendar-links .calendar-link.global-link:hover {
            color: white;
            background-color: rgba(133, 186, 175, 0.475); }
          @media screen and (max-width: 63.9375em) {
            #menu-panel-events #calendar-links-container .calendar-links .calendar-link.global-link {
              width: auto;
              padding: 1px 12px 0 12px; } }
  #menu-panel-events .panel-interior {
    overflow-y: scroll; }
  #menu-panel-events #calendar-panel {
    position: absolute;
    top: 5rem;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: calc( 100% - 5rem);
    margin: 0;
    padding: 0 0 0 0; }
    @media screen and (max-width: 39.9375em) {
      #menu-panel-events #calendar-panel {
        top: 4rem;
        height: calc( 100% - 4rem); } }
    #menu-panel-events #calendar-panel .calendar-fail {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: calc(100% - 64px);
      margin: 0;
      padding: 0 48px 0 48px;
      box-sizing: border-box; }
      #menu-panel-events #calendar-panel .calendar-fail .container {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        width: 100%;
        padding: 24px 16px 24px 16px;
        border: 1px solid rgba(255, 255, 255, 0.075);
        background-color: rgba(255, 255, 255, 0.035); }
        #menu-panel-events #calendar-panel .calendar-fail .container svg {
          width: 32px;
          height: 32px;
          opacity: 0.725; }
        #menu-panel-events #calendar-panel .calendar-fail .container span {
          display: block;
          font-family: "Industry";
          font-size: 12px;
          font-weight: 600;
          letter-spacing: 0.045em;
          text-align: center;
          text-rendering: geometricPrecision;
          color: rgba(255, 255, 255, 0.885); }
    #menu-panel-events #calendar-panel .events-list {
      height: 100%;
      margin: 0;
      padding: 0;
      list-style: none;
      background: transparent; }
    #menu-panel-events #calendar-panel .event {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start;
      padding: 1rem 1rem 1rem 1rem;
      text-decoration: none;
      color: white;
      border-bottom: 1px solid rgba(255, 255, 255, 0.135);
      background-color: rgba(255, 255, 255, 0);
      transition: all 220ms linear 0ms; }
      #menu-panel-events #calendar-panel .event:nth-child(odd) {
        background-color: rgba(255, 255, 255, 0); }
      #menu-panel-events #calendar-panel .event:nth-child(even) {
        background-color: rgba(255, 255, 255, 0); }
      #menu-panel-events #calendar-panel .event:last-child {
        border-bottom: none; }
      #menu-panel-events #calendar-panel .event:hover {
        background-color: rgba(0, 8, 9, 0.235); }
      #menu-panel-events #calendar-panel .event .calendar-icon {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        width: 64px;
        height: 64px; }
        #menu-panel-events #calendar-panel .event .calendar-icon span {
          box-sizing: border-box;
          text-align: center;
          text-transform: uppercase;
          text-rendering: geometricPrecision; }
        #menu-panel-events #calendar-panel .event .calendar-icon .calendar-month {
          height: 24px;
          padding: 1px 0 0 0;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 11px;
          font-weight: normal;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 0.6875rem;
          font-weight: 500;
          font-style: normal;
          line-height: 24px;
          letter-spacing: 0.065em;
          text-rendering: geometricPrecision;
          color: #d7d392;
          background-color: rgba(47, 146, 162, 0.475); }
        #menu-panel-events #calendar-panel .event .calendar-icon .calendar-day {
          font-family: "Decima Mono";
          font-size: 1.75rem;
          font-weight: 700;
          font-style: normal;
          line-height: 2.5rem;
          letter-spacing: -0.025em;
          color: white;
          background-color: rgba(255, 255, 255, 0.055); }
      #menu-panel-events #calendar-panel .event .entry-title {
        -ms-flex-order: 0;
            order: 0;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 700;
        font-style: normal;
        text-decoration: none;
        color: #d7d392; }
        #menu-panel-events #calendar-panel .event .entry-title:hover {
          text-decoration: underline; }
      #menu-panel-events #calendar-panel .event .entry-info {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
        width: calc(100% - 64px);
        padding: 0 0 0 16px; }
      #menu-panel-events #calendar-panel .event .entry-date {
        -ms-flex-order: 10;
            order: 10;
        margin: 0 0 0 0;
        font-family: "Industry";
        font-size: 0.75rem;
        font-weight: 600;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none; }
      #menu-panel-events #calendar-panel .event .entry-description {
        -ms-flex-order: 30;
            order: 30;
        margin: 0 0 0 0;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 500;
        font-style: normal;
        line-height: 18px;
        letter-spacing: 0.025em;
        text-transform: none;
        color: rgba(254, 254, 254, 0.865); }
        #menu-panel-events #calendar-panel .event .entry-description a {
          color: #D7D392; }
      #menu-panel-events #calendar-panel .event .calendar-footer {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: justify;
            justify-content: space-between;
        width: 100%;
        background-color: rgba(255, 255, 255, 0.075);
        transition: all 220ms linear 0ms; }
        #menu-panel-events #calendar-panel .event .calendar-footer span {
          text-rendering: geometricPrecision; }
        #menu-panel-events #calendar-panel .event .calendar-footer .event-location {
          position: relative;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -ms-flex-positive: 1;
              flex-grow: 1;
          height: 32px;
          padding: 1px 12px 0 40px;
          box-sizing: border-box;
          font-family: "Industry";
          font-size: 10px;
          font-weight: 600;
          line-height: 32px;
          letter-spacing: 0.045em;
          text-transform: uppercase;
          color: rgba(255, 255, 255, 0.935); }
          #menu-panel-events #calendar-panel .event .calendar-footer .event-location:before {
            position: absolute;
            top: 0;
            left: 0;
            width: 32px;
            height: 32px;
            background-image: url(../img/icons/UI/icon_direction_arrow.svg);
            background-repeat: no-repeat;
            background-size: 32px 32px;
            background-position: 0 0;
            background-color: rgba(47, 146, 162, 0.475); }
        #menu-panel-events #calendar-panel .event .calendar-footer .event-link a {
          display: -ms-inline-flexbox;
          display: inline-flex;
          -ms-flex-item-align: end;
              align-self: flex-end;
          height: 32px;
          padding: 1px 12px 0 12px;
          box-sizing: border-box;
          font-family: "Industry";
          font-size: 10px;
          font-weight: 600;
          line-height: 32px;
          letter-spacing: 0.065em;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          text-decoration: none;
          color: white;
          background-color: rgba(47, 146, 162, 0.475);
          transition: all 220ms linear 0ms; }
          #menu-panel-events #calendar-panel .event .calendar-footer .event-link a:hover {
            background-color: rgba(52, 154, 170, 0.765); }

#menu-panel-resources {
  background-image: linear-gradient(0deg, rgba(192, 214, 42, 0.515) 0%, rgba(0, 0, 0, 0) 50%); }
  #menu-panel-resources .panel-header {
    background-color: rgba(192, 214, 42, 0.435); }

#menu-panel-social {
  background-image: linear-gradient(0deg, rgba(227, 85, 48, 0.575) 0%, rgba(0, 0, 0, 0) 50%);
  overflow-y: scroll; }
  #menu-panel-social .panel-header {
    background-color: rgba(227, 85, 48, 0.435); }
  #menu-panel-social #social-stream .sm-container {
    padding: 16px;
    background-color: transparent; }
  #menu-panel-social #social-stream .sm-card {
    margin: 0 0 16px 0;
    color: white;
    background-color: rgba(255, 255, 255, 0.035);
    opacity: 0.000;
    transition: background-color 220ms linear 0ms; }
    #menu-panel-social #social-stream .sm-card:last-child {
      margin-bottom: 0; }
    #menu-panel-social #social-stream .sm-card:hover {
      background-color: rgba(255, 255, 255, 0.085); }
    #menu-panel-social #social-stream .sm-card a {
      color: #D7D392; }
    #menu-panel-social #social-stream .sm-card .sm-card-header {
      position: relative;
      padding: 24px 40px 0px 24px; }
      #menu-panel-social #social-stream .sm-card .sm-card-header .platform-label {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 100; }
        #menu-panel-social #social-stream .sm-card .sm-card-header .platform-label .platform-icon-box {
          position: relative;
          z-index: 100;
          display: inline-block;
          width: 32px;
          height: 32px; }
          #menu-panel-social #social-stream .sm-card .sm-card-header .platform-label .platform-icon-box:before {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 0 60px 60px 0; }
          #menu-panel-social #social-stream .sm-card .sm-card-header .platform-label .platform-icon-box.twitter:before {
            border-top-color: transparent;
            border-bottom-color: transparent;
            border-left-color: transparent;
            border-right-color: rgba(37, 164, 212, 0.895); }
          #menu-panel-social #social-stream .sm-card .sm-card-header .platform-label .platform-icon-box.facebook:before {
            border-top-color: transparent;
            border-bottom-color: transparent;
            border-left-color: transparent;
            border-right-color: rgba(64, 91, 147, 0.885); }
          #menu-panel-social #social-stream .sm-card .sm-card-header .platform-label .platform-icon-box.youtube:before {
            border-top-color: transparent;
            border-bottom-color: transparent;
            border-left-color: transparent;
            border-right-color: rgba(191, 21, 21, 0.715); }
          #menu-panel-social #social-stream .sm-card .sm-card-header .platform-label .platform-icon-box.instagram:before {
            width: 60px;
            height: 60px;
            border: none;
            background-image: url(../img/patterns/instagram_corner.png);
            background-repeat: no-repeat;
            background-size: 60px 60px;
            background-position: top right;
            opacity: 0.815; }
          #menu-panel-social #social-stream .sm-card .sm-card-header .platform-label .platform-icon-box.instagram:after {
            position: absolute;
            top: 0;
            right: 0;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 0 60px 60px 0;
            border-top-color: transparent;
            border-bottom-color: transparent;
            border-left-color: transparent;
            border-right-color: transparent;
            border-image: linear-gradient(-125deg, rgba(243, 133, 72, 0.875) 0%, transparent 40%, transparent 100%); }
          #menu-panel-social #social-stream .sm-card .sm-card-header .platform-label .platform-icon-box .platform-icon {
            position: absolute;
            top: 0;
            right: 0;
            z-index: 10;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
                flex-direction: column;
            -ms-flex-pack: center;
                justify-content: center;
            -ms-flex-align: center;
                align-items: center;
            width: 32px;
            height: 32px;
            padding: 2px 0 0 0;
            font-size: 20px;
            line-height: 32px;
            color: white; }
    #menu-panel-social #social-stream .sm-card .sm-card-user {
      position: relative;
      z-index: 200;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      padding: 0; }
      #menu-panel-social #social-stream .sm-card .sm-card-user.retweet-user-shift-class {
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; }
      #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center; }
        #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user.retweet-user-sm-user-rt .user-link {
          -ms-flex-pack: start;
              justify-content: flex-start; }
        #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user.retweet-user-sm-user-rt .sm-avatar {
          display: none; }
        #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user.retweet-user-sm-user-rt .sm-user-name.retweet-user-shift-class .name {
          position: relative;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: center;
              align-items: center;
          height: 24px;
          padding: 0 0 0 24px;
          font-family: "Industry";
          font-size: 10px;
          font-style: italic;
          line-height: initial;
          letter-spacing: 0.035em;
          color: rgba(255, 255, 255, 0.475); }
          #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user.retweet-user-sm-user-rt .sm-user-name.retweet-user-shift-class .name .fa {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            z-index: 10;
            display: -ms-inline-flexbox;
            display: inline-flex;
            -ms-flex-direction: column;
                flex-direction: column;
            -ms-flex-pack: center;
                justify-content: center;
            -ms-flex-align: center;
                align-items: center;
            width: 24px;
            height: 24px;
            margin: 0;
            padding: 0;
            font-size: 12px; }
            #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user.retweet-user-sm-user-rt .sm-user-name.retweet-user-shift-class .name .fa:before {
              margin: 0 0 1px 0; }
        #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user.retweet-user-sm-user-rt .sm-user-name.retweet-user-shift-class .handle {
          display: none; }
        #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user .user-link {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: justify;
              justify-content: space-between;
          -ms-flex-align: center;
              align-items: center; }
        #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user .sm-avatar {
          -ms-flex-positive: 1;
              flex-grow: 1;
          width: 48px;
          min-width: 48px;
          height: 48px;
          margin: 0 12px 0 0;
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center; }
        #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user .sm-user-name {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: start;
              align-items: flex-start;
          -ms-flex-positive: 0;
              flex-grow: 0; }
          #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user .sm-user-name .sm-name {
            display: block;
            line-height: 16px; }
            #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user .sm-user-name .sm-name.name {
              font-family: "Industry";
              font-size: 12px;
              font-weight: 700;
              color: #E1963E; }
            #menu-panel-social #social-stream .sm-card .sm-card-user .sm-user .sm-user-name .sm-name.handle {
              font-family: "Industry";
              font-size: 10px;
              font-weight: 600;
              letter-spacing: 0.035em;
              color: rgba(255, 255, 255, 0.685); }
    #menu-panel-social #social-stream .sm-card .sm-card-content {
      display: block;
      padding: 8px 0 16px 0; }
    #menu-panel-social #social-stream .sm-card .sm-content-component {
      display: block;
      margin: 0;
      padding: 8px 24px 8px 24px; }
    #menu-panel-social #social-stream .sm-card .sm-image-box.slick-slider .slick-arrow {
      position: absolute;
      top: 50%;
      z-index: 20;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 32px;
      height: 32px;
      margin-top: -16px;
      overflow: hidden;
      background-color: rgba(255, 255, 255, 0.175);
      transition: all 220ms linear 0ms; }
      #menu-panel-social #social-stream .sm-card .sm-image-box.slick-slider .slick-arrow:hover {
        background-color: rgba(225, 150, 62, 0.785); }
      #menu-panel-social #social-stream .sm-card .sm-image-box.slick-slider .slick-arrow.slick-prev {
        left: 24px; }
      #menu-panel-social #social-stream .sm-card .sm-image-box.slick-slider .slick-arrow.slick-next {
        right: 24px; }
      #menu-panel-social #social-stream .sm-card .sm-image-box.slick-slider .slick-arrow .arrow-icon {
        position: absolute;
        top: -8px;
        right: -8px;
        bottom: -8px;
        left: -8px;
        width: 48px;
        height: 48px; }
    #menu-panel-social #social-stream .sm-card .sm-image-box.slick-slider .slick-list {
      z-index: 10; }
    #menu-panel-social #social-stream .sm-card .sm-text,
    #menu-panel-social #social-stream .sm-card .sm-message-text {
      font-family: "Industry";
      font-size: 11px;
      font-weight: 600;
      font-weight: normal;
      line-height: 16px;
      letter-spacing: 0.025em;
      color: rgba(255, 255, 255, 0.965); }
    #menu-panel-social #social-stream .sm-card .sm-title {
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 16px;
      line-height: 22px;
      letter-spacing: 0.045em; }
    #menu-panel-social #social-stream .sm-card .sm-message-text {
      margin: 0; }
    #menu-panel-social #social-stream .sm-card .sm-card-footer {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      height: 32px;
      margin: 0;
      padding: 0 16px 0 16px;
      border: none;
      font-family: "Industry";
      font-size: 11px;
      font-weight: 600;
      font-weight: normal;
      background-color: rgba(255, 255, 255, 0.055); }
      #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        height: 32px;
        color: rgba(255, 255, 255, 0.565); }
        #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .sm-icon {
          display: -ms-inline-flexbox;
          display: inline-flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: center;
              align-items: center;
          height: 32px;
          margin: 0 12px 0 0; }
        #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .fa {
          display: -ms-inline-flexbox;
          display: inline-flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          height: 32px;
          margin: 0 6px 0 0;
          font-size: 14px;
          font-weight: normal; }
          #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .fa.fa-retweet {
            color: #85BAAF; }
          #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .fa.fa-heart {
            font-size: 12px;
            color: #AA482E; }
          #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .fa.fa-comment, #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .fa.fa-comments, #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .fa.fa-comments-o {
            color: #D7D392; }
          #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .fa.fa-thumbs-up {
            color: #85BAAF; }
          #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .fa.fa-share, #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-like-box .fa.fa-tv {
            color: #E1963E; }
      #menu-panel-social #social-stream .sm-card .sm-card-footer .sm-time-point {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: center;
            align-items: center;
        height: 32px;
        font-family: "Industry";
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.815); }

#menu-panel-directory {
  overflow-y: scroll;
  background-color: rgba(5, 15, 8, 0.635);
  background-image: linear-gradient(0deg, rgba(21, 97, 64, 0.375) 0%, rgba(0, 0, 0, 0) 50%); }
  #menu-panel-directory .panel-header {
    background-color: #156140; }
  #menu-panel-directory .panel-interior {
    height: 100%;
    overflow-y: scroll; }
  #menu-panel-directory .panel-content {
    display: block;
    height: 100%;
    padding: 0 0 6rem 0;
    overflow-y: scroll; }
  #menu-panel-directory #menu-directory-controls {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100%;
    height: 6rem;
    background-color: #0a3321; }
    #menu-panel-directory #menu-directory-controls .dataTables_paginate,
    #menu-panel-directory #menu-directory-controls .dataTables_info {
      float: none;
      margin: 0 0 0 0; }
    #menu-panel-directory #menu-directory-controls .dataTables_info {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 3rem;
      font-family: "Industry";
      font-size: 0.75rem;
      font-weight: 600;
      font-style: normal; }
  #menu-panel-directory #directory-toolbar {
    font-family: "Industry";
    font-size: 0.6875rem;
    font-weight: 600;
    font-style: normal;
    width: 100%; }
    #menu-panel-directory #directory-toolbar .alphabet {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (max-width: 39.9375em) {
        #menu-panel-directory #directory-toolbar .alphabet {
          display: block;
          padding: 1rem 0 1rem 0;
          height: auto;
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 700;
          font-style: normal;
          text-align: center; } }
      #menu-panel-directory #directory-toolbar .alphabet .alphabet-label {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        height: 2rem;
        padding: 0 0.5rem 0 0.75rem;
        color: rgba(255, 255, 255, 0.575);
        background-color: rgba(255, 255, 255, 0.035); }
        @media screen and (max-width: 39.9375em) {
          #menu-panel-directory #directory-toolbar .alphabet .alphabet-label {
            margin: 0 0.25rem 0 0; } }
      #menu-panel-directory #directory-toolbar .alphabet .alphabet-control {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        min-width: 2rem;
        height: 2rem;
        padding: 0 0.25rem 0 0.25rem;
        background-color: rgba(255, 255, 255, 0);
        transition: all 220ms linear 0ms; }
        @media screen and (max-width: 39.9375em) {
          #menu-panel-directory #directory-toolbar .alphabet .alphabet-control {
            padding: 0.0625rem 0.5rem 0 0.5rem; } }
        #menu-panel-directory #directory-toolbar .alphabet .alphabet-control:hover {
          color: #97ca3d;
          background-color: #115135;
          cursor: pointer; }
        #menu-panel-directory #directory-toolbar .alphabet .alphabet-control.active {
          color: white;
          background-color: #156140; }
        #menu-panel-directory #directory-toolbar .alphabet .alphabet-control.clear {
          padding: 0 0.75rem 0 0.75rem; }
  #menu-panel-directory #directory-fields {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    height: 2rem;
    padding: 0 0 0 0.75rem;
    background-color: rgba(255, 255, 255, 0.035); }
    @media screen and (max-width: 39.9375em) {
      #menu-panel-directory #directory-fields .dataTables_length,
      #menu-panel-directory #directory-fields .dataTables_filter {
        font-family: "Industry";
        font-size: 0.75rem;
        font-weight: 700;
        font-style: normal; } }
  #menu-panel-directory #directory-records_length {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    height: 2rem; }
    #menu-panel-directory #directory-records_length label {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
    #menu-panel-directory #directory-records_length select {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: center;
          align-items: center;
      height: 2rem;
      margin: 0 0.5rem 0 0.5rem;
      padding: 0 0.25rem 0 0.5rem;
      border: none;
      border-radius: 0px;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 700;
      font-style: normal;
      text-align: center;
      text-transform: none;
      text-decoration: none;
      color: white;
      background-color: rgba(2, 37, 49, 0.835);
      background-repeat: no-repeat;
      background-size: 1.25rem 1.25rem;
      background-position: center right;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none; }
      #menu-panel-directory #directory-records_length select:before {
        content: "";
        display: block;
        width: 1rem;
        height: 2rem;
        margin: 0;
        padding: 0.5rem 0 0.5rem 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: white; }
  #menu-panel-directory #directory-records_filter label {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
  #menu-panel-directory #directory-records_filter input {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    height: 2rem;
    margin: 0 0 0 0.5rem;
    padding: 0 0.5rem 0 0.5rem;
    border: none;
    color: white;
    background-color: rgba(2, 37, 49, 0.835); }
  #menu-panel-directory #menu-directory-views {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100%;
    height: 3rem; }
    #menu-panel-directory #menu-directory-views .dataTables_filter {
      width: 50%;
      height: 3rem; }
      #menu-panel-directory #menu-directory-views .dataTables_filter label {
        position: relative;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: center;
            align-items: center;
        width: 100%;
        padding: 0 0 0 1rem;
        font-family: "Industry";
        font-size: 0.6875rem;
        font-weight: 700;
        font-style: normal;
        background-color: rgba(255, 255, 255, 0.035); }
        #menu-panel-directory #menu-directory-views .dataTables_filter label:before {
          content: '';
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          z-index: -1;
          width: 4.25rem;
          height: 3rem;
          background-color: rgba(255, 255, 255, 0.055); }
      #menu-panel-directory #menu-directory-views .dataTables_filter input {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-positive: 1;
            flex-grow: 1;
        height: 3rem;
        margin: 0 0 0 0.75rem;
        padding: 0 0.5rem 0 0.5rem;
        border: none;
        color: white;
        background-color: rgba(255, 255, 255, 0); }
    #menu-panel-directory #menu-directory-views .dataTables_length {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: center;
          align-items: center;
      width: 50%;
      height: 3rem;
      padding: 0 1rem 0 0;
      background-color: rgba(255, 255, 255, 0.035); }
      #menu-panel-directory #menu-directory-views .dataTables_length label {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: center;
            align-items: center; }
      #menu-panel-directory #menu-directory-views .dataTables_length select {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: center;
            align-items: center;
        height: 2rem;
        margin: 0 0.5rem 0 0.5rem;
        padding: 0 0.25rem 0 0.5rem;
        border: none;
        border-radius: 0px;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 700;
        font-style: normal;
        text-align: center;
        text-transform: none;
        text-decoration: none;
        color: white;
        background-color: rgba(255, 255, 255, 0.075);
        background-repeat: no-repeat;
        background-size: 1.25rem 1.25rem;
        background-position: center right; }
  #menu-panel-directory #menu-directory-records_wrapper {
    width: 100%; }
  #menu-panel-directory #menu-directory-records {
    width: 100% !important;
    margin: 0 0 0 0;
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 600;
    font-style: normal; }
    #menu-panel-directory #menu-directory-records thead tr {
      height: 3rem; }
    #menu-panel-directory #menu-directory-records thead th {
      padding: 0.125rem 0.75rem 0 1rem; }
    @media screen and (max-width: 39.9375em) {
      #menu-panel-directory #menu-directory-records thead {
        background-color: rgba(10, 51, 33, 0.915); } }
    #menu-panel-directory #menu-directory-records .record {
      height: 3rem;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      line-height: inherit;
      letter-spacing: -0.005em;
      color: rgba(255, 255, 255, 0.715);
      transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      @media screen and (max-width: 39.9375em) {
        #menu-panel-directory #menu-directory-records .record {
          position: relative; }
          #menu-panel-directory #menu-directory-records .record:before, #menu-panel-directory #menu-directory-records .record:after {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
                flex-direction: column;
            -ms-flex-pack: center;
                justify-content: center;
            -ms-flex-align: center;
                align-items: center;
            content: inherit;
            display: block;
            width: 1.5rem;
            height: 2.3125rem;
            margin: 0;
            padding: 0.6875rem 0 0.4375rem 0.5rem;
            font-family: "codicons" !important;
            font-size: 0.5rem;
            font-weight: normal;
            font-style: normal;
            line-height: 1rem;
            text-rendering: geometricPrecision;
            color: #349AAA;
            transition: all 220ms linear 0ms; }
          #menu-panel-directory #menu-directory-records .record:before {
            opacity: 1.000; }
          #menu-panel-directory #menu-directory-records .record:after {
            opacity: 0.000; } }
      #menu-panel-directory #menu-directory-records .record:hover {
        color: #97ca3d;
        background-color: rgba(17, 81, 53, 0.835);
        cursor: pointer; }
        @media screen and (max-width: 39.9375em) {
          #menu-panel-directory #menu-directory-records .record:hover {
            background-color: #156140; } }
        #menu-panel-directory #menu-directory-records .record:hover .mobile-toggle:before {
          color: #97ca3d; }
        #menu-panel-directory #menu-directory-records .record:hover .email-link,
        #menu-panel-directory #menu-directory-records .record:hover .member-link {
          color: #c0d62a;
          transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
          @media screen and (max-width: 39.9375em) {
            #menu-panel-directory #menu-directory-records .record:hover .email-link,
            #menu-panel-directory #menu-directory-records .record:hover .member-link {
              color: white; } }
      #menu-panel-directory #menu-directory-records .record.parent {
        background-color: #115135; }
        #menu-panel-directory #menu-directory-records .record.parent:hover {
          color: white; }
          #menu-panel-directory #menu-directory-records .record.parent:hover .mobile-toggle:after {
            color: #e35530; }
          #menu-panel-directory #menu-directory-records .record.parent:hover .member-link {
            color: white;
            transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        #menu-panel-directory #menu-directory-records .record.parent .mobile-toggle:before {
          opacity: 0.000; }
        #menu-panel-directory #menu-directory-records .record.parent .mobile-toggle:after {
          opacity: 1.000; }
        #menu-panel-directory #menu-directory-records .record.parent .member-link {
          color: white; }
      #menu-panel-directory #menu-directory-records .record .link-column {
        padding: 0.125rem 0.75rem 0 1rem; }
      #menu-panel-directory #menu-directory-records .record .member-link {
        display: block;
        padding: 0.125rem 0.75rem 0rem 0;
        text-decoration: none;
        color: rgba(255, 255, 255, 0.715);
        transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        @media screen and (max-width: 39.9375em) {
          #menu-panel-directory #menu-directory-records .record .member-link {
            position: relative;
            display: inline-block;
            padding: 0.5625rem 0.75rem 0.4375rem 0rem; } }
  #menu-panel-directory .dataTables_paginate {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    display: flex;
    flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 3rem; }
    @media screen and (max-width: 39.9375em) {
      #menu-panel-directory .dataTables_paginate {
        width: 100%; } }
    #menu-panel-directory .dataTables_paginate .previous,
    #menu-panel-directory .dataTables_paginate .next {
      -ms-flex-positive: 1;
          flex-grow: 1; }
      #menu-panel-directory .dataTables_paginate .previous.disabled:hover,
      #menu-panel-directory .dataTables_paginate .next.disabled:hover {
        background-color: rgba(255, 255, 255, 0); }
    #menu-panel-directory .dataTables_paginate .ellipsis {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      padding: 0 0.5rem 0 0.5rem; }
    #menu-panel-directory .dataTables_paginate .paginate_button {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      min-width: 3rem;
      height: 3rem;
      margin: 0;
      padding: 0 0.5rem 0 0.5rem;
      font-family: "Industry";
      font-size: 0.75rem;
      font-weight: 600;
      font-style: normal;
      color: rgba(255, 255, 255, 0.735);
      color: rgba(255, 255, 255, 0.735) !important;
      text-decoration: none;
      transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      #menu-panel-directory .dataTables_paginate .paginate_button:hover {
        color: #97ca3d;
        color: #97CA3D !important;
        background-color: #115135; }
      #menu-panel-directory .dataTables_paginate .paginate_button.disabled {
        color: rgba(255, 255, 255, 0.375);
        color: rgba(255, 255, 255, 0.375) !important; }
      #menu-panel-directory .dataTables_paginate .paginate_button.current {
        color: white;
        color: white !important;
        background-color: #156140;
        transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      @media screen and (max-width: 39.9375em) {
        #menu-panel-directory .dataTables_paginate .paginate_button {
          min-width: 1.5rem;
          height: 1.5rem;
          padding: 0.0625rem 0.5rem 0 0.5rem;
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 700;
          font-style: normal; } }

#menu-panel-news {
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.315) 0%, rgba(0, 0, 0, 0) 50%); }
  #menu-panel-news .panel-header {
    background-color: rgba(255, 255, 255, 0.055); }

.site-branding {
  -ms-flex-positive: 1;
      flex-grow: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: start;
      justify-content: flex-start;
  padding: .75em;
  color: white;
  font-size: 1em; }
  @media (min-width: 40em) {
    .site-branding {
      padding: .9375em 1.25em .9375em .625em;
      padding-left: 1em; } }

.csu-signature {
  margin-right: .75em;
  padding-right: .75em;
  border-right: .125em solid white;
  font-size: 1em; }
  @media (min-width: 30em) {
    .csu-signature {
      margin-right: .875em;
      padding-right: .875em; } }
  @media (min-width: 40em) {
    .csu-signature {
      margin-right: .9375em;
      padding-right: .9375em;
      font-size: 1.3125em; } }

.signature-link {
  display: block;
  width: 7.3125em;
  height: 2.75em;
  background: url(../img/signatures/signature-acronym.svg) no-repeat center center/contain;
  color: white; }
  @media (min-width: 50em) {
    .signature-link {
      width: 11.125em;
      background-image: url(../img/signatures/signature-stacked.svg); } }
  @media (min-width: 70em) {
    .signature-link {
      width: 22.625em;
      background-image: url(../img/signatures/signature-oneline.svg); } }

.site-identifier {
  max-width: 25em;
  margin: 0 auto 0 0;
  font-family: "ProximaNova";
  font-size: .875em;
  font-weight: 600;
  letter-spacing: .015em;
  line-height: 1.2;
  text-transform: uppercase; }
  @media (min-width: 30em) {
    .site-identifier {
      font-size: 1em; } }
  @media (min-width: 40em) {
    .site-identifier {
      font-size: 1.0625em; } }
  @media (min-width: 50em) {
    .site-identifier {
      font-size: 1.125em; } }
  @media (min-width: 60em) {
    .site-identifier {
      font-size: 1.1875em; } }
  @media (min-width: 70em) {
    .site-identifier {
      font-size: 1.25em; } }
  .site-identifier + .site-identifier {
    display: none;
    text-align: right; }
    @media (min-width: 50em) {
      .site-identifier + .site-identifier {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        display: block;
        margin: 0 0 0 2.25em;
        font-size: .875em; } }
    @media (min-width: 70em) {
      .site-identifier + .site-identifier {
        font-size: 1em; } }
  .site-identifier.identifier--college {
    max-width: 18em; }

.identifier-link {
  color: white;
  text-decoration: none; }
  .identifier-link:visited {
    color: white; }
  .identifier-link:hover, .identifier-link:active, .identifier-link:focus {
    color: white; }

#brand-pixels {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
  width: 4rem;
  height: 4rem;
  margin: 0;
  padding: 1rem; }
  #brand-pixels:before, #brand-pixels:after {
    position: absolute;
    left: 2rem;
    width: 1px;
    height: 2rem;
    background-color: rgba(255, 255, 255, 0.235);
    background-color: rgba(255, 255, 255, 0.095); }
  #brand-pixels:before {
    top: -2rem; }
  #brand-pixels:after {
    bottom: -2rem;
    height: 2rem; }

#brand-foundation {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 4rem;
  z-index: 100;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
  width: 10rem;
  height: 4rem;
  margin: 0;
  padding: 0; }
  #brand-foundation .brand-primary {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    font-family: "Industry";
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 0.75rem;
    letter-spacing: 0.105em;
    text-transform: uppercase;
    color: white; }
    #brand-foundation .brand-primary .dot {
      font-style: normal;
      color: rgba(255, 255, 255, 0.575); }
    #brand-foundation .brand-primary .accent {
      font-weight: 700;
      color: #D7D392; }

.secondary-page-header {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  min-height: 100vh;
  background: transparent no-repeat center center / cover; }
  .secondary-page-header__inner {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    font-family: "Klavika", "Saira";
    font-weight: 300; }
    .secondary-page-header__inner:before {
      content: '';
      -ms-flex-positive: 1;
          flex-grow: 1;
      display: block;
      min-height: 10rem;
      background: linear-gradient(to top, rgba(5, 15, 8, 0.7) 0, rgba(5, 15, 8, 0.525) 15%, rgba(5, 15, 8, 0.35) 30%, rgba(5, 15, 8, 0.175) 65%, rgba(5, 15, 8, 0) 100%); }
  .secondary-page-header__content {
    width: 100%;
    padding: 2vw 8vw 4vw;
    background: rgba(5, 15, 8, 0.7);
    color: #DADEEB; }
    .secondary-page-header__content-inner {
      width: 100%;
      max-width: 35rem; }
  .secondary-page-header .entry-title {
    color: #C0D62A;
    letter-spacing: .065em;
    line-height: 1.2; }
  .secondary-page-header .entry-subtitle {
    margin-bottom: .75rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.25rem;
    letter-spacing: .075em;
    line-height: 1.2;
    text-transform: uppercase; }
    @media (min-width: 40em) {
      .secondary-page-header .entry-subtitle {
        font-size: 2rem; } }

.flexible-page-header {
  padding: 6.25rem 8vw 0;
  padding: 9rem 8vw 0 8vw;
  font-size: .75rem; }
  @media screen and (max-width: 39.9375em) {
    .flexible-page-header {
      padding: 6rem 2rem 0 2rem; } }
  .flexible-page-header .entry-title {
    max-width: 75rem;
    margin: 0 auto; }
  .flexible-page-header--styled {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    background: transparent no-repeat center center / cover; }
    .flexible-page-header--styled:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(5, 15, 8, 0.7); }
    .flexible-page-header--styled__inner {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      max-width: 100%;
      min-height: 47.5vh;
      margin: 0 auto;
      padding: 8rem 8vw 3rem; }
      @media print, screen and (min-width: 40em) {
        .flexible-page-header--styled__inner {
          min-height: 60vh; } }
    .flexible-page-header--styled__content {
      width: 75rem;
      max-width: 100%;
      margin: 0 auto;
      color: #DADEEB; }
      .flexible-page-header--styled__content > *:last-child {
        margin-bottom: 0; }
      .flexible-page-header--styled__content p:not([class]) {
        font-size: .75rem;
        font-weight: 600;
        letter-spacing: .045em;
        line-height: 2; }
    .flexible-page-header--styled .entry-title {
      color: #C0D62A;
      letter-spacing: .065em;
      line-height: 1.2; }
    .flexible-page-header--styled .entry-subtitle {
      margin-bottom: .75rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.25rem;
      font-weight: 400;
      letter-spacing: .045em;
      line-height: 1.2;
      text-transform: uppercase; }
      @media (min-width: 40em) {
        .flexible-page-header--styled .entry-subtitle {
          font-size: 1.5rem; } }
      .flexible-page-header--styled .entry-subtitle:last-child {
        margin-bottom: 0; }

.call-out {
  padding: 8vw; }
  .call-out__inner {
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: 65em;
    margin: 0 auto;
    text-align: center; }
    @media (min-width: 45em) {
      .call-out__inner:before, .call-out__inner:after {
        content: '';
        -ms-flex-negative: 0;
            flex-shrink: 0;
        display: block;
        width: 8%;
        border-top: 0.1875em solid #115135;
        border-bottom: 0.1875em solid #115135; }
      .call-out__inner:before {
        border-left: 0.1875em solid #115135; }
      .call-out__inner:after {
        border-right: 0.1875em solid #115135; } }
  .call-out__content {
    width: 100%;
    padding: .25em 0; }
    .call-out__content-wrap {
      font-size: 1.625em;
      font-weight: 200; }
  .call-out__title {
    margin-bottom: .375em;
    color: #115135;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2.25em;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1;
    text-transform: uppercase; }

.fast-facts {
  background: #ffffff no-repeat center center/cover;
  color: #666666; }
  .fast-facts__inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    padding: 5vw;
    background: rgba(255, 255, 255, 0.82); }
    @media (min-width: 45em) {
      .fast-facts__inner {
        padding: 8vw; } }
  .fast-facts__grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    width: 100%; }
    @media (min-width: 45em) {
      .fast-facts__grid {
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: distribute;
            justify-content: space-around; } }

.fast-fact {
  max-width: 13rem;
  margin: 3vw;
  font-family: "Vitesse", "Factoria";
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase; }
  @media (min-width: 45em) {
    .fast-fact {
      width: 30%;
      margin: 0; } }
  .fast-fact__value {
    display: block;
    color: #115135;
    font-size: 3.5em;
    letter-spacing: 0;
    line-height: 1; }
  .fast-fact__rate {
    display: block;
    color: #115135;
    font-size: 1.5em;
    line-height: 1; }
  .fast-fact__desc {
    display: block;
    padding-top: .2em;
    line-height: 1.2; }
  .fast-fact__source {
    display: block;
    font-family: "Klavika Condensed", "Saira Condensed"; }

.launch-pads {
  font-family: "Klavika", "Saira";
  font-weight: 400; }
  .launch-pads__intro {
    padding: 4.25rem 8vw;
    color: #ffffff; }
    .launch-pads__intro.bg--blue {
      background: #022531; }
    .launch-pads__intro.bg--green {
      background: #163d20; }
    .launch-pads__intro-wrap {
      width: 100%;
      max-width: 35rem; }
      @media (min-width: 45em) {
        .launch-pads__intro-wrap {
          width: calc(50% - 1em);
          max-width: none;
          min-width: 35rem; } }
      .launch-pads__intro-wrap > *:last-child {
        margin-bottom: 0; }
  .launch-pads__title {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2.25em;
    letter-spacing: .05em;
    line-height: 1; }
    .bg--blue .launch-pads__title {
      color: #349AAA; }
    .bg--green .launch-pads__title {
      color: #C0D62A; }
  .launch-pads__grid {
    margin-top: -1.5rem;
    padding: 0 8vw 5em; }
    @media (min-width: 45em) {
      .launch-pads__grid {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: center;
            justify-content: center; } }
    .launch-pads__grid-item {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      box-shadow: 0 0.5em 1em 0 rgba(5, 15, 8, 0.375);
      margin-top: 2em;
      background: transparent no-repeat center center / cover;
      color: #ffffff;
      line-height: 1.2;
      text-decoration: none; }
      .launch-pads__grid-item:hover, .launch-pads__grid-item:focus, .launch-pads__grid-item:active {
        color: #ffffff; }
      .launch-pads__grid-item:first-child {
        margin-top: 0; }
      @media (min-width: 45em) {
        .launch-pads__grid-item {
          width: calc(50% - 1em); }
          .launch-pads__grid-item:nth-child(-n+2) {
            margin-top: 0; }
          .launch-pads__grid-item:nth-child(even) {
            margin-left: 2em; } }
      @media (min-width: 60em) {
        .grid--3-columns .launch-pads__grid-item {
          width: calc((100% / 3) - (2em * 2 / 3)  - .1px); }
          .grid--3-columns .launch-pads__grid-item:nth-child(-n+3) {
            margin-top: 0; }
          .grid--3-columns .launch-pads__grid-item:nth-child(even) {
            margin-left: 0; }
          .grid--3-columns .launch-pads__grid-item:not(:nth-child(3n+1)) {
            margin-left: 2em; } }
      .launch-pads__grid-item:before {
        content: '';
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
        display: block;
        -ms-flex-positive: 1;
            flex-grow: 1;
        background: rgba(255, 255, 255, 0.72);
        padding-top: 50%; }
      .launch-pads__grid-item:hover:before, .launch-pads__grid-item:focus:before {
        background: linear-gradient(to top, rgba(10, 51, 33, 0.85) 0, rgba(10, 51, 33, 0.7) 5%, rgba(10, 51, 33, 0.55) 10%, rgba(10, 51, 33, 0.4) 15%, rgba(10, 51, 33, 0.25) 20%, rgba(10, 51, 33, 0.1) 25%, rgba(10, 51, 33, 0) 50%); }
      .launch-pads__grid-item:hover .launch-pads__grid-item-name, .launch-pads__grid-item:focus .launch-pads__grid-item-name {
        color: #ffffff;
        background: linear-gradient(to top, rgba(10, 51, 33, 0.95), rgba(10, 51, 33, 0.85)); }
      .launch-pads__grid-item-name {
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 3ms;
        width: 100%;
        max-width: 100%;
        background: rgba(255, 255, 255, 0.72);
        padding: .25em 1em .75em;
        color: #115135;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1.25em;
        font-weight: 500;
        letter-spacing: .1em;
        text-transform: uppercase; }

.spotlight {
  background: no-repeat center center / cover; }
  .spotlight__inner {
    color: #ffffff; }
    @media (min-width: 45em) {
      .spotlight__inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; } }
  .spotlight__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    background: rgba(68, 55, 46, 0.84);
    padding: 8vw 8vw 0; }
    @media (min-width: 45em) {
      .spotlight__content {
        width: 60%;
        padding: 4vw 8vw 4vw 1em; } }
    .spotlight__content-wrap {
      text-align: center; }
      @media (min-width: 45em) {
        .spotlight__content-wrap {
          text-align: inherit; } }
  .spotlight__title {
    color: #D7D392;
    line-height: 1; }
  .spotlight__img {
    display: -ms-grid;
    display: grid;
    -ms-grid-row-align: end;
    -ms-flex-align: end;
        align-items: end;
    -ms-grid-column-align: center;
    justify-items: center;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    background: linear-gradient(to bottom, rgba(68, 55, 46, 0.84) 0%, rgba(68, 55, 46, 0.78) 10%, rgba(68, 55, 46, 0.72) 20%, rgba(68, 55, 46, 0.66) 30%, rgba(68, 55, 46, 0.63) 40%, rgba(68, 55, 46, 0.6) 50%, rgba(68, 55, 46, 0.57) 60%, rgba(68, 55, 46, 0.54) 70%, rgba(68, 55, 46, 0.51) 80%, rgba(68, 55, 46, 0.48) 100%);
    padding: 0 8vw;
    text-align: center; }
    @media (min-width: 45em) {
      .spotlight__img {
        width: 40%;
        background: linear-gradient(to left, rgba(68, 55, 46, 0.84) 0%, rgba(68, 55, 46, 0.78) 10%, rgba(68, 55, 46, 0.72) 20%, rgba(68, 55, 46, 0.66) 30%, rgba(68, 55, 46, 0.63) 40%, rgba(68, 55, 46, 0.6) 50%, rgba(68, 55, 46, 0.57) 60%, rgba(68, 55, 46, 0.54) 70%, rgba(68, 55, 46, 0.51) 80%, rgba(68, 55, 46, 0.48) 100%);
        padding: 0; } }
  .spotlight__button {
    transition: all 220ms linear 0ms;
    display: inline-block;
    border: 0.0625em solid #D7D392;
    padding: 1.375em 1.5em;
    color: #ffffff;
    font-size: .875em;
    letter-spacing: .1em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .spotlight__button:hover, .spotlight__button:focus, .spotlight__button:active {
      background: rgba(255, 255, 255, 0.1);
      color: #ffffff; }

.content-with-image {
  display: -ms-grid;
  display: grid;
  grid-gap: 4vw;
  -ms-grid-rows: auto 4vw auto;
  grid-template-rows: repeat(2, auto);
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  background: #ededed;
  padding: 8vw; }
  .content-with-image + .content-with-image {
    padding-top: 0; }
  @media (min-width: 60em) {
    .content-with-image {
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      -ms-grid-columns: 1fr 4vw 1fr;
      grid-template-columns: repeat(2, 1fr); } }
  .content-with-image__img {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1; }
    @media (min-width: 60em) {
      .content-with-image__img {
        -ms-grid-row: 1;
        grid-row: 1; }
        .image--right .content-with-image__img {
          -ms-grid-column: 3;
          grid-column: 2; } }
    @supports (object-fit: cover) {
      .content-with-image__img img {
        object-fit: cover;
        width: 100%;
        height: 100%; } }
  .content-with-image__content {
    -ms-grid-row: 3;
    grid-row: 2;
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    font-weight: 300; }
    @media (min-width: 60em) {
      .content-with-image__content {
        -ms-grid-row: 1;
        grid-row: 1; }
        .image--left .content-with-image__content {
          -ms-grid-column: 3;
          grid-column: 2; } }
  .content-with-image h2, .content-with-image h3, .content-with-image h4, .content-with-image h5, .content-with-image h6 {
    color: inherit;
    font-weight: 400;
    letter-spacing: .05em;
    line-height: 1; }
  .content-with-image__button {
    transition: all 220ms linear 0ms;
    display: inline-block;
    border: 0.0625em solid #0F718E;
    padding: 1.375em 1.5em;
    font-size: .875em;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .content-with-image__button:link {
      color: #333333; }
    .content-with-image__button:visited {
      color: #333333; }
    .content-with-image__button:hover, .content-with-image__button:focus, .content-with-image__button:active {
      background: #0F718E;
      color: #ffffff; }
  .content-with-image__links-title {
    margin-top: 2rem; }
  .content-with-image__links-item {
    line-height: 1.2; }
    .content-with-image__links-item:not(:first-child) {
      margin-top: .5em; }

.highlight-group {
  padding: 8vw; }
  .highlight-group.bg--green {
    background: #163d20; }
  .highlight-group__inner {
    max-width: 65rem;
    margin: 0 auto;
    text-align: center; }
  .highlight-group__title {
    font-family: "Vitesse", "Factoria";
    line-height: 1; }
    .bg--green .highlight-group__title {
      color: #C0D62A; }
  .highlight-group__grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: center;
    width: 100%;
    margin-top: 3.75%; }
    .highlight-group__grid-item {
      width: calc((65rem / 3)  - .1px);
      max-width: 50%;
      padding: 5% 2.5%;
      font-size: 1.0625em;
      text-decoration: none; }
      @media (min-width: 40em) {
        .highlight-group__grid-item {
          font-size: 1.375em; } }
      .grid--4-columns .highlight-group__grid-item {
        width: calc(65rem / 4); }
      .highlight-group__grid-item-icon {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center;
        width: calc(13em * .35);
        height: calc(12em * .35);
        margin: 0 auto 1.25em; }
        .highlight-group__grid-item-icon img {
          max-height: 100%; }
      .highlight-group__grid-item-name {
        display: block;
        color: #276E77;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-weight: 400;
        letter-spacing: .1em;
        line-height: 1;
        text-transform: uppercase; }
        .bg--green .highlight-group__grid-item-name {
          color: #ffffff; }
      .highlight-group__grid-item[href] {
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1);
        position: relative;
        background: none; }
        .highlight-group__grid-item[href]:after {
          content: '';
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1);
          opacity: 0;
          position: absolute;
          z-index: -1;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          box-shadow: 0 0.25em 0.625em 0.0625em rgba(10, 10, 10, 0.2); }
        .highlight-group__grid-item[href]:hover, .highlight-group__grid-item[href]:focus, .highlight-group__grid-item[href]:active {
          background: rgba(255, 255, 255, 0.05);
          box-shadow: 0 0.25em 0.75em 0.125em rgba(0, 0, 0, 0.1); }
          .highlight-group__grid-item[href]:hover:after, .highlight-group__grid-item[href]:focus:after, .highlight-group__grid-item[href]:active:after {
            opacity: 1; }

.page-quote {
  padding: 8vw; }
  .page-quote__wrap {
    margin: 0;
    border: none;
    padding: 0 8vw;
    color: inherit;
    font-family: "Klavika", "Saira";
    font-weight: 300;
    line-height: 1.5;
    text-align: center; }
    @media (min-width: 45em) {
      .page-quote__wrap {
        display: -ms-grid;
        display: grid;
        -ms-grid-rows: auto auto;
        grid-template-rows: auto auto;
        -ms-grid-columns: 8vw 1fr 8vw;
        grid-template-columns: 8vw 1fr 8vw;
        padding: 2vw 5vw 0; } }
    .page-quote__wrap p {
      color: inherit;
      line-height: inherit; }
  .page-quote__icon {
    width: 100%;
    fill: #CCCCCC; }
    .page-quote__icon--open, .page-quote__icon--closed {
      display: none; }
      @media (min-width: 45em) {
        .page-quote__icon--open, .page-quote__icon--closed {
          -ms-grid-row: 1;
          grid-row: 1;
          display: -ms-flexbox;
          display: flex; } }
    @media (min-width: 45em) {
      .page-quote__icon--open {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-flex-align: start;
            align-items: flex-start;
        margin-top: -2vw; } }
    @media (min-width: 45em) {
      .page-quote__icon--closed {
        -ms-grid-column: 3;
        grid-column: 3;
        -ms-flex-align: end;
            align-items: flex-end;
        margin-bottom: calc(-2vw + 1rem); } }
  .page-quote__quotation {
    font-size: 1.25em; }
    @media (min-width: 45em) {
      .page-quote__quotation {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 2;
        grid-column: 2;
        padding: 0 2vw;
        font-size: 1.75em; } }
  @media (min-width: 45em) {
    .page-quote__attribution {
      -ms-grid-row: 2;
      grid-row: 2;
      -ms-grid-column: 2;
      grid-column: 2;
      min-height: 2vw;
      padding: 0 2vw; } }
  .page-quote__cite {
    color: inherit;
    font-size: 1em; }
    @media (min-width: 45em) {
      .page-quote__cite {
        font-size: 1.25em; } }
  .page-quote__name {
    font-weight: 500;
    font-style: italic; }

.dual-ctas {
  padding: 8vw;
  color: #ffffff;
  text-align: center; }
  @media (min-width: 60em) {
    .dual-ctas {
      padding: 3vw 0; } }
  .dual-ctas.bg--blue {
    background: #022531; }
  .dual-ctas.bg--green {
    background: #163d20; }
  .dual-ctas__inner {
    display: -ms-grid;
    display: grid;
    grid-gap: calc(2em + 2vw);
    -ms-grid-rows: auto calc(2em + 2vw) auto;
    grid-template-rows: repeat(2, auto);
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr; }
    @media (min-width: 60em) {
      .dual-ctas__inner {
        grid-gap: .0625em;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
        -ms-grid-columns: 1fr .0625em 1fr;
        grid-template-columns: repeat(2, 1fr); }
        .bg--blue .dual-ctas__inner {
          background: #349AAA; }
        .bg--green .dual-ctas__inner {
          background: #C0D62A; } }
  .dual-ctas__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    @media (min-width: 60em) {
      .dual-ctas__content {
        padding: 3vw 6vw; }
        .dual-ctas__content:nth-child(1) {
          -ms-grid-row: 1;
          grid-row: 1;
          -ms-grid-column: 1;
          grid-column: 1; }
        .dual-ctas__content:nth-child(2) {
          -ms-grid-row: 1;
          grid-row: 1;
          -ms-grid-column: 3;
          grid-column: 2; } }
    .bg--blue .dual-ctas__content {
      background: #022531; }
    .bg--green .dual-ctas__content {
      background: #163d20; }
  .dual-ctas__title {
    line-height: 1; }
    .bg--blue .dual-ctas__title {
      color: #349AAA; }
    .bg--green .dual-ctas__title {
      color: #C0D62A; }
  .dual-ctas__cta {
    margin: 0; }
    @media (min-width: 60em) {
      .dual-ctas__cta {
        margin: 2em 0 0; } }
  .dual-ctas__button {
    transition: all 220ms linear 0ms;
    display: inline-block;
    border: .0625em solid;
    padding: 1.375em 1.5em;
    color: #ffffff;
    font-size: .875em;
    letter-spacing: .1em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .bg--blue .dual-ctas__button {
      border-color: #349AAA; }
    .bg--green .dual-ctas__button {
      border-color: #C0D62A; }
    .dual-ctas__button:hover, .dual-ctas__button:focus {
      background: rgba(255, 255, 255, 0.1);
      color: #ffffff; }

.source-stories {
  padding: 8vw; }
  .source-stories__heading {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .source-stories__title {
    margin: 0 .5em 0 0;
    line-height: 1; }
  .source-stories__cta {
    margin: 0 0 0 auto;
    padding-left: 1em; }
    .source-stories__cta a {
      color: #0F718E;
      text-decoration: none; }
      .source-stories__cta a:visited {
        color: #137094; }
      .source-stories__cta a:hover, .source-stories__cta a:focus, .source-stories__cta a:active {
        color: #0F718E;
        text-decoration: underline; }
  .source-stories__grid {
    margin-top: 1.5em; }
    @media (min-width: 45em) {
      .source-stories__grid {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
  .source-stories__item {
    transform: translateY(0);
    transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1);
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    width: 100%;
    max-width: 20em;
    margin: 1.5em auto 0;
    color: inherit;
    text-decoration: none; }
    .source-stories__item:after {
      content: '';
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1);
      opacity: 0;
      position: absolute;
      z-index: -1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      box-shadow: 0 0.25em 0.625em 0.0625em rgba(10, 10, 10, 0.2); }
    .source-stories__item:first-child {
      margin-top: 0; }
    @media (min-width: 45em) {
      .source-stories__item {
        width: calc(50% - 1em);
        max-width: none;
        margin: 2em 0 0; }
        .source-stories__item:nth-child(2) {
          margin-top: 0; }
        .source-stories__item:nth-child(even) {
          margin-left: 2em; } }
    @media (min-width: 60em) {
      .source-stories__item {
        width: calc((100% / 3) - (2em * 2 / 3)  - .1px); }
        .source-stories__item:nth-child(3) {
          margin-top: 0; }
        .source-stories__item:nth-child(even) {
          margin-left: 0; }
        .source-stories__item:not(:nth-child(3n + 1)) {
          margin-left: 2em; } }
    .source-stories__item:visited {
      color: inherit; }
    .source-stories__item:hover, .source-stories__item:focus {
      transform: translateY(-0.25em);
      box-shadow: 0 0.25em 0.75em 0.125em rgba(0, 0, 0, 0.2);
      color: inherit; }
      .source-stories__item:hover:after, .source-stories__item:focus:after {
        opacity: 1; }
    .source-stories__item-image {
      display: block;
      width: 100%;
      max-width: 100%;
      background: #0A3321 no-repeat center center/cover;
      padding-top: 75%; }
    .source-stories__item-content {
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
      width: 100%;
      max-width: 100%;
      background: #ffffff;
      padding: 1em; }
    .source-stories__item-title {
      margin-bottom: .375em;
      color: #0A3321;
      font-family: "Vitesse", "Factoria";
      font-size: 1em;
      letter-spacing: .05em;
      line-height: 1.2; }
    .source-stories__item-excerpt {
      font-size: .875em;
      font-weight: 400;
      line-height: 1.4; }
      .source-stories__item-excerpt *:last-child {
        margin-bottom: 0; }

.group-bios {
  padding: 8vw; }
  .group-bios__heading {
    margin-bottom: 1rem;
    color: inherit;
    line-height: 1; }
  @media (min-width: 60em) {
    .group-bios__grid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  .group-bios__grid-item {
    margin-top: 1rem; }
    @media (min-width: 40em) {
      .group-bios__grid-item {
        display: -ms-grid;
        display: grid;
        grid-gap: 1em;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
        -ms-grid-columns: auto 1em 1fr;
        grid-template-columns: auto 1fr; } }
    @media (min-width: 60em) {
      .group-bios__grid-item {
        width: calc(50% - 1em);
        margin-top: 2em; }
        .group-bios__grid-item:nth-child(-n+2) {
          margin-top: 0; } }
  .group-bios__image {
    max-width: 150px;
    margin-bottom: .5rem; }
    .group-bios__image img {
      box-shadow: 0 1.5rem 3rem 0 rgba(0, 0, 0, 0.535); }
    @media (min-width: 40em) {
      .group-bios__image {
        -ms-grid-row: 1;
        grid-row: 1;
        -ms-grid-column: 1;
        grid-column: 1;
        margin-bottom: 0; } }
  @media (min-width: 40em) {
    .group-bios__details {
      -ms-grid-row: 1;
      grid-row: 1;
      -ms-grid-column: 3;
      grid-column: 2; } }
  .group-bios__details p {
    margin-bottom: .375rem;
    line-height: 1.2; }
  .group-bios__name {
    display: inline-block;
    color: #156140;
    font-family: "Vitesse", "Factoria";
    font-size: 1em;
    font-weight: 400;
    text-transform: none;
    text-decoration: none;
    transition: all 220ms linear 0ms; }
    .group-bios__name:hover {
      color: #0A3321; }
    @media (min-width: 40em) {
      .group-bios__name {
        font-size: 1.125em; } }
  .group-bios__desc {
    margin: 0 0 1rem 0;
    font-size: .875em;
    font-weight: 400; }
  .group-bios__contact {
    font-family: "Vitesse", "Factoria";
    font-size: .9375em;
    font-weight: 400; }
    .group-bios__contact a {
      text-decoration: none;
      color: #156140; }
    .group-bios__contact-detail {
      font-weight: 700; }

.single-cta {
  background: no-repeat center center / cover; }
  .single-cta__inner {
    padding: 8vw;
    background: rgba(0, 0, 0, 0.68);
    color: #ffffff; }
  .single-cta__content {
    width: 100%;
    max-width: 50em;
    margin: 0 auto;
    text-align: center; }
  .single-cta__title {
    color: #C0D62A;
    line-height: 1; }
  .single-cta__button {
    transition: all 220ms linear 0ms;
    display: inline-block;
    border: 0.0625em solid #C0D62A;
    padding: 1.375em 1.5em;
    color: #ffffff;
    font-size: .875em;
    letter-spacing: .1em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase; }
    .single-cta__button:hover, .single-cta__button:focus {
      background: rgba(255, 255, 255, 0.1);
      color: #ffffff; }

.junk-drawer {
  padding: 8vw 4vw 8vw 8vw; }
  .bg--none + .junk-drawer {
    background: #ededed; }
  .junk-drawer__title {
    line-height: 1; }
  .junk-drawer__list {
    list-style-type: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0; }
    .junk-drawer__list-item {
      margin-top: 1.5em;
      padding-right: 4vw;
      font-size: 1em;
      line-height: 1.2; }
  .junk-drawer__link {
    border-bottom: .0625em solid;
    padding-bottom: .125em;
    color: #0F718E;
    line-height: 1.6;
    text-decoration: none; }
    .junk-drawer__link:visited {
      color: #137094; }
    .junk-drawer__link:hover, .junk-drawer__link:focus, .junk-drawer__link:active {
      border-bottom: .125em solid;
      padding-bottom: .0625em; }

.floated-image--left, .floated-image--right {
  max-width: 100%;
  margin-bottom: 2rem;
  box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.435); }
  @media (min-width: 60em) {
    .floated-image--left, .floated-image--right {
      max-width: calc(50% - 1em); } }

.floated-image:before, .floated-image:after {
  content: '';
  display: table; }

.floated-image:after {
  clear: both; }

@media (min-width: 60em) {
  .floated-image--left {
    float: left;
    margin-right: 2rem; } }

@media (min-width: 60em) {
  .floated-image--right {
    float: right;
    margin-left: 1em; } }

.floated-image--left.transparent, .floated-image--right.transparent {
  box-shadow: none; }

.floated-image__caption {
  padding: .5rem .5rem 0;
  font-size: .875em;
  font-style: italic;
  line-height: 1.2;
  text-align: center; }

.floated-image p:last-child {
  margin-bottom: 0; }

.floated-image ul, .floated-image ol {
  display: table;
  margin-left: 0;
  padding-left: 1.25rem; }
  .floated-image ul li, .floated-image ol li {
    line-height: 1.2; }
    .floated-image ul li:not(:first-child), .floated-image ol li:not(:first-child) {
      margin-top: .4em; }

.layered-video {
  background: url(../img/content/content.background.00.jpg) no-repeat center center/cover;
  padding: 8vw; }
  .layered-video__wrap {
    max-width: 50rem;
    margin: 0 auto; }
  .layered-video__inner {
    position: relative;
    padding-top: 56.25%; }
    .layered-video__inner iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.535); }
  .layered-video__text {
    margin: 3rem 0 0 0; }
    @media screen and (max-width: 39.9375em) {
      .layered-video__text {
        margin-top: 2rem; } }
    .layered-video__text p:last-child {
      margin: 0 0 0 0; }

.template-block.video h2, .template-block.video h3, .template-block.video h4, .template-block.video h5, .template-block.video h6 {
  text-align: center; }

.general-content {
  padding: 8vw; }
  .general-content__inner {
    width: 100%;
    max-width: 50em;
    margin: 0 auto; }

@media (min-width: 45em) {
  .ctas__grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: center;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch; } }

.ctas__grid-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  max-width: 25rem;
  box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.414); }
  .ctas__grid-item:last-child {
    margin-bottom: 0; }
  @media (min-width: 45em) {
    .ctas__grid-item {
      width: calc(50% - 1rem);
      max-width: none;
      margin: 0 0 2rem 0; } }
  @media (min-width: 60em) {
    .grid--3-columns .ctas__grid-item {
      width: calc( 33.3333333% - 2rem);
      margin: 0rem 0rem 3rem 0rem; }
    .grid--2-columns .ctas__grid-item {
      width: calc((100% / 2) - (2rem * 2 / 2)  - .1px);
      margin: 0rem 0rem 3rem 0rem; } }
  .ctas__grid-item-image {
    background: no-repeat center center / cover;
    padding-top: 50%; }
  .ctas__grid-item-content {
    -ms-flex-positive: 1;
        flex-grow: 1;
    background: #dadac8;
    padding: 10% 7.5%;
    text-align: center; }
  .ctas__grid-item-heading {
    margin-bottom: .5rem;
    font-family: "Industry";
    font-size: 1.25em;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1; }
  .ctas__grid-item-desc {
    margin-bottom: .75rem;
    line-height: 1.2; }
  .ctas__grid-item-link {
    margin-bottom: 0; }
  .ctas__grid-item-btn {
    display: inline-block;
    background: #236670;
    padding: .75em 1.25em;
    color: #f3f3f3;
    line-height: 1.2;
    text-align: center;
    text-decoration: none; }
    .ctas__grid-item-btn:hover, .ctas__grid-item-btn:focus, .ctas__grid-item-btn:active {
      background: #205d66;
      color: #f3f3f3; }

.cvmbs-accordion {
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.115);
  transform: translate3d(0, 0, 0);
  transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  .cvmbs-accordion:hover, .cvmbs-accordion:focus-within {
    box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.315); }
  .cvmbs-accordion.has-loaded {
    margin-bottom: 2rem; }
    .cvmbs-accordion.has-loaded:last-child {
      margin-bottom: 0; }
  .cvmbs-accordion__title {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal; }
    .has-loaded .cvmbs-accordion__title {
      margin: 0; }
  .cvmbs-accordion__toggle {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    padding: 1.25rem 3rem 1.25rem 1.25rem;
    text-align: left;
    text-transform: uppercase;
    text-decoration: none;
    color: #156140;
    background-color: white;
    transition: all 220ms linear 0ms; }
    .cvmbs-accordion__toggle:hover, .cvmbs-accordion__toggle:focus, .cvmbs-accordion__toggle:active {
      color: #172d2a; }
    .cvmbs-accordion__toggle[aria-expanded='true']:before {
      opacity: 0.000; }
    .cvmbs-accordion__toggle[aria-expanded='true']:after {
      opacity: 1.000; }
    .cvmbs-accordion__toggle[aria-expanded='false']:before {
      opacity: 1.000; }
    .cvmbs-accordion__toggle[aria-expanded='false']:after {
      opacity: 0.000; }
    .cvmbs-accordion__toggle:before, .cvmbs-accordion__toggle:after {
      position: absolute;
      top: 1.5rem;
      right: 1.5rem;
      bottom: 1.5rem;
      z-index: 10;
      transition: all 80ms linear 0ms; }
    .cvmbs-accordion__toggle:before {
      content: "";
      display: block;
      width: 1rem;
      height: 1rem;
      margin: 0;
      padding: 0;
      font-family: "codicons" !important;
      font-size: 1rem;
      font-weight: normal;
      font-style: normal;
      line-height: 1rem;
      text-rendering: geometricPrecision;
      color: rgba(23, 45, 42, 0.675); }
    .cvmbs-accordion__toggle:after {
      content: "";
      display: block;
      width: 1rem;
      height: 1rem;
      margin: 0;
      padding: 0;
      font-family: "codicons" !important;
      font-size: 1rem;
      font-weight: normal;
      font-style: normal;
      line-height: 1rem;
      text-rendering: geometricPrecision;
      color: rgba(23, 45, 42, 0.675); }
  .cvmbs-accordion__content {
    overflow: hidden;
    transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1);
    background-color: white;
    font-size: .875rem; }
    .has-loaded .cvmbs-accordion__content {
      width: 100%;
      height: 100%;
      max-height: 1000vh;
      padding: 0 1.25rem 1.25rem 1.25rem;
      opacity: 1.000; }
      .has-loaded .cvmbs-accordion__content[aria-hidden="true"] {
        display: none;
        height: 0;
        max-height: 0;
        overflow: hidden;
        visibility: hidden;
        opacity: 0.000; }
      .has-loaded .cvmbs-accordion__content > *:last-child {
        margin-bottom: 0; }
    .cvmbs-accordion__content .alignleft,
    .cvmbs-accordion__content .alignright {
      clear: both;
      max-width: 35%; }
    .cvmbs-accordion__content .alignleft {
      float: left;
      margin: 0 1.75rem 0.75rem 0; }
    .cvmbs-accordion__content .alignright {
      float: right;
      margin: 0 0 0.75rem 1.75rem; }

.notification-box {
  box-shadow: 0 0.125em 0.5em 0.125em rgba(0, 0, 0, 0.1);
  background: white;
  padding: 1.5em;
  box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.315); }
  .notification-box.box--date {
    border-left: 0.3125rem solid #97CA3D; }
  .notification-box.box--info {
    border-left: 0.3125rem solid #349AAA; }
  .notification-box.box--notice {
    border-left: 0.3125rem solid #EDFB4E; }
  .notification-box.box--warning, .notification-box.box--warn {
    border-left: 0.3125rem solid #E35530; }
  .notification-box__image {
    display: none; }
  .notification-box__icon {
    display: none; }
  .notification-box__title {
    font-size: 1.75rem;
    line-height: 1; }
    @media (min-width: 40em) {
      .notification-box__title {
        font-size: 2em; } }
  .notification-box__content > *:last-child {
    margin-bottom: 0; }

.template-block.testimonial {
  margin: 2rem 0 2rem 0;
  padding: 0;
  background: no-repeat center center / cover; }
  @media screen and (max-width: 39.9375em) {
    .template-block.testimonial {
      margin: 1rem 0 1rem; } }

.testimonial__inner {
  padding: 10rem 10rem 10rem 10rem; }
  @media screen and (max-width: 39.9375em) {
    .testimonial__inner {
      padding: 6rem 4rem 6rem 4rem; } }
  .testimonial__inner.multiple {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start;
    padding: 10rem 4rem 10rem 4rem; }
    @media screen and (max-width: 39.9375em) {
      .testimonial__inner.multiple {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 6rem 4rem 6rem 4rem; } }
  .dark .testimonial__inner {
    color: white;
    background-color: rgba(5, 15, 8, 0.835); }
  .light .testimonial__inner {
    color: rgba(2, 37, 49, 0.835);
    background-color: rgba(255, 255, 255, 0.835); }

.testimonial__content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  margin: 0 0 0 0;
  font-family: "Klavika", "Saira";
  font-size: 2rem;
  font-weight: 500;
  font-style: normal;
  text-align: center;
  text-transform: none;
  text-decoration: none; }
  @media screen and (max-width: 39.9375em) {
    .testimonial__content {
      font-family: "Klavika", "Saira";
      font-size: 1rem;
      font-weight: 500;
      font-style: normal; } }
  .multiple .testimonial__content {
    -ms-flex-preferred-size: 33.3333333%;
        flex-basis: 33.3333333%;
    margin: 0 1rem 0 1rem;
    font-family: "Klavika", "Saira";
    font-size: 1.25rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.75rem;
    letter-spacing: 0.065em; }
    @media screen and (max-width: 39.9375em) {
      .multiple .testimonial__content {
        margin: 0 0 2rem 0; }
        .multiple .testimonial__content .testimonial__content {
          margin-bottom: 0; } }
    .multiple .testimonial__content:last-child {
      margin-bottom: 0; }

.testimonial__attribution {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  margin: 2rem 0 0 0;
  font-family: "Klavika", "Saira";
  font-size: 1.25rem;
  font-weight: 700;
  font-style: italic;
  line-height: 2rem;
  letter-spacing: 0.065em; }
  @media screen and (max-width: 39.9375em) {
    .testimonial__attribution {
      margin: 0 0 0 0;
      font-family: "Klavika", "Saira";
      font-size: 0.875rem;
      font-weight: 700;
      font-style: italic; } }

.testimonial__context {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  margin: 0 0 0 0;
  font-family: "Klavika", "Saira";
  font-size: 1.25rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1rem;
  letter-spacing: 0.065em; }
  @media screen and (max-width: 39.9375em) {
    .testimonial__context {
      font-family: "Klavika", "Saira";
      font-size: 0.875rem;
      font-weight: 400;
      font-style: italic; } }

.template-block.image-array {
  padding: 3rem 5rem 3rem 5rem;
  background-color: #e5e7e7; }
  @media screen and (max-width: 39.9375em) {
    .template-block.image-array {
      padding: 1rem 2rem 1rem 2rem; } }
  .template-block.image-array .content-row.thirds {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 39.9375em) {
      .template-block.image-array .content-row.thirds {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch; } }
    .template-block.image-array .content-row.thirds .content-block {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-preferred-size: 33.3333333%;
          flex-basis: 33.3333333%;
      height: 100%;
      padding: 2rem 2rem 2rem 2rem;
      border-right: 1px solid grey; }
      @media screen and (max-width: 39.9375em) {
        .template-block.image-array .content-row.thirds .content-block {
          border: none; } }
      .template-block.image-array .content-row.thirds .content-block:last-child {
        border-right: none; }
      .template-block.image-array .content-row.thirds .content-block img {
        width: 100%; }
  .template-block.image-array .content-row.halfsies {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 39.9375em) {
      .template-block.image-array .content-row.halfsies {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch; } }

.template-block.statistics {
  padding: 3rem 5rem 3rem 5rem; }
  @media screen and (max-width: 39.9375em) {
    .template-block.statistics {
      padding: 1rem 2rem 1rem 2rem; } }
  .template-block.statistics .content-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding: 3rem 0 3rem 0; }
    @media screen and (max-width: 39.9375em) {
      .template-block.statistics .content-row {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch; } }
  .template-block.statistics .content-block {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    text-align: center;
    text-transform: none;
    text-decoration: none;
    -ms-flex-preferred-size: 33.3333333%;
        flex-basis: 33.3333333%;
    height: 100%;
    padding: 2rem 2rem 2rem 2rem;
    border-right: 1px solid grey; }
    @media screen and (max-width: 39.9375em) {
      .template-block.statistics .content-block {
        border-right: none; } }
    @media screen and (max-width: 39.9375em) {
      .template-block.statistics .content-block {
        padding: 2rem 0 2rem 0; } }
    .template-block.statistics .content-block:last-child {
      border-right: none; }
    .template-block.statistics .content-block:nth-child(2) .number {
      font-family: "Vitesse", "Factoria";
      font-size: 5.5rem;
      font-weight: 600;
      font-style: normal;
      line-height: 4rem;
      letter-spacing: -0.025em;
      color: #156140; }
    .template-block.statistics .content-block:nth-child(2) .title {
      color: #c0d62a; }
  .template-block.statistics span {
    display: block; }
  .template-block.statistics .number {
    margin: 0 0 1rem 0;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 6rem;
    font-weight: 500;
    font-style: normal;
    line-height: 4rem;
    letter-spacing: 0.025em;
    color: #c0d62a; }
  .template-block.statistics .title {
    width: 80%;
    margin: 0 0 1rem 0;
    padding: 0 0 1rem 0;
    border-bottom: 2px dotted rgba(23, 45, 42, 0.355);
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2.25rem;
    font-weight: 400;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 2.5rem;
    letter-spacing: -0.025em;
    color: #156140; }
  .template-block.statistics .caption {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal;
    line-height: 2rem;
    letter-spacing: -0.025em;
    color: rgba(23, 45, 42, 0.435); }

.template-block.text-editor p:last-child {
  margin-bottom: 0; }

.template-block.styled-list .styled-list-content .styled-list-item {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: start;
      align-items: flex-start;
  margin: 0 0 2rem 0;
  padding: 0 0 0 4rem; }
  .template-block.styled-list .styled-list-content .styled-list-item:last-child {
    margin-bottom: 0; }
  .template-block.styled-list .styled-list-content .styled-list-item:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    margin: 0;
    padding: 1rem;
    font-family: "codicons" !important;
    font-size: 1rem;
    font-weight: normal;
    font-style: normal;
    line-height: 1rem;
    text-rendering: geometricPrecision;
    color: white;
    background-color: rgba(2, 37, 49, 0.415); }
  .template-block.styled-list .styled-list-content .styled-list-item h5 {
    margin: 0 0 0 0;
    font-family: "Industry";
    font-size: 1rem;
    font-weight: 700;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.035em;
    color: #156140; }
  .template-block.styled-list .styled-list-content .styled-list-item .styled-list-item-content:last-child {
    margin-bottom: 0; }

.template-block.styled-list .styled-list-content ul {
  margin: 0;
  list-style: none; }

.template-block.timeline .timeline-entries {
  position: relative; }
  .template-block.timeline .timeline-entries:before {
    content: '';
    position: absolute;
    top: 0;
    left: 2.4375rem;
    z-index: 1;
    width: 2px;
    height: 100%;
    background-image: linear-gradient(180deg, rgba(23, 45, 42, 0.235) 80%, rgba(0, 0, 0, 0) 100%); }

.template-block.timeline .timeline-entry {
  position: relative;
  min-height: 6rem;
  margin: 0 0 2.5rem 0;
  padding: 0 0 0 6rem; }
  .template-block.timeline .timeline-entry.default {
    padding: 0 0 0 0; }
    .template-block.timeline .timeline-entry.default:before {
      content: '';
      position: absolute;
      top: 5.5rem;
      left: 2.5625rem;
      z-index: 1;
      width: 2rem;
      width: 2.4375rem;
      height: 0.125rem;
      background-color: rgba(23, 45, 42, 0.235); }
      @media screen and (max-width: 39.9375em) {
        .template-block.timeline .timeline-entry.default:before {
          width: 1.5rem; } }
    .template-block.timeline .timeline-entry.default .timeline-entry-title,
    .template-block.timeline .timeline-entry.default .timeline-entry-text {
      display: block;
      margin-left: 6rem; }
      @media screen and (max-width: 39.9375em) {
        .template-block.timeline .timeline-entry.default .timeline-entry-title,
        .template-block.timeline .timeline-entry.default .timeline-entry-text {
          margin-left: 5rem; } }
  .template-block.timeline .timeline-entry .timeline-entry-date {
    box-shadow: 0 0.75rem 2rem 0 rgba(0, 0, 0, 0.535); }
  .template-block.timeline .timeline-entry .date__styled {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 5rem;
    height: 6rem;
    background-color: white;
    background-color: #115135; }
  .template-block.timeline .timeline-entry .date__default {
    position: relative;
    z-index: 20;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 3rem;
    margin: 0 0 2rem 0;
    padding: 0.0625rem 1rem 0 1rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    color: #156140;
    color: #d7d392;
    background-color: white;
    background-color: #115135; }
  .template-block.timeline .timeline-entry .entry-meta__month {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 2.5rem;
    padding: 0.5rem 0 0 0;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 0.875rem;
    font-weight: 400;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    color: #156140;
    color: #d7d392; }
  .template-block.timeline .timeline-entry .entry-meta__day {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    height: 4rem;
    padding: 0.5rem 0 0 0;
    font-family: "Decima Mono";
    font-size: 2rem;
    font-weight: 400;
    font-style: normal;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 3rem;
    font-weight: 500;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 2rem;
    letter-spacing: 0.025em;
    color: white; }
  .template-block.timeline .timeline-entry .timeline-entry-title {
    font-family: "Industry";
    font-size: inherit;
    font-weight: 700;
    font-style: normal;
    color: rgba(2, 37, 49, 0.835);
    color: #156140; }

.template-block.steps .step-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: stretch;
      align-items: stretch; }
  .template-block.steps .step-container:first-child .step-number:before {
    display: none; }
  .template-block.steps .step-container:last-child .step-content:before {
    background-color: rgba(23, 45, 42, 0);
    background-image: linear-gradient(180deg, rgba(23, 45, 42, 0.215) 20%, rgba(0, 0, 0, 0) 100%); }
  .template-block.steps .step-container .step-number {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: end;
        align-items: flex-end;
    width: 5rem;
    min-width: 5rem;
    margin: 0 0 2rem 0;
    padding: 1rem 2rem 0 0; }
    .template-block.steps .step-container .step-number:before {
      content: '';
      position: absolute;
      top: 0;
      right: -0.0625rem;
      width: 0.0625rem;
      height: 1.25rem;
      background-color: rgba(23, 45, 42, 0.215); }
    .template-block.steps .step-container .step-number:after {
      content: '';
      position: absolute;
      top: 1.25rem;
      right: 0;
      width: 1.5rem;
      height: 0.0625rem;
      background-color: rgba(23, 45, 42, 0.215); }
    .template-block.steps .step-container .step-number .step-label {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      margin: 0 0 1rem 0;
      font-family: "Industry";
      font-size: 0.75rem;
      font-weight: 700;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.6875rem;
      letter-spacing: 0.025em;
      color: rgba(23, 45, 42, 0.535); }
    .template-block.steps .step-container .step-number .step-numeral {
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 3rem;
      font-weight: 700;
      font-style: normal;
      line-height: 2rem;
      letter-spacing: 0.035em;
      color: #156140; }
  .template-block.steps .step-container .step-content {
    position: relative;
    padding: 0.5rem 0 2rem 1rem; }
    .template-block.steps .step-container .step-content:before {
      content: '';
      position: absolute;
      top: 1.25rem;
      left: 0;
      width: 0.0625rem;
      height: calc( 100% - 1.25rem);
      background-color: rgba(23, 45, 42, 0.215); }

.template-block.custom-menu .custom-menu-links {
  margin: 0 0 0 0; }
  .template-block.custom-menu .custom-menu-links ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -0.5rem 0 -0.5rem;
    list-style: none; }
  .template-block.custom-menu .custom-menu-links li {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 3rem;
    margin: 0 0.5rem 1rem 0.5rem; }
    .template-block.custom-menu .custom-menu-links li a {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 3rem;
      padding: 0.0625rem 1rem 0 1rem;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-decoration: none;
      line-height: 0.75rem;
      letter-spacing: 0.035em;
      color: #156140;
      background-color: rgba(23, 45, 42, 0.135);
      transition: all 220ms linear 0ms; }
      .template-block.custom-menu .custom-menu-links li a:hover {
        color: white;
        background-color: #115135; }

.js-off-canvas-overlay {
  transition: all 120ms cubic-bezier(0.19, 1, 0.22, 1) 180ms; }
  .js-off-canvas-overlay.is-visible {
    transition: all 60ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    .js-off-canvas-overlay.is-visible.is-closable {
      cursor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiPjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0xNy40MTQsMTZsNy43NzgsNy43NzhsLTEuNDE0LDEuNDE0TDE2LDE3LjQxNGwtNy43NzgsNy43NzhsLTEuNDE0LTEuNDE0TDE0LjU4NiwxNkw2LjgwOCw4LjIyMiBsMS40MTQtMS40MTRMMTYsMTQuNTg2bDcuNzc4LTcuNzc4bDEuNDE0LDEuNDE0TDE3LjQxNCwxNnoiPjwvcGF0aD48L3N2Zz4=) 16 16, auto; }

#site-layout.secondary {
  position: fixed;
  top: -1rem;
  top: 0;
  right: -1rem;
  right: 0;
  bottom: -1rem;
  bottom: 0;
  left: -1rem;
  left: 0;
  overflow: scroll;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center; }
  #site-layout.secondary.site-menu-open {
    filter: blur(16px);
    transition: all 0ms linear 0ms; }
  #site-layout.secondary .secondary-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 100%;
    color: #172d2a; }
    .site-menu-open #site-layout.secondary .secondary-container {
      transition: all 0ms linear 0ms; }
  #site-layout.secondary .secondary-content {
    width: 100%;
    padding: 0 5rem 5rem 5rem; }
  #site-layout.secondary .sidebar-area .widget {
    margin: 0 0 2rem 0; }
    #site-layout.secondary .sidebar-area .widget:last-child {
      margin-bottom: 0; }
    #site-layout.secondary .sidebar-area .widget.widget_text p {
      font-family: "Industry";
      font-size: 0.75rem;
      font-weight: 500;
      font-style: normal;
      color: rgba(23, 45, 42, 0.885); }
      #site-layout.secondary .sidebar-area .widget.widget_text p:first-child {
        margin-top: 1rem; }
      #site-layout.secondary .sidebar-area .widget.widget_text p:last-child {
        margin-bottom: 0; }
  #site-layout.secondary .sidebar-area .sidebar-title {
    margin: 0 0 0.75rem 0;
    font-family: "Industry";
    font-size: 0.6875rem;
    font-weight: 700;
    font-style: normal;
    line-height: 0.5rem;
    letter-spacing: 0.055em;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(23, 45, 42, 0.635); }
  #site-layout.secondary .sidebar-area .menu .is-active a {
    color: #172d2a;
    background-color: rgba(255, 255, 255, 0); }
  #site-layout.secondary .sidebar-area .menu .menu-item {
    width: 100%; }
    #site-layout.secondary .sidebar-area .menu .menu-item a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      height: 2rem;
      padding: 0 0 0 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      line-height: 1rem;
      letter-spacing: 0.035em;
      color: #156140;
      transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      #site-layout.secondary .sidebar-area .menu .menu-item a:hover {
        padding: 0 0 0 0.5rem;
        color: #022531; }

#site-layout.main .secondary-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: start;
      align-items: flex-start;
  margin: 33rem 0 0 0;
  color: #172d2a; }

#site-layout.main .secondary-artwork {
  position: absolute;
  top: -33rem;
  right: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 33rem;
  margin: 0;
  padding: 0;
  background-image: linear-gradient(45deg, rgba(8, 40, 24, 0.635) 0%, rgba(8, 40, 24, 0) 60%); }

#site-layout.main .secondary-content {
  position: relative;
  z-index: 20;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: start;
      align-items: flex-start;
  background-color: white; }

#site-layout.main .content-area.main {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: start;
      align-items: flex-start;
  width: calc( 100% - 24rem);
  padding: 2rem 2rem 0 0; }
  #site-layout.main .content-area.main .page-title {
    position: absolute;
    top: -4rem;
    z-index: 100;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: end;
        align-items: flex-end;
    height: 2rem;
    margin: 0;
    padding: 0;
    border: none;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 3rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.75rem;
    letter-spacing: 0.085em;
    color: #d7d392; }
  #site-layout.main .content-area.main .highlight-text {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    margin: 0 0 2rem 0;
    font-family: "Industry";
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    line-height: 2rem;
    letter-spacing: 0.045em;
    color: rgba(23, 45, 42, 0.765); }

#site-layout.main .sidebar-area.main {
  position: relative;
  top: -4rem;
  width: 24rem;
  padding: 2rem 2rem 2rem 2rem;
  background-color: #efeeda; }

#site-layout.default {
  background-size: contain;
  background-position: 0 -4rem; }
  #site-layout.default .secondary-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    margin: 16rem 0 0 0;
    color: #172d2a; }
  #site-layout.default .artwork-layer {
    position: absolute;
    top: -16rem;
    right: 0;
    left: 0;
    width: 100%;
    height: 16rem;
    margin: 0;
    padding: 0; }
  #site-layout.default .base-artwork {
    z-index: 10;
    background-color: #022531; }
  #site-layout.default .image-artwork {
    z-index: 20;
    background-image: url(../img/patterns/pattern.vertical.svg);
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: right bottom;
    opacity: 0.165; }
  #site-layout.default .secondary-content {
    position: relative;
    z-index: 30;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start;
    min-height: calc( 100vh + 2rem);
    background-color: white; }
  #site-layout.default .content-area.main {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    width: calc( 100% - 24rem);
    padding: 2rem 2rem 0 0; }
    #site-layout.default .content-area.main .page-title {
      position: absolute;
      top: -4rem;
      z-index: 100;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: end;
          align-items: flex-end;
      height: 2rem;
      margin: 0;
      padding: 0;
      border: none;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 3rem;
      font-weight: 400;
      font-style: normal;
      line-height: 1.75rem;
      letter-spacing: 0.085em;
      color: white; }
  #site-layout.default .sidebar-area.main {
    position: relative;
    top: -4rem;
    width: 24rem;
    padding: 2rem 2rem 2rem 2rem;
    background-color: #efeeda; }

.page-template-dvm-flexible {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background: #f3f3f3;
  color: #545454;
  font-size: 1rem; }
  .page-template-dvm-flexible .content-area {
    -ms-flex-positive: 1;
        flex-grow: 1; }
  .page-template-dvm-flexible .template-block {
    padding: 0 8vw; }
    .page-template-dvm-flexible .template-block:last-child {
      padding-bottom: 1.25em; }
    .page-template-dvm-flexible .template-block__inner {
      max-width: 75rem;
      margin: 0 auto; }
  .page-template-dvm-flexible .template-title {
    margin-bottom: 1.6rem;
    line-height: 1; }
  .page-template-dvm-flexible .flexible-quote {
    box-shadow: inset 0 0 1.5em 0.25em rgba(0, 0, 0, 0.2);
    background: #ededed;
    padding: 6vw 8vw; }
    .page-template-dvm-flexible .flexible-quote:last-child {
      margin-bottom: 0; }
  .page-template-dvm-flexible .contact-group:not(:first-child) {
    margin-top: 2em; }
  .page-template-dvm-flexible .contact-group:not(:last-child) {
    margin-bottom: 2em; }
  .page-template-dvm-flexible .step-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: stretch;
        align-items: stretch; }
    .page-template-dvm-flexible .step-container:first-child .step-number:before {
      display: none; }
    .page-template-dvm-flexible .step-container .step-number {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: end;
          align-items: flex-end;
      width: 5rem;
      min-width: 5rem;
      margin: 0 0 2rem 0;
      padding: 1rem 2rem 0 0; }
      .page-template-dvm-flexible .step-container .step-number:before {
        content: '';
        position: absolute;
        top: 0;
        right: -0.0625rem;
        width: 0.0625rem;
        height: 1.25rem;
        background-color: rgba(23, 45, 42, 0.215); }
      .page-template-dvm-flexible .step-container .step-number:after {
        content: '';
        position: absolute;
        top: 1.25rem;
        right: 0;
        width: 1.5rem;
        height: 0.0625rem;
        background-color: rgba(23, 45, 42, 0.215); }
      .page-template-dvm-flexible .step-container .step-number .step-label {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
        margin: 0 0 1rem 0;
        font-family: "Industry";
        font-size: 0.75rem;
        font-weight: 700;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 0.6875rem;
        letter-spacing: 0.025em;
        color: rgba(23, 45, 42, 0.535); }
      .page-template-dvm-flexible .step-container .step-number .step-numeral {
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 3rem;
        font-weight: 700;
        font-style: normal;
        line-height: 2rem;
        letter-spacing: 0.035em;
        color: #156140; }
    .page-template-dvm-flexible .step-container .step-content {
      position: relative;
      padding: 0.5rem 0 2rem 1rem; }
      .page-template-dvm-flexible .step-container .step-content:before {
        content: '';
        position: absolute;
        top: 1.25rem;
        left: 0;
        width: 0.0625rem;
        height: calc( 100% - 1.25rem);
        background-color: rgba(23, 45, 42, 0.215); }
  .page-template-dvm-flexible .styled-list .styled-list-item {
    position: relative;
    padding: 0 0 1rem 4rem; }
    .page-template-dvm-flexible .styled-list .styled-list-item:before {
      position: absolute;
      top: 0.25rem;
      left: 0;
      content: "";
      display: block;
      width: 3rem;
      height: 3rem;
      margin: 0;
      padding: 1rem;
      font-family: "codicons" !important;
      font-size: 1rem;
      font-weight: normal;
      font-style: normal;
      line-height: 1rem;
      text-rendering: geometricPrecision;
      color: white;
      background-color: rgba(2, 37, 49, 0.415); }
    .page-template-dvm-flexible .styled-list .styled-list-item h5 {
      margin: 0 0 0 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.25rem;
      font-weight: 500;
      font-style: normal;
      color: #156140; }
  .page-template-dvm-flexible .styled-list ul {
    margin: 0;
    list-style: none; }
  .page-template-dvm-flexible .timeline {
    padding: 2rem 0 2rem 0; }
    .page-template-dvm-flexible .timeline .timeline-entries {
      position: relative; }
      .page-template-dvm-flexible .timeline .timeline-entries:before {
        content: '';
        position: absolute;
        top: 0;
        left: 2.4375rem;
        z-index: 1;
        width: 2px;
        height: 100%;
        background-color: rgba(23, 45, 42, 0.235); }
    .page-template-dvm-flexible .timeline .timeline-entry {
      position: relative;
      min-height: 6rem;
      margin: 0 0 2.5rem 0;
      padding: 0 0 0 6rem; }
      .page-template-dvm-flexible .timeline .timeline-entry .timeline-entry-date {
        box-shadow: 0 0.75rem 2rem 0 rgba(0, 0, 0, 0.535); }
      .page-template-dvm-flexible .timeline .timeline-entry .date__styled {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: stretch;
            align-items: stretch;
        width: 5rem;
        height: 6rem;
        background-color: white; }
      .page-template-dvm-flexible .timeline .timeline-entry .date__default {
        background-color: blue; }
      .page-template-dvm-flexible .timeline .timeline-entry .entry-meta__month {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        height: 2.5rem;
        padding: 0.5rem 0 0 0;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 0.875rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        color: #156140; }
      .page-template-dvm-flexible .timeline .timeline-entry .entry-meta__day {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: start;
            align-items: flex-start;
        height: 4rem;
        padding: 0 0 0.5rem 0;
        font-family: "Decima Mono";
        font-size: 2rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none; }
  .page-template-dvm-flexible .notification {
    margin: 0 0 2rem 0;
    padding: 2rem 2rem 2rem 2.375rem;
    border-left: 0.375rem solid;
    box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.435); }
    .page-template-dvm-flexible .notification.warning {
      border-color: #b2c71f; }
      .page-template-dvm-flexible .notification.warning h3 {
        color: #b2c71f; }
    .page-template-dvm-flexible .notification.alert {
      border-color: #e35530; }
      .page-template-dvm-flexible .notification.alert h3 {
        color: #e35530; }
    .page-template-dvm-flexible .notification.info {
      border-color: #349aaa; }
      .page-template-dvm-flexible .notification.info h3 {
        color: #349aaa; }
    .page-template-dvm-flexible .notification.success {
      border-color: #1a8f5c; }
      .page-template-dvm-flexible .notification.success h3 {
        color: #1a8f5c; }
    .page-template-dvm-flexible .notification h3 {
      margin: 0 0 0.25rem 0;
      font-family: "Industry";
      font-size: 1.25rem;
      font-weight: 700;
      font-style: normal;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      line-height: 1.75rem;
      letter-spacing: 0.015em; }
    .page-template-dvm-flexible .notification p:last-child {
      margin: 0 0 0 0; }

.dvm-snapshot {
  color: rgba(23, 45, 42, 0.735);
  background-color: #e5e7e7; }
  .dvm-snapshot .page-header.styled {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    height: 65vh;
    padding: 0 12vh 3rem 12vh;
    background-color: #022531;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed; }
    @media screen and (max-width: 39.9375em) {
      .dvm-snapshot .page-header.styled {
        height: auto;
        min-height: 75vh;
        padding: 5rem 2rem 2rem 2rem; } }
    .dvm-snapshot .page-header.styled:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 0;
      background-image: linear-gradient(95deg, rgba(52, 154, 170, 0.415) 0%, rgba(192, 214, 42, 0.385) 100%);
      background-image: linear-gradient(10deg, rgba(2, 37, 49, 0.965) 0%, transparent 100%); }
    .dvm-snapshot .page-header.styled:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 1; }
    .dvm-snapshot .page-header.styled .page-title,
    .dvm-snapshot .page-header.styled .page-subtitle,
    .dvm-snapshot .page-header.styled .page-intro {
      position: relative;
      z-index: 10; }
    .dvm-snapshot .page-header.styled .page-title {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      width: auto;
      margin: 0 0 1.5rem 0;
      border: none;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 3rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 2rem;
      letter-spacing: 0.045em;
      color: #c0d62a; }
      @media screen and (max-width: 39.9375em) {
        .dvm-snapshot .page-header.styled .page-title {
          margin: 0 0 1rem 0;
          font-size: 2rem;
          line-height: 1.5rem; } }
    .dvm-snapshot .page-header.styled .page-subtitle {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      margin: 0 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.5rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 1.25rem;
      letter-spacing: 0.045em;
      color: white; }
      @media screen and (max-width: 39.9375em) {
        .dvm-snapshot .page-header.styled .page-subtitle {
          margin: 0 0 1rem 0;
          font-size: 1rem;
          line-height: 1.25rem; } }
    .dvm-snapshot .page-header.styled .page-intro {
      margin: 0;
      font-family: "Industry";
      font-size: 0.75rem;
      font-weight: 600;
      font-style: normal;
      line-height: 1.5rem;
      letter-spacing: 0.045em;
      color: rgba(255, 255, 255, 0.875); }
      @media screen and (max-width: 39.9375em) {
        .dvm-snapshot .page-header.styled .page-intro {
          line-height: 1.125rem; } }
  .dvm-snapshot #content-container {
    padding: 0 0 0 0;
    background-color: #e5e7e7; }
  .dvm-snapshot .content-area.styled {
    padding: calc( 65vh + 5rem) 0 0 0; }
    @media screen and (max-width: 39.9375em) {
      .dvm-snapshot .content-area.styled {
        padding: calc( 75vh + 2rem) 0 0 0; } }
  .dvm-snapshot .content-area.default {
    padding: 0 0 0 0; }
  .dvm-snapshot .content-row {
    margin: 0 5rem 0 5rem; }
    @media screen and (max-width: 39.9375em) {
      .dvm-snapshot .content-row {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        margin: 0 2rem 0 2rem; } }
  .dvm-snapshot #demographics {
    padding: 0 0 3rem 0;
    border-bottom: 1px solid grey; }
    @media screen and (max-width: 39.9375em) {
      .dvm-snapshot #demographics {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 0 0 0 0;
        border-bottom: none; } }
  .dvm-snapshot #map {
    padding: 2rem 0 3rem 0;
    border-bottom: 1px solid grey; }
  .dvm-snapshot #statistics {
    padding: 3rem 0 3rem 0;
    border-bottom: 1px solid grey; }
    @media screen and (max-width: 39.9375em) {
      .dvm-snapshot #statistics {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 2rem 0 0 0;
        border-bottom: none; } }
    .dvm-snapshot #statistics .content-block {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      text-align: center;
      text-transform: none;
      text-decoration: none; }
      @media screen and (max-width: 39.9375em) {
        .dvm-snapshot #statistics .content-block {
          padding: 2rem 0 2rem 0; } }
    .dvm-snapshot #statistics span {
      display: block; }
    .dvm-snapshot #statistics .number {
      margin: 0 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 6rem;
      font-weight: 500;
      font-style: normal;
      line-height: 4rem;
      letter-spacing: 0.025em;
      color: #c0d62a; }
    .dvm-snapshot #statistics .title {
      width: 80%;
      margin: 0 0 1rem 0;
      padding: 0 0 1rem 0;
      border-bottom: 2px dotted rgba(23, 45, 42, 0.355);
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2.25rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 2.5rem;
      letter-spacing: -0.025em;
      color: #156140; }
    .dvm-snapshot #statistics .caption {
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.5rem;
      font-weight: 400;
      font-style: normal;
      line-height: 2rem;
      letter-spacing: -0.025em;
      color: rgba(23, 45, 42, 0.435); }
    .dvm-snapshot #statistics #rural-areas .number {
      font-family: "Vitesse", "Factoria";
      font-size: 5.5rem;
      font-weight: 600;
      font-style: normal;
      line-height: 4rem;
      letter-spacing: -0.025em;
      color: #156140; }
    .dvm-snapshot #statistics #rural-areas .title {
      color: #c0d62a; }
  .dvm-snapshot #languages {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding: 3rem 0 3rem 0; }
  .dvm-snapshot .content-row.thirds {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding: 0 5rem 0 5rem; }
    .dvm-snapshot .content-row.thirds .content-block {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-preferred-size: 33.3333333%;
          flex-basis: 33.3333333%;
      height: 100%;
      padding: 2rem 2rem 2rem 2rem;
      border-right: 1px solid grey; }
      @media screen and (max-width: 39.9375em) {
        .dvm-snapshot .content-row.thirds .content-block {
          border-right: none;
          border-bottom: 1px solid rgba(23, 45, 42, 0.615); } }
      .dvm-snapshot .content-row.thirds .content-block:last-child {
        border-right: none; }
      .dvm-snapshot .content-row.thirds .content-block img {
        width: 100%; }

.degree_program-template-overview {
  font-size: 1rem; }
  .degree_program-template-overview .list-of-programs {
    background: #E8E7E3;
    padding: 6vw 8vw;
    color: #545454; }
  @media (min-width: 60em) {
    .degree_program-template-overview .program-children {
      display: -ms-grid;
      display: grid;
      grid-gap: 2em;
      -ms-grid-rows: auto;
      grid-template-rows: auto;
      -ms-grid-columns: 1fr 2em 2fr;
      grid-template-columns: 1fr 2fr;
      padding: 2vw 0; } }
  .degree_program-template-overview .program-children h2 {
    line-height: 1; }
  .degree_program-template-overview .child-program-name {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    font-size: 1.5rem; }
    @media (min-width: 40em) {
      .degree_program-template-overview .child-program-name {
        font-size: 1.5rem; } }
    @media (min-width: 60em) {
      .degree_program-template-overview .child-program-name {
        font-size: 1.75rem; } }
  .degree_program-template-overview .program-desc {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 3;
    grid-column: 2; }

#site-layout.department {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center; }
  #site-layout.department.site-menu-open {
    filter: blur(16px);
    transition: all 0ms linear 0ms; }

.site-menu-open #department-content {
  filter: blur(16px);
  transition: all 0ms linear 0ms; }

#department-content .ui-article {
  height: auto; }
  #department-content .ui-article .article-container {
    height: 100%; }

#department-banner {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: stretch;
      align-items: stretch;
  padding: 5rem 5rem 5rem 5rem;
  color: rgba(23, 45, 42, 0.835);
  background-color: white; }
  @media screen and (max-width: 39.9375em) {
    #department-banner {
      padding: 2rem 2rem 2rem 2rem; } }
  #department-banner .introduction-text {
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.055em; }
    @media screen and (max-width: 39.9375em) {
      #department-banner .introduction-text {
        font-family: "Industry";
        font-size: 0.75rem;
        font-weight: 600;
        font-style: normal;
        line-height: 1.125rem;
        letter-spacing: 0.045em; } }
  #department-banner .link-box {
    display: none;
    min-width: 16rem;
    margin: -7rem 0 0 2rem;
    padding: 0 0 0 0;
    list-style: none; }
    #department-banner .link-box .link-item {
      display: block;
      width: 100%;
      margin: 0 0 1rem 0; }
      #department-banner .link-box .link-item:last-child {
        margin: 0 0 0 0; }
      #department-banner .link-box .link-item:nth-child(41) a {
        border-color: #E35530;
        background-color: rgba(227, 85, 48, 0.175); }
      #department-banner .link-box .link-item:nth-child(42) a {
        border-color: #044156;
        background-color: rgba(4, 65, 86, 0.475); }
      #department-banner .link-box .link-item:nth-child(43) a {
        border-color: #C0D62A;
        background-color: rgba(192, 214, 42, 0.175); }
      #department-banner .link-box .link-item:nth-child(44) a {
        border-color: #349AAA;
        background-color: rgba(52, 154, 170, 0.175); }
      #department-banner .link-box .link-item a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        width: 100%;
        height: 3rem;
        padding: 0.0625rem 0 0 0;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 0.5rem;
        letter-spacing: 0.045em;
        color: #dadeeb;
        background-color: rgba(255, 255, 255, 0.085);
        background-color: #115135;
        transition: all 220ms linear 0ms;
        box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.535); }
        #department-banner .link-box .link-item a:hover {
          background-color: #c0d62a; }

.dept-deg-progs {
  position: relative;
  padding: 4rem;
  color: white;
  background-color: #0a3321;
  background-image: linear-gradient(0deg, #156140 0%, rgba(21, 97, 64, 0) 40%); }
  @media screen and (max-width: 39.9375em) {
    .dept-deg-progs {
      padding: 2rem 2rem 2rem 2rem; } }
  .dept-deg-progs .design-layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .dept-deg-progs .design-layer .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .dept-deg-progs .design-layer .image {
      background: url(../img/patterns/pattern.vertical.svg) no-repeat center center/cover;
      mix-blend-mode: overlay;
      opacity: 0.165; }
    .dept-deg-progs .design-layer .color {
      background-color: rgba(10, 51, 33, 0.635); }
  .dept-deg-progs__content {
    position: relative; }
    .dept-deg-progs__content .section-heading {
      margin: 0 0 2rem 1rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      line-height: 1;
      letter-spacing: 0.085em;
      color: #f3f1e0; }
      @media (min-width: 40em) {
        .dept-deg-progs__content .section-heading {
          font-size: 2.5rem; } }
  .dept-deg-progs__type:not(:last-child) {
    margin-bottom: 2rem; }
  .dept-deg-progs__type-heading {
    margin: 0 0 0 1rem;
    color: white; }
  .dept-deg-progs__type .programs-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .dept-deg-progs__type .program-link {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% - 2rem);
    margin: 1rem 1rem 1rem 1rem;
    padding: 2rem 2rem 2rem 2rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.2;
    letter-spacing: 0.035em;
    color: #c0d62a;
    background-color: rgba(255, 255, 255, 0.035);
    box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.635);
    transition: all 220ms linear 0ms; }
    @media (min-width: 45em) {
      .dept-deg-progs__type .program-link {
        width: calc(50% - 2rem); } }
    @media (min-width: 60em) {
      .dept-deg-progs__type .program-link {
        width: calc((100% / 3) - 2rem  - .1px); } }
    @media (min-width: 100em) {
      .dept-deg-progs__type .program-link {
        width: calc(25% - 2rem); } }
    .dept-deg-progs__type .program-link:hover, .dept-deg-progs__type .program-link:focus, .dept-deg-progs__type .program-link:active {
      color: white;
      background-color: rgba(255, 255, 255, 0.095); }
    .dept-deg-progs__type .program-link__parent {
      max-width: 100%;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 0.875rem;
      font-weight: 400;
      font-style: normal;
      color: white; }
    .dept-deg-progs__type .program-link__title {
      max-width: 100%; }

.residencies {
  position: relative;
  padding: 4rem;
  color: white;
  background-color: #1d2421;
  background-image: linear-gradient(0deg, #1d2421 0%, rgba(29, 36, 33, 0) 40%); }
  @media screen and (max-width: 39.9375em) {
    .residencies {
      padding: 2rem 2rem 2rem 2rem; } }
  .residencies .design-layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .residencies .design-layer .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .residencies .design-layer .image {
      background: url(../img/patterns/pattern.vertical.svg) no-repeat center center/cover;
      mix-blend-mode: overlay;
      opacity: 0.165; }
    .residencies .design-layer .color {
      background-color: rgba(29, 36, 33, 0.635); }
  .residencies__content {
    position: relative; }
    .residencies__content .section-heading {
      margin: 0 0 1rem 1rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      line-height: 1;
      letter-spacing: 0.085em;
      color: #f3f1e0; }
      @media (min-width: 40em) {
        .residencies__content .section-heading {
          font-size: 2.5rem; } }
    .residencies__content .programs-container {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .residencies__content .programs-container:not(:last-child) {
        margin-bottom: 1rem; }
    .residencies__content .program-link {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: calc(100% - 2rem);
      margin: 1rem 1rem 1rem 1rem;
      padding: 2rem 2rem 2rem 2rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.125rem;
      font-weight: 400;
      font-style: normal;
      text-decoration: none;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 1.2;
      letter-spacing: 0.035em;
      color: #c0d62a;
      background-color: rgba(255, 255, 255, 0.035);
      box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.635);
      transition: all 220ms linear 0ms; }
      @media (min-width: 45em) {
        .residencies__content .program-link {
          width: calc(50% - 2rem); } }
      @media (min-width: 60em) {
        .residencies__content .program-link {
          width: calc((100% / 3) - 2rem  - .1px); } }
      @media (min-width: 100em) {
        .residencies__content .program-link {
          width: calc(25% - 2rem); } }
      .residencies__content .program-link:hover, .residencies__content .program-link:focus, .residencies__content .program-link:active {
        color: white; }
      .residencies__content .program-link__title {
        max-width: 100%; }

#department-research {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-align: start;
      align-items: flex-start;
  height: 50vh;
  height: auto;
  background-color: #022531; }
  #department-research .design-layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100%; }
    #department-research .design-layer .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    #department-research .design-layer .image {
      z-index: 10;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      background-attachment: fixed; }
      @media screen and (max-width: 39.9375em) {
        #department-research .design-layer .image {
          background-attachment: scroll; } }
    #department-research .design-layer .color {
      z-index: 20;
      background-color: rgba(2, 37, 49, 0.535); }
  #department-research .content-layer {
    position: relative;
    z-index: 100;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 50vw;
    height: 100%;
    padding: 5rem 5rem 5rem 5rem;
    background-color: rgba(2, 37, 49, 0.735);
    background-image: linear-gradient(0deg, rgba(52, 154, 170, 0.415) 0%, transparent 80%); }
    @media screen and (max-width: 39.9375em) {
      #department-research .content-layer {
        width: 100%;
        padding: 2rem 2rem 2rem 2rem; } }
    #department-research .content-layer .headline {
      margin: 0 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 3rem;
      letter-spacing: 0.085em;
      color: #c0d62a; }
    #department-research .content-layer .text {
      margin: 0 0 1rem 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      line-height: 1.5rem;
      letter-spacing: 0.035em; }
    #department-research .content-layer .research-content {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    #department-research .content-layer .content-button {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 1rem 0 0 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.75rem;
      letter-spacing: 0.135em;
      color: white;
      background-color: rgba(255, 255, 255, 0.035);
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms;
      text-decoration: none; }
      #department-research .content-layer .content-button:hover, #department-research .content-layer .content-button:focus, #department-research .content-layer .content-button:active {
        background-color: #349aaa;
        cursor: pointer; }

.department-expertise {
  position: relative;
  height: 50vh;
  height: auto;
  background-color: #efeeda; }
  .department-expertise .design-layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100%; }
    .department-expertise .design-layer .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .department-expertise .design-layer .image {
      z-index: 10;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      @media screen and (max-width: 39.9375em) {
        .department-expertise .design-layer .image {
          background-attachment: scroll; } }
    .department-expertise .design-layer .color {
      z-index: 20;
      background-color: rgba(239, 238, 218, 0.885); }
  .department-expertise .content-layer {
    position: relative;
    z-index: 100;
    padding: 5rem 5rem 5rem 5rem;
    color: rgba(23, 45, 42, 0.875); }
    @media screen and (max-width: 39.9375em) {
      .department-expertise .content-layer {
        padding: 2rem 2rem 2rem 2rem; } }
    .department-expertise .content-layer .headline {
      margin: 0 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 3rem;
      letter-spacing: 0.085em;
      color: #156140; }
    .department-expertise .content-layer .text {
      width: 65rem;
      max-width: 100%;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      line-height: 1.5rem;
      letter-spacing: 0.035em; }
    .department-expertise .content-layer .expertise-content {
      max-width: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .department-expertise .content-layer .expertise-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      height: 3rem;
      margin: 1rem 1rem 0 0;
      padding: 0.0625rem 1.25rem 0 0.5rem;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-align: left;
      text-transform: none;
      text-decoration: none;
      text-decoration: none;
      line-height: 1.2;
      letter-spacing: 0.045em;
      color: rgba(23, 45, 42, 0.875);
      background-color: rgba(17, 81, 53, 0);
      box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.415);
      transition: all 220ms linear 0ms; }
      @media screen and (max-width: 39.9375em) {
        .department-expertise .content-layer .expertise-area {
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 600;
          font-style: normal; } }
      .department-expertise .content-layer .expertise-area:hover {
        color: white;
        background-color: #115135; }
        .department-expertise .content-layer .expertise-area:hover:before {
          color: #d7d392; }
      .department-expertise .content-layer .expertise-area:before {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        content: "";
        display: block;
        width: 2rem;
        height: 2rem;
        margin: 0;
        padding: 0.5rem;
        font-family: "codicons" !important;
        font-size: 0.5rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: #156140;
        text-align: center;
        transition: all 220ms linear 0ms; }
    .department-expertise .content-layer .research-topic-menu {
      max-width: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0 0 0 0;
      list-style: none; }
    .department-expertise .content-layer .menu-item {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: 100%;
      margin: 1rem 0 0 0;
      padding: 0.0625rem 0 0 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-align: left;
      text-transform: none;
      text-decoration: none;
      line-height: 1.2;
      letter-spacing: 0.045em;
      color: rgba(23, 45, 42, 0.875); }
      @media (min-width: 45em) {
        .department-expertise .content-layer .menu-item {
          width: 50%;
          padding-right: 1em; } }
      @media (min-width: 60em) {
        .department-expertise .content-layer .menu-item {
          width: calc((100% / 3)  - .1px); } }
      @media (min-width: 100em) {
        .department-expertise .content-layer .menu-item {
          width: 25%; } }
      .department-expertise .content-layer .menu-item:before {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
        content: "";
        display: block;
        width: 2rem;
        height: 2.4em;
        margin: 0;
        padding: 0.5rem;
        font-family: "codicons" !important;
        font-size: 0.5rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: #156140;
        padding-top: 0; }
      .department-expertise .content-layer .menu-item a {
        text-decoration: none;
        color: rgba(23, 45, 42, 0.875); }

.department-outreach {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: start;
      align-items: flex-start;
  height: 50vh;
  height: auto;
  padding-top: 50vh;
  background-color: #e1963e; }
  @media (min-width: 45em) {
    .department-outreach {
      padding-top: 0; } }
  .department-outreach .design-layer {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 50vh; }
    @media (min-width: 45em) {
      .department-outreach .design-layer {
        bottom: 0;
        height: 100%; } }
    .department-outreach .design-layer .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .department-outreach .design-layer .image {
      z-index: 10;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
    .department-outreach .design-layer .color {
      z-index: 20;
      background-color: rgba(225, 150, 62, 0.535); }
  .department-outreach .content-layer {
    position: relative;
    z-index: 100;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 100%;
    padding: 2rem;
    background-color: rgba(153, 111, 62, 0.915);
    background-image: linear-gradient(0deg, rgba(225, 150, 62, 0.815) 0%, transparent 80%); }
    @media (min-width: 45em) {
      .department-outreach .content-layer {
        width: 50vw;
        min-height: 100%;
        padding: 5rem; } }
    .department-outreach .content-layer > * {
      max-width: 100%; }
    .department-outreach .content-layer .headline {
      margin: 0 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 1;
      letter-spacing: 0.085em;
      color: white; }
    .department-outreach .content-layer .text {
      margin: 0 0 1rem 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      line-height: 1.5rem;
      letter-spacing: 0.035em;
      color: white; }
    .department-outreach .content-layer .content-buttons {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .department-outreach .content-layer .content-button {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      margin: 1.5rem 0 0 0;
      padding: 1.0625rem 1rem 1rem;
      font-family: "Industry";
      font-size: 0.75rem;
      font-weight: 600;
      font-style: normal;
      text-align: center;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 1.2;
      letter-spacing: 0.045em;
      color: white;
      background-color: rgba(255, 255, 255, 0.015);
      box-shadow: 0 1em 3em 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms;
      text-decoration: none; }
      @media (min-width: 30em) {
        .department-outreach .content-layer .content-button {
          width: calc( 50% - 0.5rem); } }
      @media (min-width: 45em) {
        .department-outreach .content-layer .content-button {
          width: 100%; } }
      @media (min-width: 60em) {
        .department-outreach .content-layer .content-button {
          width: calc( 50% - 0.5rem); } }
      .department-outreach .content-layer .content-button:hover, .department-outreach .content-layer .content-button:focus, .department-outreach .content-layer .content-button:active {
        background-color: #e1963e;
        cursor: pointer; }

#department-news {
  padding: 0;
  background-color: #efeeda; }
  #department-news .section-title {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: end;
        align-items: flex-end;
    height: 3rem;
    margin: 0 0 1rem 1rem;
    padding: 0 0 1rem 1rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2rem;
    font-weight: 400;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    text-decoration: none;
    line-height: 1.25rem;
    letter-spacing: 0.135em;
    color: rgba(10, 51, 33, 0.875); }
    @media screen and (max-width: 39.9375em) {
      #department-news .section-title {
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1.5rem;
        font-weight: 400;
        font-style: normal;
        text-align: left;
        text-transform: uppercase;
        text-decoration: none; } }
    #department-news .section-title:before {
      content: '';
      position: absolute;
      top: 0.5rem;
      bottom: 0.25rem;
      left: 0;
      z-index: 10;
      width: 2px;
      height: 1.5rem;
      background-color: #1c8055; }
    #department-news .section-title:hover {
      cursor: pointer; }
      #department-news .section-title:hover .title-link {
        color: #0a3321;
        transform: translate3d(-1.5rem, 0, 0);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        #department-news .section-title:hover .title-link:after {
          opacity: 1.000;
          transform: translate3d(0, 0, 0);
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    #department-news .section-title .title-link {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      height: 2rem;
      margin: 0 1rem 0 0;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 700;
      font-style: normal;
      line-height: 0.5rem;
      letter-spacing: 0.075em;
      color: rgba(10, 51, 33, 0.675);
      transform: translate3d(0, 0, 0);
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      #department-news .section-title .title-link:after {
        content: "";
        display: block;
        width: 1rem;
        height: 2.25rem;
        margin: 0;
        padding: 1.25rem 0 0 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: #0A3321;
        position: absolute;
        top: 0;
        right: -1.5rem;
        bottom: 0;
        opacity: 0.000;
        transform: translate3d(-2rem, 0, 0);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  #department-news .article-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100vw;
    height: auto;
    padding: 5rem 4rem 5rem 4rem; }
    @media screen and (max-width: 39.9375em) {
      #department-news .article-container {
        padding: 2rem 1rem 0rem 1rem; } }
  #department-news #main-source-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    margin: 0;
    padding: 0; }
  #department-news #source-feed {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    width: auto;
    height: 100%;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 39.9375em) {
      #department-news #source-feed {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch; } }
    #department-news #source-feed .article {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-preferred-size: 33.3333333%;
          flex-basis: 33.3333333%;
      height: auto;
      margin: 0 1rem 0 1rem;
      background-color: rgba(255, 255, 255, 0.815);
      box-shadow: 0 1.5rem 4rem 0 rgba(0, 0, 0, 0.385);
      transform: translate3d(0, 0, 0);
      transition: all 240ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
      text-decoration: none; }
      @media screen and (max-width: 39.9375em) {
        #department-news #source-feed .article {
          margin: 0 1rem 2rem 1rem; } }
      #department-news #source-feed .article:hover {
        cursor: pointer;
        transform: translate3d(0, -1rem, 0);
        background-color: white; }
        #department-news #source-feed .article:hover .header .image {
          -webkit-filter: grayscale(0) opacity(1);
          transition: all 220ms linear 0ms; }
      #department-news #source-feed .article .header {
        position: relative;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-positive: 1;
            flex-grow: 1;
        width: 100%;
        height: 14rem;
        min-height: 14rem;
        margin: 0;
        padding: 0; }
        #department-news #source-feed .article .header .image {
          position: relative;
          z-index: 10;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: center;
              align-items: center;
          width: 100%;
          height: 100%;
          margin: 0;
          padding: 0;
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
          -webkit-filter: grayscale(0) opacity(1);
          transition: all 220ms linear 0ms; }
        #department-news #source-feed .article .header .meta {
          position: absolute;
          right: 0;
          bottom: 0;
          left: 0;
          z-index: 20;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: justify;
              justify-content: space-between;
          -ms-flex-align: center;
              align-items: center;
          display: none;
          width: 16rem;
          height: 1.25rem;
          margin: 0;
          padding: 0 0 0 0; }
          #department-news #source-feed .article .header .meta .date,
          #department-news #source-feed .article .header .meta .post-category {
            display: -ms-inline-flexbox;
            display: inline-flex;
            -ms-flex-direction: row;
                flex-direction: row;
            -ms-flex-pack: center;
                justify-content: center;
            -ms-flex-align: center;
                align-items: center;
            height: 1.25rem;
            padding: 0.0625rem 0.5rem 0 0.5rem;
            font-family: "Industry";
            font-size: 0.5625rem;
            font-weight: 700;
            font-style: normal;
            line-height: 0.5rem;
            letter-spacing: 0.065em;
            text-align: inherit;
            text-transform: uppercase;
            text-decoration: none;
            color: white; }
          #department-news #source-feed .article .header .meta .date {
            -ms-flex-order: -1;
                order: -1;
            background-color: rgba(255, 255, 255, 0.055); }
          #department-news #source-feed .article .header .meta .post-category {
            padding: 0 0.5rem 0 0.5rem;
            font-family: "Industry";
            font-size: 0.5625rem;
            font-weight: 700;
            font-style: normal;
            letter-spacing: 0.025em;
            background-color: rgba(17, 81, 53, 0.815); }
            #department-news #source-feed .article .header .meta .post-category.superchannel, #department-news #source-feed .article .header .meta .post-category.national-western-stock-show, #department-news #source-feed .article .header .meta .post-category.special-events {
              display: none; }
            #department-news #source-feed .article .header .meta .post-category.state-your-purpose {
              color: #97CA3D;
              background-color: rgba(10, 51, 33, 0.675); }
            #department-news #source-feed .article .header .meta .post-category.obituaries {
              background-color: rgba(52, 154, 170, 0.575); }
            #department-news #source-feed .article .header .meta .post-category.latest-headlines {
              background-color: rgba(227, 85, 48, 0.615); }
            #department-news #source-feed .article .header .meta .post-category.ram-family {
              background-color: rgba(225, 150, 62, 0.615); }
            #department-news #source-feed .article .header .meta .post-category.outreach {
              background-color: rgba(192, 214, 42, 0.315); }
            #department-news #source-feed .article .header .meta .post-category.research {
              background-color: rgba(2, 37, 49, 0.585); }
      #department-news #source-feed .article .content {
        position: relative;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
        width: 100%;
        min-height: 8rem;
        margin: 0;
        padding: 1rem 2rem 2rem 2rem; }
        #department-news #source-feed .article .content .title {
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 500;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 1.5rem;
          letter-spacing: 0.025em;
          color: #156140; }
        #department-news #source-feed .article .content p {
          margin: 0;
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 500;
          font-style: normal;
          line-height: 1.25rem;
          letter-spacing: 0.035em;
          color: #333333; }

#department-giving {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-align: start;
      align-items: flex-start;
  height: 50vh;
  height: auto;
  background-color: #082818; }
  #department-giving.full .design-layer, #department-giving.basic .design-layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100%; }
    #department-giving.full .design-layer .layer, #department-giving.basic .design-layer .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    #department-giving.full .design-layer .image, #department-giving.basic .design-layer .image {
      z-index: 10;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
    #department-giving.full .design-layer .color, #department-giving.basic .design-layer .color {
      z-index: 20;
      background-color: rgba(10, 51, 33, 0.635); }
  #department-giving.full .content-layer, #department-giving.basic .content-layer {
    position: relative;
    z-index: 100; }
  #department-giving.full .content-layer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 50vw;
    height: 100%;
    padding: 5rem 5rem 5rem 5rem;
    background-color: rgba(10, 51, 33, 0.915);
    background-image: linear-gradient(0deg, rgba(21, 97, 64, 0.615) 0%, transparent 80%); }
    @media screen and (max-width: 39.9375em) {
      #department-giving.full .content-layer {
        width: 100%;
        padding: 2rem 2rem 2rem 2rem; } }
    #department-giving.full .content-layer .headline {
      margin: 0 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 3rem;
      letter-spacing: 0.085em;
      color: #d7d392; }
    #department-giving.full .content-layer .text {
      margin: 0 0 2rem 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      line-height: 1.5rem;
      letter-spacing: 0.035em; }
    #department-giving.full .content-layer .content-button {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      text-decoration: none;
      line-height: 0.75rem;
      letter-spacing: 0.135em;
      color: white;
      background-color: rgba(255, 255, 255, 0.015);
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms;
      text-decoration: none; }
      #department-giving.full .content-layer .content-button:hover, #department-giving.full .content-layer .content-button:focus, #department-giving.full .content-layer .content-button:active {
        background-color: #156140;
        cursor: pointer; }
  #department-giving.basic {
    height: 25vh; }
    #department-giving.basic .content-layer {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 100%;
      padding: 0 0 0 0;
      background-color: rgba(10, 51, 33, 0.515);
      background-image: linear-gradient(0deg, rgba(21, 97, 64, 0.415) 0%, transparent 80%); }
    #department-giving.basic .content-button {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      text-decoration: none;
      line-height: 0.75rem;
      letter-spacing: 0.135em;
      color: white;
      background-color: rgba(17, 81, 53, 0.635);
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms; }
      #department-giving.basic .content-button:hover {
        background-color: #156140;
        cursor: pointer; }

#site-layout.labs-archive .pattern-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  background-image: url(../img/patterns/pattern.horizontal.png);
  background-repeat: no-repeat;
  background-position: top left; }

#site-layout.labs-archive .content-container {
  position: relative;
  min-height: 50vh;
  padding: 10rem 4.5rem 4rem 4.5rem;
  background-color: #022531; }

#site-layout.labs-archive #laboratory-index {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

#site-layout.labs-archive .index-title {
  position: relative;
  z-index: 20;
  margin: 0 0 1rem 0.5rem;
  color: #c0d62a; }

#site-layout.labs-archive .lab-link {
  position: relative;
  z-index: 20;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 2rem;
  margin: 0 0.5rem 1rem 0.5rem;
  padding: 0.0625rem 1rem 0 1rem;
  font-family: "Industry";
  font-size: 0.75rem;
  font-weight: 700;
  font-style: normal;
  text-align: right;
  text-transform: uppercase;
  text-decoration: none;
  text-decoration: none;
  line-height: 1rem;
  letter-spacing: 0.045em;
  color: white;
  background-color: rgba(2, 37, 49, 0.635);
  background-color: rgba(255, 255, 255, 0.075);
  box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.535);
  transition: all 220ms linear 0ms; }
  #site-layout.labs-archive .lab-link:hover {
    background-color: #e35530; }

.laboratory-billboard {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-align: start;
      align-items: flex-start;
  width: 100vw;
  padding: 0 0 0 0;
  background: no-repeat center center / cover; }
  @media print, screen and (min-width: 40em) {
    .laboratory-billboard {
      min-height: 60vh; } }
  @media screen and (max-width: 39.9375em) {
    .laboratory-billboard {
      min-height: 50vh; } }
  .laboratory-billboard:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(254, 254, 254, 0.895);
    background-color: rgba(10, 51, 33, 0.535); }
  .laboratory-billboard:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    background-image: linear-gradient(200deg, rgba(0, 0, 0, 0) 20%, rgba(2, 37, 49, 0.895) 100%); }
  .laboratory-billboard #homepage-title {
    position: relative;
    z-index: 100;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: end;
        align-items: flex-end;
    max-width: 28rem;
    padding: 0 0 2rem 5rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2rem;
    font-weight: 400;
    font-style: normal;
    line-height: 2.5rem;
    letter-spacing: 0.035em;
    color: white; }
    @media screen and (max-width: 39.9375em) {
      .laboratory-billboard #homepage-title {
        width: 100%;
        max-width: none;
        padding: 0 2rem 2rem 3rem; } }
    .laboratory-billboard #homepage-title .site-title.standalone {
      position: relative;
      margin: 0 0 0 0;
      padding: 1rem 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      line-height: 2.5rem;
      letter-spacing: 0.085em;
      text-align: left;
      text-transform: uppercase;
      text-decoration: none; }
      .laboratory-billboard #homepage-title .site-title.standalone:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        width: 4rem;
        height: 0.125rem;
        background-color: #c0d62a; }
    .laboratory-billboard #homepage-title .site-title.description {
      margin: 0 0 0 0;
      padding: 1rem 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      line-height: 2.5rem;
      letter-spacing: 0.085em;
      text-align: right;
      text-transform: uppercase;
      text-decoration: none; }
    .laboratory-billboard #homepage-title .site-description {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: end;
          align-items: flex-end;
      width: 22rem;
      height: 7rem;
      margin: 0 0 0 2rem;
      padding: 0 0 1.25rem 2rem;
      border-left: 2px solid #C0D62A;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      line-height: 1.25rem;
      letter-spacing: 0.065em; }

#site-layout.laboratory {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center; }
  #site-layout.laboratory.site-menu-open {
    filter: blur(16px);
    transition: all 0ms linear 0ms; }
  #site-layout.laboratory .laboratory-content {
    position: relative; }
    @media screen and (max-width: 39.9375em) {
      #site-layout.laboratory .laboratory-content h2 {
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 2rem;
        font-weight: 400;
        font-style: normal; } }

#laboratory-description {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: stretch;
      align-items: stretch;
  padding: 5rem 5rem 5rem 5rem;
  color: rgba(23, 45, 42, 0.835);
  background-color: #efeeda; }
  @media screen and (max-width: 39.9375em) {
    #laboratory-description {
      padding: 3rem 3rem 3rem 3rem; } }
  #laboratory-description .description-text {
    padding: 0 0 0 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.055em; }

#research-projects {
  position: relative;
  height: auto;
  min-height: 60vh;
  padding: 0 0 0 0;
  color: rgba(255, 255, 255, 0.835);
  background-color: #022531; }
  @media screen and (max-width: 39.9375em) {
    #research-projects {
      min-height: 100vh;
      padding: 0 0 0 0 !important; } }
  #research-projects .billboard-control {
    position: absolute;
    bottom: 5rem;
    z-index: 200;
    width: 4rem;
    height: 4rem;
    margin: 0;
    padding: 0;
    transition: all 220ms linear 0ms; }
    @media screen and (max-width: 39.9375em) {
      #research-projects .billboard-control {
        bottom: 50%;
        width: 3rem;
        height: 3rem;
        margin: 0 0 0 0; } }
    #research-projects .billboard-control.prev-arrow:hover, #research-projects .billboard-control.next-arrow:hover {
      background-color: #349aaa;
      cursor: pointer; }
    #research-projects .billboard-control.prev-arrow.slick-disabled, #research-projects .billboard-control.next-arrow.slick-disabled {
      cursor: not-allowed; }
      #research-projects .billboard-control.prev-arrow.slick-disabled svg, #research-projects .billboard-control.next-arrow.slick-disabled svg {
        opacity: 0.465; }
    #research-projects .billboard-control.prev-arrow {
      left: 5rem;
      z-index: 201;
      background-color: rgba(255, 255, 255, 0.035); }
      @media screen and (max-width: 39.9375em) {
        #research-projects .billboard-control.prev-arrow {
          left: 0;
          box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.685); } }
      #research-projects .billboard-control.prev-arrow.slick-disabled {
        background-color: rgba(255, 255, 255, 0.035); }
    #research-projects .billboard-control.next-arrow {
      left: 9rem;
      background-color: rgba(255, 255, 255, 0.075); }
      @media screen and (max-width: 39.9375em) {
        #research-projects .billboard-control.next-arrow {
          right: 0;
          left: auto;
          box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.685); } }
      #research-projects .billboard-control.next-arrow.slick-disabled {
        background-color: rgba(255, 255, 255, 0.075); }
      #research-projects .billboard-control.next-arrow:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: -4rem;
        z-index: -1;
        width: 8rem;
        height: 4rem;
        box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.685); }
        @media screen and (max-width: 39.9375em) {
          #research-projects .billboard-control.next-arrow:before {
            left: -3rem;
            width: 6rem;
            height: 3rem;
            box-shadow: none; } }
    #research-projects .billboard-control .button-label {
      position: absolute;
      visibility: hidden; }
  #research-projects .slick-list {
    height: auto; }
  #research-projects .slick-track {
    height: auto; }
  #research-projects .slick-slide {
    height: auto; }
    @media screen and (max-width: 39.9375em) {
      #research-projects .slick-slide {
        min-height: 100vh; } }
    #research-projects .slick-slide > div {
      position: relative;
      height: auto; }
  #research-projects .research-slide {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    display: flex !important;
    min-height: 60vh;
    margin: 0 0 2rem 0; }
    @media screen and (max-width: 39.9375em) {
      #research-projects .research-slide {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 0 0 0 0;
        min-height: 100vh; } }
    #research-projects .research-slide:last-child {
      margin: 0 0 0 0; }
    #research-projects .research-slide .image-container {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      z-index: 10;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
      width: 50%;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      @media screen and (max-width: 39.9375em) {
        #research-projects .research-slide .image-container {
          right: 0;
          bottom: 0;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          width: 100%;
          height: 100%; } }
      #research-projects .research-slide .image-container:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 10;
        background-color: rgba(2, 37, 49, 0.535); }
    #research-projects .research-slide .content-wrapper {
      position: relative;
      z-index: 20;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
      min-height: 60vh;
      padding: 5rem 5rem 5rem 5rem;
      background-color: #022531; }
      @media screen and (max-width: 39.9375em) {
        #research-projects .research-slide .content-wrapper {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: stretch;
              align-items: stretch;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          height: 100%;
          min-height: 100vh;
          padding: 3rem 4rem 3rem 4rem;
          background-color: rgba(2, 37, 49, 0);
          background-image: linear-gradient(0deg, #022531 50%, rgba(0, 0, 0, 0) 80%); } }
      #research-projects .research-slide .content-wrapper .pattern-overlay {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 10;
        background-image: url(../img/patterns/pattern.vertical.png);
        background-repeat: no-repeat;
        background-position: top left; }
  #research-projects .project-layer {
    position: relative;
    z-index: 20; }
  #research-projects .project-label {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    margin: 0 0 1rem 0;
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 700;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 0.5rem;
    letter-spacing: 0.065em;
    color: #349aaa; }
  #research-projects h2 {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2rem;
    font-weight: 400;
    font-style: normal;
    line-height: 2.5rem;
    letter-spacing: 0.045em;
    color: #c0d62a; }
  #research-projects p {
    margin: 0 0 2rem 0;
    padding: 0 0 0 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.025em; }
    #research-projects p:last-child {
      margin: 0 0 0 0; }
  #research-projects .project-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 4rem;
    margin: 0 0 0 0;
    padding: 0.0625rem 1.75rem 0 1.75rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    text-decoration: none;
    line-height: 0.875rem;
    letter-spacing: 0.045em;
    color: white;
    background-color: rgba(255, 255, 255, 0.115);
    box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.535);
    transition: all 220ms linear 0ms; }
    #research-projects .project-link:hover {
      background-color: #349aaa; }

#publications {
  position: relative;
  padding: 5rem 5rem 5rem 5rem;
  color: rgba(23, 45, 42, 0.835);
  background-color: white; }
  @media screen and (max-width: 39.9375em) {
    #publications {
      padding: 3rem 3rem 3rem 3rem; } }
  #publications h2 {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: auto;
    font-weight: 400;
    font-style: normal;
    color: #156140; }
  #publications p {
    margin: 0 0 2rem 0;
    padding: 0 0 0 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.025em; }
    #publications p:last-child {
      margin: 0 0 0 0; }
  #publications .publications-link {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 4em;
    margin: 0 0 0 0;
    padding: 0.0625rem 1.5rem 0 1.5rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    text-decoration: none;
    line-height: 0.75rem;
    letter-spacing: 0.045em;
    color: white;
    background-color: #e35530;
    box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.535);
    transition: all 220ms linear 0ms; }
    #publications .publications-link:hover {
      background-color: #022531; }

#slideshow {
  position: relative;
  min-height: 60vh;
  min-height: 40vh;
  padding: 0 0 0 0;
  color: rgba(255, 255, 255, 0.835);
  background-color: #082818; }
  @media screen and (max-width: 39.9375em) {
    #slideshow {
      min-height: 60vh;
      padding: 0 0 0 0 !important; } }
  #slideshow.build .ui-slide {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    display: flex !important;
    min-height: 40vh;
    margin: 0 0 2rem 0; }
    @media screen and (max-width: 39.9375em) {
      #slideshow.build .ui-slide {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 0 0 0 0; } }
    #slideshow.build .ui-slide:last-child {
      margin: 0 0 0 0; }
    #slideshow.build .ui-slide .image-container {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 10;
      -ms-flex-preferred-size: 60%;
          flex-basis: 60%;
      width: 60%;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      @media screen and (max-width: 39.9375em) {
        #slideshow.build .ui-slide .image-container {
          right: 0;
          bottom: 0;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          width: 100%;
          height: 100%; } }
      #slideshow.build .ui-slide .image-container:after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 10;
        background-color: rgba(10, 51, 33, 0.635); }
    #slideshow.build .ui-slide .content-wrapper {
      position: relative;
      z-index: 20;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%;
      min-height: 40vh;
      height: 100%;
      padding: 5rem 5rem 5rem 5rem;
      background-color: #082818; }
      @media screen and (max-width: 39.9375em) {
        #slideshow.build .ui-slide .content-wrapper {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: stretch;
              align-items: stretch;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          height: auto;
          min-height: 60vh;
          padding: 3rem 4rem 3rem 4rem;
          background-color: rgba(2, 37, 49, 0);
          background-image: linear-gradient(0deg, rgba(10, 51, 33, 0.875) 50%, rgba(0, 0, 0, 0) 80%); } }
      #slideshow.build .ui-slide .content-wrapper:before, #slideshow.build .ui-slide .content-wrapper:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
      #slideshow.build .ui-slide .content-wrapper:before {
        z-index: -1;
        background-image: url(../img/patterns/pattern.horizontal.svg);
        background-repeat: no-repeat;
        background-size: 200% 200%;
        background-position: 200% center;
        opacity: 0.165; }
      #slideshow.build .ui-slide .content-wrapper:after {
        display: none;
        z-index: -1;
        background-image: linear-gradient(0deg, #e35530 0%, rgba(0, 0, 0, 0) 100%); }
  #slideshow .billboard-control {
    position: absolute;
    bottom: 5rem;
    z-index: 200;
    width: 4rem;
    height: 4rem;
    margin: 0;
    padding: 0;
    transition: all 220ms linear 0ms; }
    @media screen and (max-width: 39.9375em) {
      #slideshow .billboard-control {
        bottom: 50%;
        width: 3rem;
        height: 3rem;
        margin: 0 0 0 0; } }
    #slideshow .billboard-control.prev-arrow:hover, #slideshow .billboard-control.next-arrow:hover {
      background-color: #156140;
      cursor: pointer; }
    #slideshow .billboard-control.prev-arrow.slick-disabled, #slideshow .billboard-control.next-arrow.slick-disabled {
      cursor: not-allowed; }
      #slideshow .billboard-control.prev-arrow.slick-disabled svg, #slideshow .billboard-control.next-arrow.slick-disabled svg {
        opacity: 0.465; }
    #slideshow .billboard-control.prev-arrow {
      right: 9rem;
      z-index: 201;
      background-color: rgba(17, 81, 53, 0.635); }
      @media screen and (max-width: 39.9375em) {
        #slideshow .billboard-control.prev-arrow {
          left: 0;
          box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.685); } }
      #slideshow .billboard-control.prev-arrow.slick-disabled {
        background-color: rgba(255, 255, 255, 0.035); }
    #slideshow .billboard-control.next-arrow {
      right: 5rem;
      background-color: rgba(10, 51, 33, 0.375); }
      @media screen and (max-width: 39.9375em) {
        #slideshow .billboard-control.next-arrow {
          right: 0;
          left: auto;
          box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.685); } }
      #slideshow .billboard-control.next-arrow.slick-disabled {
        background-color: rgba(255, 255, 255, 0.075); }
      #slideshow .billboard-control.next-arrow:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: -4rem;
        z-index: -1;
        width: 8rem;
        height: 4rem;
        background-color: rgba(8, 40, 24, 0.435);
        box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.685); }
        @media screen and (max-width: 39.9375em) {
          #slideshow .billboard-control.next-arrow:before {
            left: -3rem;
            width: 6rem;
            height: 3rem;
            background-color: rgba(8, 40, 24, 0);
            box-shadow: none; } }
    #slideshow .billboard-control .button-label {
      position: absolute;
      visibility: hidden; }
  #slideshow .slick-list {
    height: auto; }
  #slideshow .slick-track {
    height: auto; }
  #slideshow .slick-slide {
    height: auto; }
    #slideshow .slick-slide > div {
      position: relative;
      height: auto; }
  #slideshow .ui-slide {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    display: flex !important;
    min-height: 50vh;
    margin: 0 0 2rem 0; }
    @media screen and (max-width: 39.9375em) {
      #slideshow .ui-slide {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 0 0 0 0; } }
    #slideshow .ui-slide:last-child {
      margin: 0 0 0 0; }
    #slideshow .ui-slide .image-container {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 10;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
      width: 50%;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      @media screen and (max-width: 39.9375em) {
        #slideshow .ui-slide .image-container {
          right: 0;
          bottom: 0;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          width: 100%;
          height: 100%; } }
      #slideshow .ui-slide .image-container:after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 10;
        background-color: rgba(10, 51, 33, 0.635); }
    #slideshow .ui-slide .content-wrapper {
      position: relative;
      z-index: 20;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
      min-height: 50vh;
      padding: 5rem 5rem 5rem 5rem;
      background-color: #082818; }
      @media screen and (max-width: 39.9375em) {
        #slideshow .ui-slide .content-wrapper {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: stretch;
              align-items: stretch;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          height: auto;
          min-height: 100vh;
          padding: 3rem 3rem 3rem 3rem;
          background-color: rgba(2, 37, 49, 0);
          background-image: linear-gradient(0deg, rgba(10, 51, 33, 0.875) 50%, rgba(0, 0, 0, 0) 80%); } }
      #slideshow .ui-slide .content-wrapper:before, #slideshow .ui-slide .content-wrapper:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
      #slideshow .ui-slide .content-wrapper:before {
        z-index: -1;
        background-image: url(../img/patterns/pattern.horizontal.svg);
        background-repeat: no-repeat;
        background-size: 200% 200%;
        background-position: 200% center;
        opacity: 0.165; }
      #slideshow .ui-slide .content-wrapper:after {
        display: none;
        z-index: -1;
        background-image: linear-gradient(0deg, #e35530 0%, rgba(0, 0, 0, 0) 100%); }
  #slideshow .slideshow-layer {
    position: relative;
    z-index: 20; }
  #slideshow h2 {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: auto;
    font-weight: 400;
    font-style: normal; }
  #slideshow p {
    margin: 0 0 2rem 0;
    padding: 0 0 0 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.025em; }
    #slideshow p:last-child {
      margin: 0 0 0 0; }

#laboratory-facts {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: stretch;
      align-items: stretch;
  padding: 0 0 0 0;
  color: rgba(23, 45, 42, 0.835);
  background-color: #022531;
  background-image: url(../img/billboards/billboard.10.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center; }

.fast-facts__inner {
  width: 100%;
  margin: 0;
  padding: 10rem 5rem 10rem 5rem;
  background-color: rgba(177, 217, 224, 0.735);
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.835) 100%); }
  @media screen and (max-width: 39.9375em) {
    .fast-facts__inner {
      padding: 3rem 3rem 3rem 3rem; } }

.fast-facts .fast-fact {
  width: 33.3333333%;
  max-width: 20rem;
  margin: 0 0 0 0; }
  @media screen and (max-width: 39.9375em) {
    .fast-facts .fast-fact {
      width: 100%;
      max-width: none;
      margin: 2rem 0 2rem 0; } }
  .fast-facts .fast-fact__value {
    font-family: "Vitesse", "Factoria";
    font-size: 2.5rem;
    font-weight: 700;
    font-style: normal;
    color: #349aaa; }
  .fast-facts .fast-fact__rate {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal; }
  .fast-facts .fast-fact__desc {
    color: rgba(23, 45, 42, 0.635); }

#staff {
  position: relative;
  margin: 0 0 0 0;
  padding: 5rem 5rem 5rem 5rem;
  color: rgba(255, 255, 255, 0.835); }
  @media screen and (max-width: 39.9375em) {
    #staff {
      padding: 3rem 3rem 3rem 3rem; } }
  #staff h2 {
    margin: 0 0 2rem 0;
    line-height: 1.75rem;
    letter-spacing: auto; }
  @media (min-width: 60em) {
    #staff .group-bios__grid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  #staff .group-bios__grid-item {
    margin-top: 1rem; }
    @media (min-width: 40em) {
      #staff .group-bios__grid-item {
        display: -ms-grid;
        display: grid;
        grid-gap: 1rem;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
        -ms-grid-columns: auto 1em 1fr;
        grid-template-columns: auto 1fr; } }
    @media (min-width: 60em) {
      #staff .group-bios__grid-item {
        width: calc(50% - 1em);
        margin-top: 2em; }
        #staff .group-bios__grid-item:nth-child(-n+2) {
          margin-top: 0; } }
  #staff .group-bios__image {
    position: relative;
    z-index: 1;
    box-shadow: 0 1.5rem 3rem 0 rgba(0, 0, 0, 0.535);
    transform: translate3d(0, 0, 0);
    transition: all 160ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  #staff .group-bios__details {
    position: relative;
    z-index: 20; }
  #staff .group-bios__name {
    display: inline-block;
    font-family: "Vitesse", "Factoria";
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    color: white; }
  #staff .group-bios__desc {
    margin: 0 0 1rem 0;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 400;
    font-style: normal; }
  #staff p {
    font-family: "Vitesse", "Factoria";
    font-size: 0.9375rem;
    font-weight: 400;
    font-style: normal;
    color: rgba(255, 255, 255, 0.625); }
  #staff a {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.625);
    color: #d7d392; }

#laboratory-news {
  position: relative;
  padding: 5rem 4rem 4rem 4rem;
  color: rgba(23, 45, 42, 0.835);
  background-color: #efeeda; }
  @media screen and (max-width: 39.9375em) {
    #laboratory-news {
      padding: 3rem 2rem 2rem 2rem; } }
  #laboratory-news .title-link {
    text-decoration: none; }
  #laboratory-news .section-title {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: end;
        align-items: flex-end;
    height: 3rem;
    margin: 0 0 1rem 1rem;
    line-height: 1.25rem;
    letter-spacing: inherit;
    text-decoration: none;
    color: #115135; }
    #laboratory-news .section-title:hover, #laboratory-news .section-title:focus, #laboratory-news .section-title:active {
      cursor: pointer; }
      #laboratory-news .section-title:hover .link-label, #laboratory-news .section-title:focus .link-label, #laboratory-news .section-title:active .link-label {
        color: #0a3321;
        transform: translate3d(-1.5rem, 0, 0);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        #laboratory-news .section-title:hover .link-label:after, #laboratory-news .section-title:focus .link-label:after, #laboratory-news .section-title:active .link-label:after {
          opacity: 1.000;
          transform: translate3d(0, 0, 0);
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    #laboratory-news .section-title .link-label {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      height: 2rem;
      margin: 0 1rem 0 0;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 700;
      font-style: normal;
      line-height: 0.5rem;
      letter-spacing: 0.075em;
      color: #0a3321;
      transform: translate3d(0, 0, 0);
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  #laboratory-news .articles {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch; }
    @media screen and (max-width: 39.9375em) {
      #laboratory-news .articles {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch; } }
  #laboratory-news .article {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 33.3333333%;
    min-height: 16rem;
    margin: 1rem 1rem 1rem 1rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: auto;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    background-color: white;
    box-shadow: 0 1.5rem 3rem 0 rgba(0, 0, 0, 0.535);
    transform: translate3d(0, 0, 0);
    transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    @media screen and (max-width: 39.9375em) {
      #laboratory-news .article {
        width: auto; } }
    #laboratory-news .article:hover {
      box-shadow: 0 1.5rem 4rem 0 rgba(0, 0, 0, 0.735);
      transform: translate3d(0, -1rem, 0); }
    #laboratory-news .article .header {
      background: no-repeat center center / cover;
      padding-top: 60%; }
      #laboratory-news .article .header .image {
        position: relative;
        z-index: 10;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: center;
            align-items: center;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        -webkit-filter: grayscale(0) opacity(1);
        transition: all 220ms linear 0ms; }
    #laboratory-news .article .content {
      -ms-flex-positive: 1;
          flex-grow: 1;
      padding: 1rem 2rem 2rem 2rem; }
  #laboratory-news .date {
    display: block;
    margin: 0 0 0.25rem 0;
    font-family: "Industry";
    font-size: 0.6875rem;
    font-weight: 700;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(23, 45, 42, 0.535); }
  #laboratory-news .title {
    display: block;
    margin: 0 0 0 0;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.25rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.015em;
    color: #156140; }
    @media screen and (max-width: 39.9375em) {
      #laboratory-news .title {
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1.25rem;
        font-weight: 400;
        font-style: normal; } }
  #laboratory-news .excerpt p {
    margin: 0.75rem 0 0 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    color: rgba(23, 45, 42, 0.735); }

#contact {
  position: relative;
  min-height: 50vh;
  padding: 0 0 0 0;
  color: rgba(255, 255, 255, 0.835);
  background-color: #082818; }
  @media screen and (max-width: 39.9375em) {
    #contact {
      min-height: 100vh;
      padding: 0 0 0 0; } }
  #contact .ui-slide {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    display: flex !important;
    min-height: 50vh;
    margin: 0 0 0 0; }
    @media screen and (max-width: 39.9375em) {
      #contact .ui-slide {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: stretch;
            align-items: stretch;
        min-height: 100vh; } }
    #contact .ui-slide .image-container {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 10;
      background-image: url(../img/billboards/billboard.33.jpg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      #contact .ui-slide .image-container:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 10;
        background-color: rgba(10, 51, 33, 0.635); }
    #contact .ui-slide .content-wrapper {
      position: relative;
      z-index: 20;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
      min-height: 50vh;
      padding: 5rem 5rem 5rem 5rem;
      background-color: rgba(8, 40, 24, 0.885);
      background-image: linear-gradient(0deg, rgba(17, 81, 53, 0.825) 0%, rgba(0, 0, 0, 0) 100%); }
      @media screen and (max-width: 39.9375em) {
        #contact .ui-slide .content-wrapper {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: stretch;
              align-items: stretch;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          height: auto;
          min-height: 0;
          padding: 3rem 3rem 3rem 3rem;
          background-color: rgba(2, 37, 49, 0);
          background-image: linear-gradient(0deg, rgba(17, 81, 53, 0.825) 50%, rgba(0, 0, 0, 0) 80%); } }
  #contact h2 {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: auto;
    font-weight: 400;
    font-style: normal;
    color: #d7d392; }
  #contact p {
    margin: 0 0 2rem 0;
    padding: 0 0 0 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.025em; }
    #contact p:last-child {
      margin: 0 0 0 0; }
  #contact .email {
    margin: 0 0 2rem 0;
    color: white; }
  #contact .social-media-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: stretch;
        align-items: stretch; }
    #contact .social-media-links .social-link {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 2rem;
      height: 2rem;
      margin: 0 0.5rem 0 0;
      padding: 0.5rem 0.5rem 0.5rem 0.5rem;
      background-color: rgba(255, 255, 255, 0.075);
      background-repeat: no-repeat;
      background-size: 1rem 1rem;
      background-position: center center;
      transition: all 220ms linear 0ms; }
      #contact .social-media-links .social-link:hover {
        transition: all 220ms linear 0ms; }
      #contact .social-media-links .social-link.facebook {
        background-image: url(../img/icons/social/facebook.svg); }
        #contact .social-media-links .social-link.facebook:hover, #contact .social-media-links .social-link.facebook:focus, #contact .social-media-links .social-link.facebook:active {
          background-color: rgba(59, 89, 152, 0.885); }
      #contact .social-media-links .social-link.instagram {
        position: relative;
        background-image: url(../img/icons/social/instagram_new.svg); }
        #contact .social-media-links .social-link.instagram:before {
          content: '';
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          z-index: -1;
          background-image: url(../img/icons/social/instagram.gradient.png);
          background-repeat: no-repeat;
          background-size: 2rem 2rem;
          opacity: 0.000;
          transition: all 220ms linear 0ms; }
        #contact .social-media-links .social-link.instagram:hover, #contact .social-media-links .social-link.instagram:focus, #contact .social-media-links .social-link.instagram:active {
          background-image: url(../img/icons/social/instagram_new.svg), url(../img/icons/social/instagram.gradient.png);
          background-size: 1rem 1rem, 2rem 2rem; }
          #contact .social-media-links .social-link.instagram:hover:before, #contact .social-media-links .social-link.instagram:focus:before, #contact .social-media-links .social-link.instagram:active:before {
            opacity: 1.000;
            transition: all 220ms linear 0ms; }
      #contact .social-media-links .social-link.twitter {
        background-image: url(../img/icons/social/twitter.svg); }
        #contact .social-media-links .social-link.twitter:hover, #contact .social-media-links .social-link.twitter:focus, #contact .social-media-links .social-link.twitter:active {
          background-color: rgba(0, 172, 237, 0.915); }
      #contact .social-media-links .social-link.youtube {
        background-image: url(../img/icons/social/youtube.svg); }
        #contact .social-media-links .social-link.youtube:hover, #contact .social-media-links .social-link.youtube:focus, #contact .social-media-links .social-link.youtube:active {
          background-color: rgba(187, 0, 0, 0.915); }
      #contact .social-media-links .social-link.linkedin {
        background-image: url(../img/icons/social/linkedin.svg); }
        #contact .social-media-links .social-link.linkedin:hover, #contact .social-media-links .social-link.linkedin:focus, #contact .social-media-links .social-link.linkedin:active {
          background-color: rgba(0, 123, 182, 0.895); }
      #contact .social-media-links .social-link .link-label {
        position: absolute;
        visibility: hidden; }

#site-layout.special {
  color: white; }

.special-unit-homepage-billboard {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: stretch;
      align-items: stretch;
  height: 75vh;
  min-height: 75vh;
  padding: 5rem 0 0 0;
  overflow: hidden; }
  @media screen and (min-width: 75em) {
    .special-unit-homepage-billboard {
      height: 60vh;
      min-height: 60vh; } }
  @media screen and (max-width: 63.9375em) {
    .special-unit-homepage-billboard {
      height: auto;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: stretch;
          align-items: stretch; } }
  @media screen and (max-width: 39.9375em) {
    .special-unit-homepage-billboard {
      padding: 4rem 0 0 0; } }
  .special-unit-homepage-billboard .billboard-content {
    position: relative;
    z-index: 10;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; }
    @media screen and (max-width: 63.9375em) {
      .special-unit-homepage-billboard .billboard-content {
        height: 75vh; } }
    .special-unit-homepage-billboard .billboard-content.announcement {
      width: 70vw; }
      @media screen and (max-width: 63.9375em) {
        .special-unit-homepage-billboard .billboard-content.announcement {
          width: 100vw; } }
    .special-unit-homepage-billboard .billboard-content.expired {
      width: 100vw; }
    @media screen and (max-width: 39.9375em) {
      .special-unit-homepage-billboard .billboard-content.custom {
        min-height: calc( 50vh - 4rem);
        padding: 5rem 0 0 0; } }
    .special-unit-homepage-billboard .billboard-content.custom:before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-color: rgba(254, 254, 254, 0.895);
      background-color: rgba(10, 51, 33, 0.535); }
    .special-unit-homepage-billboard .billboard-content.custom:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 20;
      background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(10, 51, 33, 0.635) 100%);
      background-image: linear-gradient(180deg, transparent 0%, rgba(10, 51, 33, 0.635) 100%), linear-gradient(225deg, transparent 50%, rgba(17, 81, 53, 0.635) 100%), linear-gradient(200deg, transparent 30%, #082818 100%); }
    .special-unit-homepage-billboard .billboard-content.custom #homepage-title {
      position: relative;
      z-index: 100;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      padding: 0 5rem 5rem 5rem; }
      @media screen and (max-width: 39.9375em) {
        .special-unit-homepage-billboard .billboard-content.custom #homepage-title {
          padding: 0 3rem 3rem 3rem; } }
      .special-unit-homepage-billboard .billboard-content.custom #homepage-title .title {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: start;
            align-items: flex-start;
        margin: 0 0 0 0;
        padding: 0.25rem 1rem 0 0;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 4.5rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 2.5rem;
        letter-spacing: 0.035em;
        color: #97ca3d; }
        @media screen and (max-width: 39.9375em) {
          .special-unit-homepage-billboard .billboard-content.custom #homepage-title .title {
            font-family: "Klavika Condensed", "Saira Condensed";
            font-size: 3rem;
            font-weight: 400;
            font-style: normal; } }
      .special-unit-homepage-billboard .billboard-content.custom #homepage-title .text {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        margin: 1.5rem 0 0 0;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 600;
        font-style: normal;
        line-height: 1.25rem;
        letter-spacing: 0.045em; }
        @media screen and (max-width: 39.9375em) {
          .special-unit-homepage-billboard .billboard-content.custom #homepage-title .text {
            font-family: "Industry";
            font-size: 0.75rem;
            font-weight: 600;
            font-style: normal;
            line-height: 1.125rem;
            letter-spacing: 0.045em; }
            .special-unit-homepage-billboard .billboard-content.custom #homepage-title .text br {
              display: none; } }
    .special-unit-homepage-billboard .billboard-content.default:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-color: rgba(254, 254, 254, 0.895);
      background-color: rgba(10, 51, 33, 0.235); }
    .special-unit-homepage-billboard .billboard-content.default:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 20;
      background-image: linear-gradient(0deg, #0a3321 0%, rgba(0, 0, 0, 0) 80%); }
    .special-unit-homepage-billboard .billboard-content.default #homepage-title {
      position: relative;
      z-index: 100;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      padding: 0 5rem 5rem 5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      line-height: 2.5rem;
      letter-spacing: 0.035em;
      color: white; }
      @media screen and (max-width: 63.9375em) {
        .special-unit-homepage-billboard .billboard-content.default #homepage-title {
          padding: 0 5rem 5rem 5rem; } }
      @media screen and (max-width: 39.9375em) {
        .special-unit-homepage-billboard .billboard-content.default #homepage-title {
          width: 100%;
          max-width: none;
          padding: 0 2rem 2rem 2rem; } }
      .special-unit-homepage-billboard .billboard-content.default #homepage-title .title {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: start;
            align-items: flex-start;
        margin: 0 0 1rem 0;
        padding: 0.25rem 1rem 0 0;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 3.5rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 2.5rem;
        letter-spacing: 0.035em; }
      .special-unit-homepage-billboard .billboard-content.default #homepage-title .text {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 600;
        font-style: normal;
        line-height: 1.25rem;
        letter-spacing: 0.045em; }
    .special-unit-homepage-billboard .billboard-content:before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-color: rgba(254, 254, 254, 0.895);
      background-color: rgba(10, 51, 33, 0.535); }
    .special-unit-homepage-billboard .billboard-content:after {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 20;
      background-image: linear-gradient(200deg, rgba(0, 0, 0, 0) 20%, rgba(2, 37, 49, 0.895) 100%); }

.special-description {
  padding: 5rem 5rem 5rem 5rem;
  color: rgba(23, 45, 42, 0.855);
  background-color: white; }
  @media screen and (max-width: 63.9375em) {
    .special-description {
      padding: 3rem 3rem 3rem 3rem; } }
  .special-description .description-title {
    margin: 0 0 1rem 0;
    line-height: 2rem;
    letter-spacing: 0.035em;
    color: #156140; }
  .special-description .description {
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.055em; }
    .special-description .description.prse {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: start;
          align-items: flex-start; }
      @media screen and (max-width: 63.9375em) {
        .special-description .description.prse {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: center;
              align-items: center; } }
      .special-description .description.prse .unit_description {
        width: 70%;
        padding: 0 3rem 0 0; }
        @media screen and (max-width: 63.9375em) {
          .special-description .description.prse .unit_description {
            width: 100%;
            padding: 0 0 0 0; } }
      .special-description .description.prse .prse_description {
        width: 30%;
        padding: 2rem 2rem 2rem 2rem;
        background-color: #115135;
        box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.325); }
        @media screen and (max-width: 63.9375em) {
          .special-description .description.prse .prse_description {
            width: 50%;
            margin: 3rem 0 0 0; } }
        @media screen and (max-width: 39.9375em) {
          .special-description .description.prse .prse_description {
            width: 100%; } }
        .special-description .description.prse .prse_description span {
          display: block; }
        .special-description .description.prse .prse_description .title {
          margin: 0 0 0.75rem 0;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 400;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          color: #efeeda; }
        .special-description .description.prse .prse_description .text {
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 500;
          font-style: normal;
          color: white; }
        .special-description .description.prse .prse_description a {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          width: 100%;
          height: 3rem;
          margin: 1rem 0 0 0;
          padding: 0 0 0 0;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 400;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          color: white;
          background-color: #156140;
          box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.275);
          transition: all 220ms linear 0ms; }
          .special-description .description.prse .prse_description a:hover {
            background-color: #e35530; }
    .special-description .description p:last-child {
      margin-bottom: 0; }
    .special-description .description p strong {
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 700;
      font-style: normal; }

.homepage-section {
  position: relative; }
  .homepage-section .pattern-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    background-repeat: no-repeat;
    background-position: top left; }
  .homepage-section .launchpads {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 4rem 4rem 4rem 4rem;
    background-color: #efeeda;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%); }
    @media screen and (max-width: 39.9375em) {
      .homepage-section .launchpads {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 2rem 2rem 2rem 2rem; } }
    .homepage-section .launchpads.two .launchpad {
      width: calc( 50% - 2rem);
      height: 20rem; }
    .homepage-section .launchpads.three .launchpad {
      width: calc( 33.3333333% - 2rem); }
    .homepage-section .launchpads.four .launchpad {
      width: calc( 25% - 2rem); }
      @media screen and (max-width: 63.9375em) {
        .homepage-section .launchpads.four .launchpad {
          width: calc( 50% - 2rem); } }
    .homepage-section .launchpads.multiples .launchpad {
      width: calc( 33.3333333% - 2rem); }
    .homepage-section .launchpads .launchpad {
      position: relative;
      z-index: 20;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      height: 14rem;
      margin: 1rem 1rem 1rem 1rem;
      padding: 2rem 2rem 2rem 2rem;
      overflow: hidden;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1.125rem;
      font-weight: 400;
      font-style: normal;
      text-align: right;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 1.5rem;
      letter-spacing: 0.045em;
      text-decoration: none;
      color: rgba(23, 45, 42, 0.875);
      color: white;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.535);
      transition: all 220ms linear 0ms; }
      @media screen and (max-width: 39.9375em) {
        .homepage-section .launchpads .launchpad {
          width: calc( 100% - 2rem) !important; } }
      .homepage-section .launchpads .launchpad:hover {
        color: #d7d392; }
        .homepage-section .launchpads .launchpad:hover:before {
          opacity: 1.000; }
        .homepage-section .launchpads .launchpad:hover:after {
          background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #0a3321 100%); }
        .homepage-section .launchpads .launchpad:hover .image {
          transform: scale(1.375);
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .homepage-section .launchpads .launchpad:before, .homepage-section .launchpads .launchpad:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .homepage-section .launchpads .launchpad:before {
        z-index: 19;
        opacity: 0.545; }
      .homepage-section .launchpads .launchpad:after {
        z-index: 20;
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(10, 51, 33, 0.895) 100%); }
      .homepage-section .launchpads .launchpad.sticky:hover {
        color: #c0d62a; }
        .homepage-section .launchpads .launchpad.sticky:hover:after {
          background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #022531 100%); }
      .homepage-section .launchpads .launchpad.sticky:after {
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(2, 37, 49, 0.895) 100%); }
      .homepage-section .launchpads .launchpad .indicator {
        position: absolute;
        top: 1rem;
        left: 1rem;
        z-index: 100;
        width: 1rem;
        height: 1rem; }
        .homepage-section .launchpads .launchpad .indicator:before {
          content: "";
          display: block;
          width: 1rem;
          height: 1rem;
          margin: 0;
          padding: 0;
          font-family: "codicons" !important;
          font-size: 1rem;
          font-weight: normal;
          font-style: normal;
          line-height: 1rem;
          text-rendering: geometricPrecision;
          color: white; }
      .homepage-section .launchpads .launchpad .image {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 10;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        transform: scale(1.125);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .homepage-section .launchpads .launchpad .title {
        position: relative;
        z-index: 30; }

.announcements {
  position: relative;
  z-index: 20;
  width: 30vw;
  height: auto;
  padding: 3rem 3rem 3rem 3rem;
  background-color: rgba(2, 37, 49, 0.875);
  box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.535); }
  @media screen and (max-width: 63.9375em) {
    .announcements {
      width: 100vw; } }
  .announcements .announcement-content {
    display: block; }
  .announcements .label {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 1.25rem;
    margin: 0 0 1rem 0;
    padding: 0.1875rem 0.5rem 0 0.5rem;
    font-family: "Industry";
    font-size: 0.625rem;
    font-weight: 700;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    color: white;
    background-color: rgba(227, 85, 48, 0.835); }
  .announcements .title {
    margin: 0 0 0.5rem 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 700;
    font-style: normal;
    color: white; }
  .announcements .text {
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 500;
    font-style: normal;
    line-height: 1.125rem;
    letter-spacing: 0.045em;
    color: rgba(255, 255, 255, 0.815); }
  .announcements .link {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 4rem;
    margin: 0.75rem 0 0 0;
    padding: 0.0625rem 1.5rem 0 1.5rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 0.75rem;
    letter-spacing: 0.045em;
    text-decoration: none;
    color: white;
    background-color: rgba(255, 255, 255, 0.035);
    box-shadow: 0 1rem 2.75rem 0 rgba(0, 0, 0, 0.435);
    transition: all 220ms linear 0ms; }
    .announcements .link:hover {
      background-color: rgba(227, 85, 48, 0.815); }

.events {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: stretch;
      align-items: stretch;
  padding: 0 0 0 0;
  background-color: #115135; }
  @media screen and (max-width: 39.9375em) {
    .events {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: stretch;
          align-items: stretch; } }
  .events .section-title {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 25vw;
    padding: 2rem 2rem 0 0;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal;
    text-align: right;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 0.75rem;
    letter-spacing: 0.045em; }
    @media screen and (max-width: 39.9375em) {
      .events .section-title {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
        width: 100vw;
        padding: 3rem 3rem 3rem 3rem;
        text-align: left;
        line-height: 1rem;
        letter-spacing: 0.045em; } }
  .events .events-list {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 75vw; }
    @media screen and (max-width: 39.9375em) {
      .events .events-list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        width: 100vw; } }
    .events .events-list .event-link {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-preferred-size: 33.3333333%;
          flex-basis: 33.3333333%;
      height: 8rem;
      height: auto;
      padding: 2rem 2rem 2rem 2rem;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-decoration: none;
      line-height: 0.75rem;
      letter-spacing: 0.035em;
      color: white;
      transition: all 220ms linear 0ms; }
      @media screen and (max-width: 39.9375em) {
        .events .events-list .event-link {
          padding: 3rem 3rem 3rem 3rem; } }
      .events .events-list .event-link:nth-of-type(1):hover, .events .events-list .event-link:nth-of-type(2):hover, .events .events-list .event-link:nth-of-type(3):hover {
        background-color: rgba(255, 255, 255, 0.035); }
      .events .events-list .event-link:nth-of-type(1) {
        background-color: rgba(0, 0, 0, 0.075); }
      .events .events-list .event-link:nth-of-type(2) {
        background-color: rgba(0, 0, 0, 0.175); }
      .events .events-list .event-link:nth-of-type(3) {
        background-color: rgba(0, 0, 0, 0.275); }
      .events .events-list .event-link span {
        display: block; }
      .events .events-list .event-link .event-title {
        margin: 0 0 0.5rem 0;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 700;
        font-style: normal;
        color: #d7d392; }
      .events .events-list .event-link .event-text {
        font-family: "Industry";
        font-size: 0.75rem;
        font-weight: 500;
        font-style: normal;
        line-height: 1.25rem;
        letter-spacing: 0.035em; }

.news {
  position: relative;
  padding: 2rem 1rem 0rem 1rem;
  background-color: #e1dcce; }
  @media (min-width: 45em) {
    .news {
      padding: 5rem 4rem 5rem 4rem; } }
  .news > a {
    text-decoration: none; }
  .news .pattern-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    background-repeat: no-repeat;
    background-position: top left; }
  .news .section-title {
    position: relative;
    z-index: 20;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: end;
        align-items: flex-end;
    height: 3rem;
    margin: 0 0 1rem 1rem;
    padding: 0 0 1rem 1rem;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 2rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.25rem;
    letter-spacing: 0.135em;
    color: rgba(10, 51, 33, 0.875);
    text-decoration: none; }
    @media screen and (max-width: 39.9375em) {
      .news .section-title {
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1.5rem;
        font-weight: 400;
        font-style: normal;
        text-align: left;
        text-transform: uppercase;
        text-decoration: none; } }
    .news .section-title:before {
      content: '';
      position: absolute;
      top: 0.5rem;
      bottom: 0.25rem;
      left: 0;
      z-index: 10;
      width: 2px;
      height: 1.5rem;
      background-color: #1c8055; }
    .news .section-title:hover, .news .section-title:focus, .news .section-title:active {
      cursor: pointer; }
      .news .section-title:hover .title-link, .news .section-title:focus .title-link, .news .section-title:active .title-link {
        color: #0a3321;
        transform: translate3d(-1.5rem, 0, 0);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        .news .section-title:hover .title-link:after, .news .section-title:focus .title-link:after, .news .section-title:active .title-link:after {
          opacity: 1.000;
          transform: translate3d(0, 0, 0);
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    .news .section-title .title-link {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      height: 2rem;
      margin: 0 1rem 0 0;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 700;
      font-style: normal;
      line-height: 0.5rem;
      letter-spacing: 0.075em;
      color: #0a3321;
      transform: translate3d(0, 0, 0);
      transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      .news .section-title .title-link:after {
        position: absolute;
        top: 0;
        right: -1.5rem;
        bottom: 0;
        opacity: 0.000;
        transform: translate3d(-2rem, 0, 0);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  .news .source-feed {
    position: relative;
    z-index: 20;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    @media (min-width: 45em) {
      .news .source-feed {
        -ms-flex-direction: row;
            flex-direction: row; } }
    .news .source-feed .article {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      background-color: rgba(255, 255, 255, 0.815);
      box-shadow: 0 1.5rem 4rem 0 rgba(0, 0, 0, 0.385);
      transform: translate3d(0, 0, 0);
      transition: all 240ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
      text-decoration: none;
      margin: 0 1rem 2rem 1rem; }
      @media (min-width: 45em) {
        .news .source-feed .article {
          width: calc((100% / 3) - 2rem  - .1px);
          margin: 0 1rem 0 1rem; } }
      .news .source-feed .article:hover, .news .source-feed .article:focus, .news .source-feed .article:active {
        cursor: pointer;
        transform: translate3d(0, -1rem, 0);
        background-color: white; }
        .news .source-feed .article:hover .header .image, .news .source-feed .article:focus .header .image, .news .source-feed .article:active .header .image {
          -webkit-filter: grayscale(0) opacity(1);
          transition: all 220ms linear 0ms; }
      .news .source-feed .article .header {
        background: no-repeat center center / cover;
        padding-top: 60%; }
        .news .source-feed .article .header .image {
          position: relative;
          z-index: 10;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: center;
              align-items: center;
          width: 100%;
          height: 100%;
          margin: 0;
          padding: 0;
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
          -webkit-filter: grayscale(0) opacity(1);
          transition: all 220ms linear 0ms; }
      .news .source-feed .article .content {
        -ms-flex-positive: 1;
            flex-grow: 1;
        padding: 1rem 2rem 2rem 2rem; }
        .news .source-feed .article .content .title {
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 500;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 1.5rem;
          letter-spacing: 0.025em;
          color: #156140; }
        .news .source-feed .article .content p {
          margin: 0;
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 500;
          font-style: normal;
          line-height: 1.25rem;
          letter-spacing: 0.035em;
          color: #333333; }

.giving {
  position: relative;
  background-color: #0a3321;
  text-align: center; }
  .giving .design-layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100%; }
    .giving .design-layer .layer {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .giving .design-layer .image {
      z-index: 10;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
    .giving .design-layer .color {
      z-index: 20;
      background-color: rgba(10, 51, 33, 0.235); }
  .giving .content-layer {
    position: relative;
    z-index: 100; }
  .giving .content-layer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    width: 100vw;
    height: 100%;
    padding: 10rem 10rem 10rem 10rem;
    background-color: rgba(10, 51, 33, 0.535);
    background-image: linear-gradient(0deg, #156140 0%, transparent 80%); }
    @media screen and (max-width: 39.9375em) {
      .giving .content-layer {
        width: 100%;
        padding: 4rem 3rem 4rem 3rem; } }
    .giving .content-layer .headline {
      margin: 0 0 1rem 0;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 3rem;
      letter-spacing: 0.085em;
      color: #d7d392; }
    .giving .content-layer .text {
      margin: 0 0 2rem 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      text-align: inherit;
      text-transform: none;
      text-decoration: none;
      line-height: 1.5rem;
      letter-spacing: 0.035em; }
    .giving .content-layer .content-button {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 0;
      padding: 0.125rem 1.5rem 0 1.5rem;
      border: 1px solid #97CA3D;
      font-family: "Vitesse", "Factoria";
      font-size: 1.375rem;
      font-weight: 700;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      text-decoration: none;
      line-height: 0.75rem;
      letter-spacing: 0.065em;
      color: white;
      background-color: rgba(255, 255, 255, 0.015);
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms;
      text-decoration: none; }
      @media screen and (max-width: 39.9375em) {
        .giving .content-layer .content-button {
          height: 5rem;
          line-height: 1.5rem;
          letter-spacing: 0.065em; } }
      .giving .content-layer .content-button:hover, .giving .content-layer .content-button:focus, .giving .content-layer .content-button:active {
        background-color: rgba(10, 51, 33, 0.535);
        cursor: pointer; }

.contact-information {
  position: relative;
  color: rgba(255, 255, 255, 0.835);
  background-color: #082818;
  background-image: url(../img/billboards/billboard.33.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center; }
  .contact-information:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    background-color: rgba(8, 40, 24, 0.435); }
  .contact-information .content-wrapper {
    position: relative;
    z-index: 20;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 50vw;
    padding: 5rem 5rem 5rem 5rem;
    background-color: rgba(8, 40, 24, 0.885);
    background-image: linear-gradient(0deg, rgba(17, 81, 53, 0.825) 0%, rgba(0, 0, 0, 0) 100%); }
    @media screen and (max-width: 39.9375em) {
      .contact-information .content-wrapper {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: stretch;
            align-items: stretch;
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 3rem 3rem 3rem 3rem;
        background-color: rgba(8, 40, 24, 0.685); } }
  .contact-information .email_label,
  .contact-information .phone_label {
    display: inline-block;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal; }
  .contact-information .phone p {
    display: inline-block; }
  .contact-information .email_link {
    display: inline-block;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    color: #d7d392; }
  .contact-information h2 {
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: auto;
    font-weight: 400;
    font-style: normal;
    color: #d7d392; }
  .contact-information p {
    margin: 0 0 2rem 0;
    padding: 0 0 0 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.5rem;
    letter-spacing: 0.025em; }
    .contact-information p:last-child {
      margin: 0 0 0 0; }
  .contact-information .social-media-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: stretch;
        align-items: stretch; }
    .contact-information .social-media-links .social-link {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 2rem;
      height: 2rem;
      margin: 0 0.5rem 0 0;
      padding: 0.5rem 0.5rem 0.5rem 0.5rem;
      background-color: rgba(255, 255, 255, 0.075);
      background-repeat: no-repeat;
      background-size: 1rem 1rem;
      background-position: center center;
      transition: all 220ms linear 0ms; }
      .contact-information .social-media-links .social-link:hover {
        transition: all 220ms linear 0ms; }
      .contact-information .social-media-links .social-link.facebook {
        background-image: url(../img/icons/social/facebook.svg); }
        .contact-information .social-media-links .social-link.facebook:hover, .contact-information .social-media-links .social-link.facebook:focus, .contact-information .social-media-links .social-link.facebook:active {
          background-color: rgba(59, 89, 152, 0.885); }
      .contact-information .social-media-links .social-link.instagram {
        position: relative;
        background-image: url(../img/icons/social/instagram_new.svg); }
        .contact-information .social-media-links .social-link.instagram:before {
          content: '';
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          z-index: -1;
          background-image: url(../img/icons/social/instagram.gradient.png);
          background-repeat: no-repeat;
          background-size: 2rem 2rem;
          opacity: 0.000;
          transition: all 220ms linear 0ms; }
        .contact-information .social-media-links .social-link.instagram:hover, .contact-information .social-media-links .social-link.instagram:focus, .contact-information .social-media-links .social-link.instagram:active {
          background-image: url(../img/icons/social/instagram_new.svg), url(../img/icons/social/instagram.gradient.png);
          background-size: 1rem 1rem, 2rem 2rem; }
          .contact-information .social-media-links .social-link.instagram:hover:before, .contact-information .social-media-links .social-link.instagram:focus:before, .contact-information .social-media-links .social-link.instagram:active:before {
            opacity: 1.000;
            transition: all 220ms linear 0ms; }
      .contact-information .social-media-links .social-link.twitter {
        background-image: url(../img/icons/social/twitter.svg); }
        .contact-information .social-media-links .social-link.twitter:hover, .contact-information .social-media-links .social-link.twitter:focus, .contact-information .social-media-links .social-link.twitter:active {
          background-color: rgba(0, 172, 237, 0.915); }
      .contact-information .social-media-links .social-link.youtube {
        background-image: url(../img/icons/social/youtube.svg); }
        .contact-information .social-media-links .social-link.youtube:hover, .contact-information .social-media-links .social-link.youtube:focus, .contact-information .social-media-links .social-link.youtube:active {
          background-color: rgba(187, 0, 0, 0.915); }
      .contact-information .social-media-links .social-link.linkedin {
        background-image: url(../img/icons/social/linkedin.svg); }
        .contact-information .social-media-links .social-link.linkedin:hover, .contact-information .social-media-links .social-link.linkedin:focus, .contact-information .social-media-links .social-link.linkedin:active {
          background-color: rgba(0, 123, 182, 0.895); }
      .contact-information .social-media-links .social-link .link-label {
        position: absolute;
        visibility: hidden; }

.contact-information {
  background-color: rgba(10, 51, 33, 0.735); }

#department_billboard {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: stretch;
      align-items: stretch;
  height: 75vh;
  min-height: 75vh;
  padding: 5rem 0 0 0;
  overflow: hidden;
  color: white; }
  @media screen and (min-width: 75em) {
    #department_billboard {
      height: 60vh;
      min-height: 60vh; } }
  @media screen and (max-width: 63.9375em) {
    #department_billboard {
      height: auto;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: stretch;
          align-items: stretch; } }
  @media screen and (max-width: 39.9375em) {
    #department_billboard {
      padding: 4rem 0 0 0; } }
  @media screen and (max-width: 39.9375em) {
    #department_billboard.has_alert {
      min-height: 80vh; } }
  #department_billboard pre {
    display: none;
    position: relative;
    z-index: 100;
    padding: 0 5rem 0 5rem; }
  #department_billboard .billboard_content {
    position: relative;
    z-index: 10;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; }
    @media screen and (max-width: 63.9375em) {
      #department_billboard .billboard_content {
        height: 75vh; } }
    #department_billboard .billboard_content.has_announcement {
      width: 70vw; }
      @media screen and (max-width: 63.9375em) {
        #department_billboard .billboard_content.has_announcement {
          width: 100vw; } }
    #department_billboard .billboard_content.expired {
      width: 100vw; }
    #department_billboard .billboard_content:before, #department_billboard .billboard_content:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
    #department_billboard .billboard_content:before {
      z-index: 10;
      background-image: linear-gradient(0deg, #022531 0%, rgba(2, 37, 49, 0.095) 100%); }
    #department_billboard .billboard_content:after {
      z-index: 20;
      background-image: linear-gradient(-15deg, #156140 0%, rgba(0, 0, 0, 0) 50%); }
  #department_billboard #homepage_title {
    position: relative;
    z-index: 200;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start;
    padding: 2rem 5rem 5rem 5rem;
    color: white; }
    @media screen and (max-width: 39.9375em) {
      #department_billboard #homepage_title {
        padding: 0 2rem 2rem 2rem; } }
    #department_billboard #homepage_title span {
      display: block; }
    #department_billboard #homepage_title .site_title {
      position: relative;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 2rem;
      font-weight: 400;
      font-style: normal;
      line-height: 2.5rem;
      letter-spacing: 0.085em;
      text-align: left;
      text-transform: uppercase;
      text-decoration: none; }
      #department_billboard #homepage_title .site_title.standalone {
        margin: 0 0 0 0; }
      #department_billboard #homepage_title .site_title.has_description {
        margin: 0 0 1rem 0; }
      #department_billboard #homepage_title .site_title:before {
        content: '';
        position: absolute;
        top: -1.5rem;
        left: 0;
        z-index: 10;
        width: 4rem;
        height: 0.125rem;
        background-color: #c0d62a; }
    #department_billboard #homepage_title .site_description {
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 500;
      font-style: normal;
      line-height: 1.25rem;
      letter-spacing: 0.065em;
      color: rgba(255, 255, 255, 0.765); }
      @media screen and (max-width: 39.9375em) {
        #department_billboard #homepage_title .site_description {
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 600;
          font-style: normal;
          line-height: 1.125rem;
          letter-spacing: 0.045em; } }
  #department_billboard #billboard_announcement {
    position: relative;
    z-index: 20;
    width: 30vw;
    height: auto;
    padding: 3rem 3rem 3rem 3rem;
    background-color: rgba(2, 37, 49, 0.875);
    box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.535); }
    @media screen and (max-width: 63.9375em) {
      #department_billboard #billboard_announcement {
        width: 100vw; } }
    #department_billboard #billboard_announcement .announcement-content {
      display: block; }
    #department_billboard #billboard_announcement .label {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 1.25rem;
      margin: 0 0 1rem 0;
      padding: 0.1875rem 0.5rem 0 0.5rem;
      font-family: "Industry";
      font-size: 0.625rem;
      font-weight: 700;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      color: white;
      background-color: rgba(227, 85, 48, 0.835); }
    #department_billboard #billboard_announcement .title {
      margin: 0 0 0.5rem 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 700;
      font-style: normal;
      color: white; }
    #department_billboard #billboard_announcement .text {
      font-family: "Industry";
      font-size: 0.75rem;
      font-weight: 500;
      font-style: normal;
      line-height: 1.125rem;
      letter-spacing: 0.045em;
      color: rgba(255, 255, 255, 0.815); }
    #department_billboard #billboard_announcement .link {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 0.75rem 0 0 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.75rem;
      letter-spacing: 0.045em;
      text-decoration: none;
      color: white;
      background-color: rgba(255, 255, 255, 0.035);
      box-shadow: 0 1rem 2.75rem 0 rgba(0, 0, 0, 0.435);
      transition: all 220ms linear 0ms; }
      #department_billboard #billboard_announcement .link:hover {
        background-color: rgba(227, 85, 48, 0.815); }

#homepage_alert {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 200;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  width: 100vw;
  height: 5rem;
  padding: 0 6rem 0 1.5rem;
  color: white;
  background-color: rgba(5, 25, 16, 0.835);
  opacity: 0.000;
  box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.415);
  transform: translate3d(0, -5rem, 0);
  transition: all 480ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  @media screen and (max-width: 39.9375em) {
    #homepage_alert {
      height: 4rem;
      padding: 1rem 5rem 1rem 1rem;
      transform: translate3d(0, -4rem, 0); } }
  #homepage_alert.activated {
    visibility: visible;
    opacity: 1.000;
    transform: translate3d(0, 0, 0);
    transition: all 480ms cubic-bezier(0.19, 1, 0.22, 1) 1200ms; }
  #homepage_alert.info {
    background-color: #349aaa; }
  #homepage_alert.alert {
    background-color: #e35530; }
  #homepage_alert.warning {
    background-color: #c0d62a; }
  #homepage_alert.good {
    background-color: #00fe6d; }
  #homepage_alert .ui_contrast {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    background-color: rgba(5, 15, 8, 0.235);
    background-image: linear-gradient(90deg, rgba(5, 15, 8, 0.215) 0%, rgba(0, 0, 0, 0) 100%); }
  #homepage_alert .alert_text {
    position: relative;
    z-index: 100; }
  #homepage_alert #dismiss_alert {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    width: 5rem;
    height: 5rem;
    padding: 2rem 2rem 2rem 2rem;
    background-color: rgba(5, 15, 8, 0.135);
    transition: all 220ms linear 0ms; }
    @media screen and (max-width: 39.9375em) {
      #homepage_alert #dismiss_alert {
        width: 4rem;
        height: 4rem;
        padding: 1.5rem 1.5rem 1.5rem 1.5rem; } }
    #homepage_alert #dismiss_alert:hover {
      cursor: pointer; }
    #homepage_alert #dismiss_alert:after {
      content: "";
      display: block;
      width: 1rem;
      height: 1rem;
      margin: 0;
      padding: 0;
      font-family: "codicons" !important;
      font-size: 1rem;
      font-weight: normal;
      font-style: normal;
      line-height: 1rem;
      text-rendering: geometricPrecision;
      color: white;
      top: 0;
      right: 0;
      z-index: 200; }
    #homepage_alert #dismiss_alert span {
      display: block;
      width: 1px;
      height: 1px;
      overflow: hidden;
      text-indent: -9999rem; }
  @media screen and (max-width: 39.9375em) {
    #homepage_alert span.alert_title, #homepage_alert span.alert_message {
      line-height: 0.5rem; } }
  #homepage_alert span.alert_title {
    position: relative;
    display: inline-block;
    height: 1rem;
    padding: 0.25rem 0 0 1.5rem;
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 700;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 0.625rem;
    letter-spacing: 0.025em; }
    @media screen and (max-width: 63.9375em) {
      #homepage_alert span.alert_title {
        padding: 0.25rem 0 0 0; } }
    @media screen and (max-width: 39.9375em) {
      #homepage_alert span.alert_title {
        display: inline;
        height: auto;
        padding: 0;
        font-family: "Industry";
        font-size: 0.625rem;
        font-weight: 700;
        font-style: normal; } }
    #homepage_alert span.alert_title:before {
      content: "";
      display: block;
      width: 1rem;
      height: 1rem;
      margin: 0;
      padding: 0;
      font-family: "codicons" !important;
      font-size: 1rem;
      font-weight: normal;
      font-style: normal;
      line-height: 1rem;
      text-rendering: geometricPrecision;
      color: rgba(255, 255, 255, 0.635);
      position: absolute;
      top: 0;
      left: 0; }
      @media screen and (max-width: 63.9375em) {
        #homepage_alert span.alert_title:before {
          display: none; } }
  #homepage_alert span.alert_message {
    font-family: "Industry";
    font-size: 0.75rem;
    font-weight: 500;
    font-style: normal; }
    @media screen and (max-width: 39.9375em) {
      #homepage_alert span.alert_message {
        font-family: "Industry";
        font-size: 0.625rem;
        font-weight: 500;
        font-style: normal;
        line-height: 0.5rem;
        letter-spacing: 0.015em; } }
  #homepage_alert .alert_link {
    color: white; }
    @media screen and (max-width: 39.9375em) {
      #homepage_alert .alert_link {
        font-family: "Industry";
        font-size: 0.625rem;
        font-weight: 500;
        font-style: normal; } }

.panel-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden; }

.panel-content {
  position: relative;
  z-index: 20;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  height: 100%; }
  @media screen and (max-width: 39.9375em) {
    .panel-content h2 {
      font-size: 1.5rem;
      text-align: center; } }
  @media screen and (max-width: 39.9375em) {
    .panel-content br {
      display: none; } }

#panel-overview {
  z-index: 90;
  height: auto;
  background-image: url(../img/billboards/dvm/dvm.billboard.02.jpg); }
  #panel-overview .panel-overlay {
    background-color: rgba(2, 37, 49, 0.785); }
  #panel-overview .panel-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    height: 100%;
    padding: 5rem 0 0 0; }
    @media screen and (max-width: 39.9375em) {
      #panel-overview .panel-content {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 2rem 0 0 0; } }
    #panel-overview .panel-content .text {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      width: 30vw;
      padding: 0 2rem 5rem 5rem; }
      @media screen and (max-width: 39.9375em) {
        #panel-overview .panel-content .text {
          width: 100%;
          padding: 0 2rem 2rem 2rem; } }
      #panel-overview .panel-content .text h3 {
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1.75rem;
        font-weight: 500;
        font-style: normal;
        line-height: 2rem;
        letter-spacing: 0.045em;
        color: #c0d62a; }
      #panel-overview .panel-content .text p {
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 500;
        font-style: normal;
        line-height: 1.25rem;
        letter-spacing: 0.035em; }
        #panel-overview .panel-content .text p:last-child {
          margin-bottom: 0; }
    #panel-overview .panel-content .callouts {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: end;
          align-items: flex-end;
      width: 70vw;
      padding: 0 5rem 5rem 0; }
      @media screen and (max-width: 39.9375em) {
        #panel-overview .panel-content .callouts {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: stretch;
              align-items: stretch;
          width: 100%;
          padding: 0 0 0 0; } }
      #panel-overview .panel-content .callouts .callout-block {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-preferred-size: 33.3333333%;
            flex-basis: 33.3333333%;
        height: 12rem;
        margin: 0 0 0 2rem;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none;
        background-color: rgba(2, 37, 49, 0.835);
        box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.685); }
        @media screen and (max-width: 39.9375em) {
          #panel-overview .panel-content .callouts .callout-block {
            margin: 0 2rem 2rem 2rem;
            padding: 2rem 1rem 2rem 1rem; } }
        @media screen and (max-width: 39.9375em) {
          #panel-overview .panel-content .callouts .callout-block br {
            display: block; } }
      #panel-overview .panel-content .callouts #ranking .number {
        font-family: "Vitesse", "Factoria";
        font-size: 5rem;
        font-weight: 600;
        font-style: normal;
        line-height: 5rem;
        letter-spacing: 0em;
        color: #c0d62a; }
      #panel-overview .panel-content .callouts #ranking .stat-label {
        font-family: "Vitesse", "Factoria";
        font-size: 0.75rem;
        font-weight: 500;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 1rem;
        letter-spacing: 0.015em;
        color: white; }
        #panel-overview .panel-content .callouts #ranking .stat-label.source {
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 0.75rem;
          font-weight: 400;
          font-style: normal; }
      #panel-overview .panel-content .callouts #specialties .number {
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 5rem;
        font-weight: 600;
        font-style: normal;
        line-height: 5rem;
        letter-spacing: 0em;
        color: white; }
      #panel-overview .panel-content .callouts #specialties .stat-label {
        font-family: "Vitesse", "Factoria";
        font-size: 0.75rem;
        font-weight: 500;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 1rem;
        letter-spacing: 0.015em;
        color: #c0d62a; }
        #panel-overview .panel-content .callouts #specialties .stat-label.source {
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 400;
          font-style: normal; }
      #panel-overview .panel-content .callouts #visits .number {
        font-family: "Vitesse", "Factoria";
        font-size: 3rem;
        font-weight: 400;
        font-style: normal;
        line-height: 3rem;
        letter-spacing: 0em;
        color: white; }
      #panel-overview .panel-content .callouts #visits .stat-label {
        font-family: "Vitesse", "Factoria";
        font-size: 0.75rem;
        font-weight: 500;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 1rem;
        letter-spacing: 0.015em;
        color: #c0d62a; }
        #panel-overview .panel-content .callouts #visits .stat-label.source {
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 400;
          font-style: normal; }

#panel-video {
  z-index: 90;
  height: auto;
  padding: 12.5vh 0 12.5vh 0;
  background-image: url(../img/billboards/dvm/dvm.billboard.01.jpg); }
  @media screen and (max-width: 39.9375em) {
    #panel-video .panel-content {
      padding: 0 2rem 0 2rem; } }
  #panel-video h2 {
    color: #156140; }
    @media screen and (max-width: 39.9375em) {
      #panel-video h2 {
        font-size: 1.5rem;
        text-align: center; } }
  #panel-video .video-container {
    width: 60vw;
    margin: 2rem 0 2rem 0; }
    @media screen and (max-width: 39.9375em) {
      #panel-video .video-container {
        width: 100%; } }
  #panel-video .program-video {
    position: relative;
    padding: 56.25% 0 0 0;
    box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.715); }
    #panel-video .program-video iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  #panel-video p {
    width: 60vw;
    font-family: "Industry";
    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    text-align: center;
    text-transform: none;
    text-decoration: none;
    color: rgba(23, 45, 42, 0.835); }
    @media screen and (max-width: 39.9375em) {
      #panel-video p {
        width: 80%; } }

#panel-highlights {
  z-index: 80;
  background-image: url(../img/billboards/billboard.00.jpg); }
  #panel-highlights .panel-overlay {
    background-color: rgba(10, 51, 33, 0.785); }

#panel-curriculum {
  z-index: 80;
  height: auto;
  padding: 0 0 0 0;
  background-image: url(../img/billboards/dvm/dvm.billboard.03.jpg); }
  #panel-curriculum .panel-overlay {
    background-color: rgba(239, 238, 218, 0.535); }
  #panel-curriculum .panel-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    padding: 8rem 10rem 8rem 10rem;
    text-align: center;
    color: #156140; }
    @media screen and (max-width: 39.9375em) {
      #panel-curriculum .panel-content {
        padding: 8rem 2.5rem 8rem 2.5rem; } }
    #panel-curriculum .panel-content p {
      width: 60vw;
      margin: 0 0 1rem 0;
      font-family: "Industry";
      font-size: 1rem;
      font-weight: 600;
      font-style: normal; }
    #panel-curriculum .panel-content .document-link {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 1rem 0 0 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.875rem;
      letter-spacing: 0.065em;
      color: #156140;
      color: white;
      background-color: #e35530;
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms; }
      #panel-curriculum .panel-content .document-link:hover {
        color: white;
        background-color: #156140; }

#panel-degrees {
  z-index: 80;
  height: auto;
  padding: 10rem 50vw 10rem 5rem;
  background-image: url(../img/billboards/dvm/dvm.billboard.01.jpg); }
  @media screen and (max-width: 39.9375em) {
    #panel-degrees {
      padding: 4rem 3rem 4rem 3rem; } }
  #panel-degrees .panel-overlay {
    background-color: rgba(8, 40, 24, 0.675); }
  #panel-degrees .panel-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: start;
        align-items: flex-start;
    text-align: left;
    text-transform: none;
    text-decoration: none; }
    #panel-degrees .panel-content h2 {
      color: #c0d62a; }
      @media screen and (max-width: 39.9375em) {
        #panel-degrees .panel-content h2 {
          text-align: left; } }
    #panel-degrees .panel-content p {
      margin: 0 0 0 0;
      font-family: "Industry";
      font-size: 1rem;
      font-weight: 600;
      font-style: normal; }
    #panel-degrees .panel-content .document-link {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 2rem 0 0 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.875rem;
      letter-spacing: 0.065em;
      color: white;
      background-color: rgba(255, 255, 255, 0.035);
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms; }
      #panel-degrees .panel-content .document-link:hover {
        background-color: #156140; }

#panel-support {
  z-index: 60;
  height: auto;
  background-image: url(../img/content/dvm/content.background.08.jpg); }
  #panel-support .panel-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: center;
        align-items: center; }
    #panel-support .panel-content .content {
      width: 50vw;
      height: 100%; }
    #panel-support .panel-content .image {
      width: 0; }
    #panel-support .panel-content .text {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: start;
          align-items: flex-start;
      padding: 12rem 5rem 12rem 5rem;
      background-color: rgba(10, 51, 33, 0.935); }
      @media screen and (max-width: 39.9375em) {
        #panel-support .panel-content .text {
          width: 100%;
          padding: 8rem 2.5rem 8rem 2.5rem; } }
      #panel-support .panel-content .text h2 {
        color: #d7d392; }
      #panel-support .panel-content .text p {
        margin: 1rem 0 0 0;
        font-family: "Industry";
        font-size: 1rem;
        font-weight: 600;
        font-style: normal;
        line-height: 1.25rem;
        letter-spacing: 0.035em; }
        #panel-support .panel-content .text p:last-child {
          margin-bottom: 0; }
        #panel-support .panel-content .text p.smaller {
          font-family: "Industry";
          font-size: 0.875rem;
          font-weight: 500;
          font-style: normal; }
      #panel-support .panel-content .text .question-link {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        height: 4rem;
        margin: 2rem 0 0 0;
        padding: 0.0625rem 1.5rem 0 1.5rem;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 0.875rem;
        letter-spacing: 0.045em;
        color: white;
        background-color: rgba(254, 254, 254, 0.035);
        box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
        transition: all 220ms linear 0ms; }
        #panel-support .panel-content .text .question-link:hover {
          background-color: #e35530; }

#panel-opportunities {
  z-index: 90;
  height: auto;
  padding: 0 0 0 0;
  background-image: url(../img/billboards/billboard.21.jpg); }
  #panel-opportunities .panel-overlay {
    background-color: rgba(227, 85, 48, 0.945);
    background-image: linear-gradient(0deg, rgba(2, 37, 49, 0) 0%, rgba(2, 37, 49, 0.435) 100%); }
  #panel-opportunities .panel-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    padding: 8rem 10rem 8rem 10rem;
    text-align: center; }
    @media screen and (max-width: 39.9375em) {
      #panel-opportunities .panel-content {
        padding: 6rem 2.5rem 6rem 2.5rem; } }
    #panel-opportunities .panel-content h2 {
      color: #d7d392; }
    #panel-opportunities .panel-content p {
      margin: 0 0 0 0;
      font-family: "Industry";
      font-size: 1rem;
      font-weight: 600;
      font-style: normal; }
    #panel-opportunities .panel-content .button-row {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
    #panel-opportunities .panel-content .document-link {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 2rem 1rem 0 1rem;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.875rem;
      letter-spacing: 0.065em;
      color: #156140;
      color: white;
      background-color: #022531;
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms; }
      #panel-opportunities .panel-content .document-link:hover {
        background-color: #349aaa; }

#panel-questions {
  z-index: 60;
  height: auto;
  background-image: url(../img/billboards/dvm/dvm.billboard.04.jpg); }
  #panel-questions .panel-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch; }
    #panel-questions .panel-content .content {
      width: 50vw;
      height: 100%; }
    #panel-questions .panel-content .image {
      width: 0; }
    #panel-questions .panel-content .text {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: start;
          align-items: flex-start;
      padding: 5rem 5rem 5rem 5rem;
      background-color: rgba(52, 154, 170, 0.935); }
      @media screen and (max-width: 39.9375em) {
        #panel-questions .panel-content .text {
          width: 100%;
          padding: 6rem 2.5rem 6rem 2.5rem; } }
      #panel-questions .panel-content .text h2 {
        text-align: left;
        color: #c0d62a; }
        #panel-questions .panel-content .text h2 br {
          display: block; }
      #panel-questions .panel-content .text p {
        margin: 1rem 0 0 0;
        font-family: "Industry";
        font-size: 1rem;
        font-weight: 600;
        font-style: normal;
        line-height: 1.25rem;
        letter-spacing: 0.035em; }
        #panel-questions .panel-content .text p:last-child {
          margin-bottom: 0; }
        #panel-questions .panel-content .text p.smaller {
          font-family: "Industry";
          font-size: 0.875rem;
          font-weight: 500;
          font-style: normal; }
      #panel-questions .panel-content .text .question-link {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        height: 4rem;
        margin: 2rem 0 0 0;
        padding: 0.0625rem 1.5rem 0 1.5rem;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 0.875rem;
        letter-spacing: 0.045em;
        color: white;
        background-color: rgba(2, 37, 49, 0.635);
        box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
        transition: all 220ms linear 0ms; }
        #panel-questions .panel-content .text .question-link:hover {
          background-color: #e35530; }

#panel-highschool {
  z-index: 90;
  height: auto;
  padding: 0 0 0 0;
  background-image: url(../img/billboards/dvm/dvm.billboard.05.jpg); }
  #panel-highschool .panel-overlay {
    background-color: #022531; }
  #panel-highschool .panel-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    padding: 8rem 5rem 8rem 5rem;
    text-align: center; }
    #panel-highschool .panel-content h2 {
      color: #d7d392; }
    #panel-highschool .panel-content p {
      margin: 0 0 0 0;
      font-family: "Industry";
      font-size: 1rem;
      font-weight: 600;
      font-style: normal; }
    #panel-highschool .panel-content .button-row {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
    #panel-highschool .panel-content .document-link {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 2rem 1rem 0 1rem;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.875rem;
      letter-spacing: 0.065em;
      color: #156140;
      color: white;
      background-color: #e35530;
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms; }
      #panel-highschool .panel-content .document-link:hover {
        background-color: #349aaa; }

#panel-application {
  display: none; }

#panel-admissions {
  display: none; }

#panel-contact {
  z-index: 100;
  height: auto;
  padding: 10rem 0 10rem 0;
  background-image: url(../img/billboards/dvm/dvm.billboard.06.jpg); }
  @media screen and (max-width: 39.9375em) {
    #panel-contact {
      padding: 4rem 0 0rem 0; } }
  #panel-contact .panel-overlay {
    background-color: rgba(239, 238, 218, 0.615); }
  #panel-contact .panel-content {
    color: #156140; }
    #panel-contact .panel-content .description-text {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      margin: 0 0 1rem 0;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal; }
      @media screen and (max-width: 39.9375em) {
        #panel-contact .panel-content .description-text {
          margin: 0 2rem 0 2rem; } }
  #panel-contact .button-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    padding: 0 4rem 0 4rem; }
    @media screen and (max-width: 39.9375em) {
      #panel-contact .button-group {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 1rem 1rem 1rem 1rem; } }
    #panel-contact .button-group .contact-button {
      position: relative;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: start;
          align-items: flex-start;
      width: calc( 25% - 2rem);
      height: 10rem;
      margin: 1rem 1rem 1rem 1rem;
      padding: 0 1rem 1rem 1rem;
      background-color: rgba(17, 81, 53, 0.875);
      background-color: rgba(2, 37, 49, 0.785);
      box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.785);
      transition: all 220ms linear 0ms; }
      @media screen and (max-width: 39.9375em) {
        #panel-contact .button-group .contact-button {
          width: calc( 100% - 2rem);
          height: 8rem; } }
      #panel-contact .button-group .contact-button:hover {
        background-color: rgba(10, 51, 33, 0.875);
        background-color: #022531; }
        #panel-contact .button-group .contact-button:hover:before {
          opacity: 0.465;
          transition: all 220ms linear 0ms; }
        #panel-contact .button-group .contact-button:hover span {
          color: #c0d62a; }
      #panel-contact .button-group .contact-button:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 0;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        opacity: 0.000;
        transition: all 220ms linear 0ms; }
      #panel-contact .button-group .contact-button span {
        position: relative;
        z-index: 10;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 1rem;
        letter-spacing: 0.045em;
        color: #d7d392;
        color: white;
        transition: all 220ms linear 0ms; }
      #panel-contact .button-group .contact-button:nth-child(1):before {
        background-image: url(../img/content/dvm/panels/contact/contact.00.jpg); }
      #panel-contact .button-group .contact-button:nth-child(2):before {
        background-image: url(../img/content/dvm/panels/contact/conact.01.jpg); }
      #panel-contact .button-group .contact-button:nth-child(3):before {
        background-image: url(../img/content/dvm/panels/contact/contact.02.jpg); }
      #panel-contact .button-group .contact-button:nth-child(4):before {
        background-image: url(../img/content/dvm/panels/contact/contact.03.jpg); }
      #panel-contact .button-group .contact-button:nth-child(5):before {
        background-image: url(../img/content/dvm/panels/contact/contact.08.jpg); }
      #panel-contact .button-group .contact-button:nth-child(6):before {
        background-image: url(../img/content/dvm/panels/contact/contact.04.jpg); }
      #panel-contact .button-group .contact-button:nth-child(7):before {
        background-image: url(../img/content/dvm/panels/contact/contact.06.jpg); }
      #panel-contact .button-group .contact-button:nth-child(8):before {
        background-image: url(../img/content/dvm/panels/contact/contact.05.jpg); }

#panel-visit {
  z-index: 80;
  height: auto;
  padding: 10rem 5rem 10rem 50vw;
  background-image: url(../img/billboards/dvm/dvm.billboard.13.jpg); }
  @media screen and (max-width: 39.9375em) {
    #panel-visit {
      padding: 6rem 2.5rem 6rem 2.5rem; } }
  #panel-visit .panel-overlay {
    background-color: rgba(8, 40, 24, 0.675); }
  #panel-visit .panel-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: end;
        align-items: flex-end;
    text-align: right;
    text-transform: none;
    text-decoration: none; }
    #panel-visit .panel-content h2 {
      color: #c0d62a; }
    #panel-visit .panel-content p {
      margin: 0 0 0 0;
      font-family: "Industry";
      font-size: 1rem;
      font-weight: 600;
      font-style: normal; }
    #panel-visit .panel-content .document-link {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 2rem 0 0 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.875rem;
      letter-spacing: 0.065em;
      color: white;
      background-color: rgba(255, 255, 255, 0.035);
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms; }
      #panel-visit .panel-content .document-link:hover {
        background-color: #156140; }

#panel-snapshot {
  z-index: 60;
  height: auto;
  background-image: url(../img/billboards/dvm/dvm.billboard.12.jpg); }
  #panel-snapshot .panel-overlay {
    background-color: rgba(10, 51, 33, 0.785); }
  #panel-snapshot .panel-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    padding: 10rem 5rem 10rem 5rem;
    text-align: center;
    text-transform: none;
    text-decoration: none;
    color: white; }
    @media screen and (max-width: 39.9375em) {
      #panel-snapshot .panel-content {
        padding: 10rem 2rem 10rem 2rem; } }
    #panel-snapshot .panel-content .content {
      width: 50vw;
      height: 100%; }
    #panel-snapshot .panel-content .text {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: start;
          align-items: flex-start;
      padding: 0 5rem 0 5rem;
      background-color: rgba(52, 154, 170, 0.935); }
      #panel-snapshot .panel-content .text h4 {
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 2.5rem;
        font-weight: 400;
        font-style: normal;
        line-height: 2rem;
        letter-spacing: 0.045em;
        color: #c0d62a; }
      #panel-snapshot .panel-content .text p {
        margin: 1rem 0 0 0;
        font-family: "Industry";
        font-size: 1rem;
        font-weight: 600;
        font-style: normal;
        line-height: 1.25rem;
        letter-spacing: 0.035em; }
        #panel-snapshot .panel-content .text p:last-child {
          margin-bottom: 0; }
        #panel-snapshot .panel-content .text p.smaller {
          font-family: "Industry";
          font-size: 0.875rem;
          font-weight: 500;
          font-style: normal; }
      #panel-snapshot .panel-content .text .question-link {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        height: 4rem;
        margin: 2rem 0 0 0;
        padding: 0.0625rem 1.5rem 0 1.5rem;
        border: 1px solid white;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        line-height: 0.875rem;
        letter-spacing: 0.045em;
        color: white; }
    #panel-snapshot .panel-content h2 {
      color: #c0d62a; }
    #panel-snapshot .panel-content p {
      margin: 0 0 0 0;
      font-family: "Industry";
      font-size: 1rem;
      font-weight: 600;
      font-style: normal; }
    #panel-snapshot .panel-content .document-link {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 4rem;
      margin: 2rem 0 0 0;
      padding: 0.0625rem 1.5rem 0 1.5rem;
      font-family: "Klavika Condensed", "Saira Condensed";
      font-size: 1rem;
      font-weight: 400;
      font-style: normal;
      text-align: inherit;
      text-transform: uppercase;
      text-decoration: none;
      line-height: 0.875rem;
      letter-spacing: 0.065em;
      color: #156140;
      color: white;
      background-color: #115135;
      box-shadow: 0 1rem 4rem 0 rgba(0, 0, 0, 0.615);
      transition: all 220ms linear 0ms; }
      #panel-snapshot .panel-content .document-link:hover {
        color: white;
        background-color: #156140; }

#site-layout.dvm {
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: auto;
  margin: 0 0 0 0; }
  .home #site-layout.dvm {
    padding: 100vh 0 0 0; }
  #site-layout.dvm.site-menu-open {
    filter: blur(16px);
    transition: all 0ms linear 0ms; }
  #site-layout.dvm #special-billboard {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: stretch;
        align-items: stretch;
    height: 100vh;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    box-shadow: 0 3rem 6rem 0 rgba(0, 0, 0, 0.635);
    filter: blur(0px);
    transition: all 0ms linear 120ms; }
    @media screen and (max-width: 74.9375em) {
      #site-layout.dvm #special-billboard {
        background-attachment: scroll;
        background-position: 80% center; } }
    #site-layout.dvm #special-billboard .billboard-overlay {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 0;
      width: 100%;
      height: 100vh;
      margin: 0;
      padding: 0;
      background-image: linear-gradient(-45deg, rgba(10, 51, 33, 0.785) 0%, transparent 50%), linear-gradient(315deg, rgba(10, 51, 33, 0.785) 0%, transparent 40%), linear-gradient(20deg, rgba(10, 51, 33, 0.785) 0%, transparent 50%); }
      @media screen and (max-width: 39.9375em) {
        #site-layout.dvm #special-billboard .billboard-overlay {
          background-image: linear-gradient(-45deg, rgba(10, 51, 33, 0.785) 0%, transparent 70%), linear-gradient(315deg, rgba(10, 51, 33, 0.785) 0%, transparent 70%), linear-gradient(10deg, #022531 0%, transparent 100%); } }
    #site-layout.dvm #special-billboard #billboard-container {
      position: relative;
      z-index: 10;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
      height: 100%;
      padding: 5rem 2rem 6rem 6rem;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 700;
      font-style: normal; }
      @media screen and (max-width: 74.9375em) {
        #site-layout.dvm #special-billboard #billboard-container {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: stretch;
              align-items: stretch;
          padding: 4rem 2rem 2rem 2rem; } }
      #site-layout.dvm #special-billboard #billboard-container #billboard-content {
        position: relative;
        z-index: 10;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: start;
            align-items: flex-start;
        width: 100%;
        height: 100%; }
        #site-layout.dvm #special-billboard #billboard-container #billboard-content .headline {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: center;
              align-items: center;
          height: 3.5rem;
          margin: 0 0 0 0;
          padding: 0.375rem 0 0 0;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 5rem;
          font-weight: 400;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 3.375rem;
          letter-spacing: 0.025em; }
          @media screen and (max-width: 74.9375em) {
            #site-layout.dvm #special-billboard #billboard-container #billboard-content .headline {
              font-family: "Klavika Condensed", "Saira Condensed";
              font-size: 3.5rem;
              font-weight: 400;
              font-style: normal; } }
          @media screen and (max-width: 39.9375em) {
            #site-layout.dvm #special-billboard #billboard-container #billboard-content .headline {
              height: auto;
              font-family: "Klavika Condensed", "Saira Condensed";
              font-size: 2.5rem;
              font-weight: 400;
              font-style: normal;
              line-height: 2.5rem; } }
        #site-layout.dvm #special-billboard #billboard-container #billboard-content .text {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: start;
              justify-content: flex-start;
          -ms-flex-align: center;
              align-items: center;
          width: 28rem;
          margin: 1.5rem 0 0 0;
          font-family: "Vitesse", "Factoria";
          font-size: 0.875rem;
          font-weight: 500;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 1.25rem;
          letter-spacing: 0.065em;
          color: #eae8c5; }
          @media screen and (max-width: 39.9375em) {
            #site-layout.dvm #special-billboard #billboard-container #billboard-content .text {
              width: auto;
              margin: 0 0 0 0;
              font-family: "Vitesse", "Factoria";
              font-size: 0.75rem;
              font-weight: 500;
              font-style: normal;
              line-height: 1rem;
              letter-spacing: 0.035em; } }
        #site-layout.dvm #special-billboard #billboard-container #billboard-content .link {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          width: 13rem;
          height: 4rem;
          margin: 1.5rem 0 0 0;
          padding: 0.0625rem 1.5rem 0 1.5rem;
          border: none;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 400;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 0.75rem;
          letter-spacing: 0.095em;
          color: white;
          background-color: #349aaa;
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
          display: none; }
          #site-layout.dvm #special-billboard #billboard-container #billboard-content .link:hover {
            background-color: #e35530; }
      #site-layout.dvm #special-billboard #billboard-container #billboard-buttons {
        position: absolute;
        right: 2rem;
        bottom: 2rem;
        z-index: 20;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: stretch;
            align-items: stretch;
        width: 22rem; }
        @media screen and (max-width: 39.9375em) {
          #site-layout.dvm #special-billboard #billboard-container #billboard-buttons {
            position: static;
            width: 100%; } }
      #site-layout.dvm #special-billboard #billboard-container .button-link {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: end;
            justify-content: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
        width: 22rem;
        height: 9rem;
        margin: 2rem 0 0 0;
        padding: 0 1.875rem 1.875rem 1rem;
        text-align: right;
        text-transform: none;
        text-decoration: none;
        text-decoration: none;
        color: white;
        background-color: rgba(255, 255, 255, 0.175);
        box-shadow: 0 1.5rem 4rem 0 rgba(0, 0, 0, 0.475);
        transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        @media screen and (max-width: 39.9375em) {
          #site-layout.dvm #special-billboard #billboard-container .button-link {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
                flex-direction: column;
            -ms-flex-pack: end;
                justify-content: flex-end;
            -ms-flex-align: start;
                align-items: flex-start;
            width: 100%;
            height: auto;
            margin: 1rem 0 0 0;
            padding: 2.25rem 1.875rem 1rem 1.5rem; } }
        #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(1) {
          background-image: linear-gradient(90deg, rgba(3, 50, 66, 0.785) 0%, rgba(3, 50, 66, 0.135) 100%); }
          #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(1):hover {
            background-color: rgba(3, 57, 76, 0.635); }
            #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(1):hover .button-title:before {
              background-color: #055d7b; }
          #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(1) .button-title:before {
            background-color: #066889; }
        #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(2) {
          background-image: linear-gradient(90deg, rgba(192, 214, 42, 0.435) 0%, rgba(192, 214, 42, 0.135) 100%); }
          #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(2):hover {
            background-color: rgba(192, 214, 42, 0.435); }
          #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(2) .button-title:before {
            background-color: #c0d62a; }
        #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(3) {
          background-image: linear-gradient(90deg, rgba(254, 119, 39, 0.615) 0%, rgba(254, 119, 39, 0.085) 100%); }
          #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(3):hover {
            background-color: rgba(254, 119, 39, 0.615); }
          #site-layout.dvm #special-billboard #billboard-container .button-link:nth-child(3) .button-title:before {
            background-color: #fe7727; }
        #site-layout.dvm #special-billboard #billboard-container .button-link .button-title {
          position: relative;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
              flex-direction: row;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: end;
              align-items: flex-end;
          margin: 0 0 0.25rem 0;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1rem;
          font-weight: 400;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 0.875rem;
          letter-spacing: 0.115em;
          color: white; }
          #site-layout.dvm #special-billboard #billboard-container .button-link .button-title:before {
            content: '';
            position: absolute;
            top: -1rem;
            right: 0.125rem;
            z-index: 1;
            width: 2rem;
            height: 0.125rem;
            background-color: white;
            transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
            @media screen and (max-width: 39.9375em) {
              #site-layout.dvm #special-billboard #billboard-container .button-link .button-title:before {
                right: auto;
                left: 0; } }
        #site-layout.dvm #special-billboard #billboard-container .button-link .button-text {
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 500;
          font-style: normal;
          line-height: 0.875rem;
          letter-spacing: 0.035em;
          color: rgba(255, 255, 255, 0.775); }
          @media screen and (max-width: 39.9375em) {
            #site-layout.dvm #special-billboard #billboard-container .button-link .button-text {
              display: none; } }
        #site-layout.dvm #special-billboard #billboard-container .button-link:hover .button-title:before {
          width: 3rem;
          transition: all 360ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
  #site-layout.dvm #dvm-content {
    position: relative;
    z-index: 5; }
    #site-layout.dvm #dvm-content a {
      text-decoration: none; }
    #site-layout.dvm #dvm-content #section-03 {
      background-color: rgba(52, 154, 170, 0.315);
      background-image: url(../img/billboards/billboard.12.jpg); }
    #site-layout.dvm #dvm-content #section-04 {
      background-color: rgba(192, 214, 42, 0.315); }
    #site-layout.dvm #dvm-content #section-05 {
      background-color: rgba(255, 255, 255, 0.055); }
    #site-layout.dvm #dvm-content #section-06 {
      background-color: rgba(2, 37, 49, 0.315); }

.dvm-content-section {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 100vh;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  box-shadow: 0 1rem 6rem 0 rgba(0, 0, 0, 0.785); }
  @media screen and (max-width: 74.9375em) {
    .dvm-content-section {
      background-attachment: scroll; } }

#homepage-toolbar {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
  height: 5rem;
  margin: 0;
  padding: 0 0 0 5rem;
  background-color: rgba(2, 37, 49, 0.835);
  color: white;
  display: none; }
  #homepage-toolbar.active {
    transform: translate3d(0, 0, 0);
    transition: all 360ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; }
  #homepage-toolbar.inactive {
    transform: translate3d(0, 100%, 0);
    transition: all 360ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; }
  #homepage-toolbar #toolbar-button {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    width: 5rem;
    height: 5rem;
    margin: 0;
    padding: 0;
    background-color: rgba(52, 154, 170, 0.105);
    transition: all 220ms linear 0ms; }
    #homepage-toolbar #toolbar-button:hover {
      background-color: rgba(255, 255, 255, 0.105); }
  #homepage-toolbar #toolbar-menu {
    width: calc( 100vw - 5rem);
    height: 5rem;
    overflow: hidden; }
    #homepage-toolbar #toolbar-menu ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      height: 5rem;
      margin: 0;
      padding: 0;
      list-style: none; }
      #homepage-toolbar #toolbar-menu ul .menu-item {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        width: auto;
        height: 5rem;
        margin: 0;
        padding: 0; }
        #homepage-toolbar #toolbar-menu ul .menu-item .menu-item-link {
          width: auto;
          height: 5rem;
          padding: 0.125rem 1.5rem 0 1.5rem;
          font-family: "Industry";
          font-size: 0.6875rem;
          font-weight: 700;
          font-style: normal;
          text-align: inherit;
          text-transform: uppercase;
          text-decoration: none;
          line-height: 0.75rem;
          letter-spacing: 0.075em;
          color: rgba(255, 255, 255, 0.315);
          background-color: rgba(255, 255, 255, 0);
          transition: all 220ms linear 0ms; }
          #homepage-toolbar #toolbar-menu ul .menu-item .menu-item-link:hover {
            color: #349aaa;
            background-color: rgba(255, 255, 255, 0.075); }
          #homepage-toolbar #toolbar-menu ul .menu-item .menu-item-link.active {
            color: #c0d62a; }

#directory {
  padding: 10rem 5rem 5rem 5rem; }

#directory,
#directory-member {
  position: relative;
  min-height: calc( 100vh - 27rem);
  font-family: "Industry";
  font-size: 0.875rem;
  font-weight: 600;
  font-style: normal;
  color: rgba(23, 45, 42, 0.735);
  background-color: white; }
  @media screen and (max-width: 39.9375em) {
    #directory,
    #directory-member {
      padding: 6rem 2rem 2rem 2rem; } }
  #directory header,
  #directory-member header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    height: 5rem; }
    @media screen and (max-width: 39.9375em) {
      #directory header,
      #directory-member header {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: start;
            align-items: flex-start;
        min-height: 3rem;
        height: auto; } }
    #directory header h1,
    #directory-member header h1 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: start;
          align-items: flex-start;
      margin: 0 0 0 0;
      line-height: 3rem;
      letter-spacing: 0.025em;
      color: rgba(2, 37, 49, 0.765); }
      @media screen and (max-width: 39.9375em) {
        #directory header h1,
        #directory-member header h1 {
          -ms-flex-item-align: start;
              align-self: flex-start;
          font-size: 1.75rem;
          line-height: 2rem; } }
      #directory header h1 span,
      #directory-member header h1 span {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        height: 0.75rem;
        margin: 0 0 0.25rem 0;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1.125rem;
        font-weight: 400;
        font-style: normal;
        line-height: 0.6875rem;
        letter-spacing: 0.035em;
        color: rgba(23, 45, 42, 0.635); }
    #directory header .open-modal-button,
    #directory-member header .open-modal-button {
      position: relative;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 2rem;
      padding: 0.0625rem 2.25rem 0 0.875rem;
      font-family: "Industry";
      font-size: 0.6875rem;
      font-weight: 700;
      font-style: normal;
      color: white;
      background-color: #e35530;
      transition: all 220ms linear 0ms; }
      @media screen and (max-width: 39.9375em) {
        #directory header .open-modal-button,
        #directory-member header .open-modal-button {
          padding: 0.0625rem 2rem 0 0.75rem;
          font-family: "Industry";
          font-size: 0.625rem;
          font-weight: 700;
          font-style: normal; }
          #directory header .open-modal-button span,
          #directory-member header .open-modal-button span {
            display: none; } }
      #directory header .open-modal-button:hover,
      #directory-member header .open-modal-button:hover {
        color: white;
        background-color: #022531; }
        #directory header .open-modal-button:hover:after,
        #directory-member header .open-modal-button:hover:after {
          color: white; }
      #directory header .open-modal-button:after,
      #directory-member header .open-modal-button:after {
        position: absolute;
        top: 0;
        right: 0;
        transition: all 220ms linear 0ms; }
    #directory header #directory-menu-button:hover:after,
    #directory-member header #directory-menu-button:hover:after {
      color: white; }
    #directory header #directory-menu-button:after,
    #directory-member header #directory-menu-button:after {
      content: "";
      display: block;
      width: 2rem;
      height: 2rem;
      margin: 0;
      padding: 0.5rem 0.75rem 0.5rem 0.25rem;
      font-family: "codicons" !important;
      font-size: 1rem;
      font-weight: normal;
      font-style: normal;
      line-height: 1rem;
      text-rendering: geometricPrecision;
      color: white; }
      @media screen and (max-width: 39.9375em) {
        #directory header #directory-menu-button:after,
        #directory-member header #directory-menu-button:after {
          top: 0.5rem;
          right: 0.5rem;
          content: "";
          display: block;
          width: 1rem;
          height: 1rem;
          margin: 0;
          padding: 0;
          font-family: "codicons" !important;
          font-size: 0.75rem;
          font-weight: normal;
          font-style: normal;
          line-height: 1rem;
          text-rendering: geometricPrecision;
          color: white; } }
    #directory header #research-topic-menu-button:hover:after,
    #directory-member header #research-topic-menu-button:hover:after {
      color: white; }
    #directory header #research-topic-menu-button:after,
    #directory-member header #research-topic-menu-button:after {
      content: "";
      display: block;
      width: 2rem;
      height: 2rem;
      margin: 0;
      padding: 0.5rem;
      font-family: "codicons" !important;
      font-size: 1rem;
      font-weight: normal;
      font-style: normal;
      line-height: 1rem;
      text-rendering: geometricPrecision;
      color: #115135;
      color: white; }
  #directory pre.hide,
  #directory-member pre.hide {
    display: none; }
  #directory .toolbar,
  #directory-member .toolbar {
    height: 5rem; }
  #directory .research-topic-menu-wrapper .research-topic-menu,
  #directory-member .research-topic-menu-wrapper .research-topic-menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -0.5rem 0 -0.5rem;
    list-style: none; }
    #directory .research-topic-menu-wrapper .research-topic-menu .menu-item,
    #directory-member .research-topic-menu-wrapper .research-topic-menu .menu-item {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 3rem;
      margin: 0 0.5rem 1rem 0.5rem; }
      #directory .research-topic-menu-wrapper .research-topic-menu .menu-item a,
      #directory-member .research-topic-menu-wrapper .research-topic-menu .menu-item a {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        width: 100%;
        height: 3rem;
        padding: 0.0625rem 1rem 0 1rem;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 600;
        font-style: normal;
        text-decoration: none;
        line-height: 0.75rem;
        letter-spacing: 0.035em;
        color: #156140;
        background-color: rgba(23, 45, 42, 0.135);
        transition: all 220ms linear 0ms; }
        #directory .research-topic-menu-wrapper .research-topic-menu .menu-item a:hover,
        #directory-member .research-topic-menu-wrapper .research-topic-menu .menu-item a:hover {
          color: white;
          background-color: #115135; }
  #directory #directory-toolbar,
  #directory-member #directory-toolbar {
    height: 10rem;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal; }
    @media screen and (max-width: 39.9375em) {
      #directory #directory-toolbar,
      #directory-member #directory-toolbar {
        height: auto; } }
    #directory #directory-toolbar .alphabet,
    #directory-member #directory-toolbar .alphabet {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 5rem;
      border-top: 1px solid rgba(23, 45, 42, 0.175);
      border-bottom: 1px solid rgba(23, 45, 42, 0.175); }
      @media screen and (max-width: 39.9375em) {
        #directory #directory-toolbar .alphabet,
        #directory-member #directory-toolbar .alphabet {
          display: block;
          padding: 1rem 0 1rem 0;
          height: auto;
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 700;
          font-style: normal;
          text-align: center; } }
      #directory #directory-toolbar .alphabet .alphabet-label,
      #directory-member #directory-toolbar .alphabet .alphabet-label {
        color: rgba(23, 45, 42, 0.375); }
        @media screen and (max-width: 39.9375em) {
          #directory #directory-toolbar .alphabet .alphabet-label,
          #directory-member #directory-toolbar .alphabet .alphabet-label {
            margin: 0 0.25rem 0 0; } }
      #directory #directory-toolbar .alphabet .alphabet-control,
      #directory-member #directory-toolbar .alphabet .alphabet-control {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        min-width: 2rem;
        height: 2rem;
        padding: 0 0.5rem 0 0.5rem;
        background-color: rgba(255, 255, 255, 0);
        transition: all 220ms linear 0ms; }
        @media screen and (max-width: 39.9375em) {
          #directory #directory-toolbar .alphabet .alphabet-control,
          #directory-member #directory-toolbar .alphabet .alphabet-control {
            padding: 0.0625rem 0.5rem 0 0.5rem; } }
        #directory #directory-toolbar .alphabet .alphabet-control:hover,
        #directory-member #directory-toolbar .alphabet .alphabet-control:hover {
          color: #97ca3d;
          background-color: #115135;
          cursor: pointer; }
        #directory #directory-toolbar .alphabet .alphabet-control.active,
        #directory-member #directory-toolbar .alphabet .alphabet-control.active {
          color: white;
          background-color: #156140; }
  #directory .directory,
  #directory-member .directory {
    width: 100% !important;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal; }
    #directory .directory thead tr,
    #directory-member .directory thead tr {
      height: 2rem; }
    #directory .directory thead th,
    #directory-member .directory thead th {
      padding: 0.125rem 0.75rem 0 0.75rem; }
    @media screen and (max-width: 39.9375em) {
      #directory .directory thead,
      #directory-member .directory thead {
        background-color: rgba(10, 51, 33, 0.915); } }
    #directory .directory .record,
    #directory-member .directory .record {
      height: 2rem;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 600;
      font-style: normal;
      line-height: inherit;
      letter-spacing: -0.005em;
      transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
      @media screen and (max-width: 39.9375em) {
        #directory .directory .record,
        #directory-member .directory .record {
          position: relative; }
          #directory .directory .record:before, #directory .directory .record:after,
          #directory-member .directory .record:before,
          #directory-member .directory .record:after {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
                flex-direction: column;
            -ms-flex-pack: center;
                justify-content: center;
            -ms-flex-align: center;
                align-items: center;
            content: inherit;
            display: block;
            width: 1.5rem;
            height: 2.3125rem;
            margin: 0;
            padding: 0.6875rem 0 0.4375rem 0.5rem;
            font-family: "codicons" !important;
            font-size: 0.5rem;
            font-weight: normal;
            font-style: normal;
            line-height: 1rem;
            text-rendering: geometricPrecision;
            color: #349AAA;
            transition: all 220ms linear 0ms; }
          #directory .directory .record:before,
          #directory-member .directory .record:before {
            opacity: 1.000; }
          #directory .directory .record:after,
          #directory-member .directory .record:after {
            opacity: 0.000; } }
      #directory .directory .record:hover,
      #directory-member .directory .record:hover {
        color: #c0d62a;
        background-color: rgba(2, 37, 49, 0.835);
        cursor: pointer; }
        @media screen and (max-width: 39.9375em) {
          #directory .directory .record:hover,
          #directory-member .directory .record:hover {
            background-color: #156140; } }
        #directory .directory .record:hover .mobile-toggle:before,
        #directory-member .directory .record:hover .mobile-toggle:before {
          color: #97ca3d; }
        #directory .directory .record:hover .email-link,
        #directory .directory .record:hover .member-link,
        #directory-member .directory .record:hover .email-link,
        #directory-member .directory .record:hover .member-link {
          color: #c0d62a;
          transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
          @media screen and (max-width: 39.9375em) {
            #directory .directory .record:hover .email-link,
            #directory .directory .record:hover .member-link,
            #directory-member .directory .record:hover .email-link,
            #directory-member .directory .record:hover .member-link {
              color: white; } }
      #directory .directory .record.parent,
      #directory-member .directory .record.parent {
        background-color: #115135; }
        #directory .directory .record.parent:hover,
        #directory-member .directory .record.parent:hover {
          color: white; }
          #directory .directory .record.parent:hover .mobile-toggle:after,
          #directory-member .directory .record.parent:hover .mobile-toggle:after {
            color: #e35530; }
          #directory .directory .record.parent:hover .member-link,
          #directory-member .directory .record.parent:hover .member-link {
            color: white;
            transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        #directory .directory .record.parent .mobile-toggle:before,
        #directory-member .directory .record.parent .mobile-toggle:before {
          opacity: 0.000; }
        #directory .directory .record.parent .mobile-toggle:after,
        #directory-member .directory .record.parent .mobile-toggle:after {
          opacity: 1.000; }
        #directory .directory .record.parent .member-link,
        #directory-member .directory .record.parent .member-link {
          color: white; }
      #directory .directory .record .mobile-toggle,
      #directory-member .directory .record .mobile-toggle {
        display: none;
        position: relative; }
        @media screen and (max-width: 39.9375em) {
          #directory .directory .record .mobile-toggle,
          #directory-member .directory .record .mobile-toggle {
            display: -ms-inline-flexbox;
            display: inline-flex;
            -ms-flex-direction: row;
                flex-direction: row;
            -ms-flex-pack: center;
                justify-content: center;
            -ms-flex-align: center;
                align-items: center;
            width: 2rem;
            height: 1.5rem; } }
        #directory .directory .record .mobile-toggle:before, #directory .directory .record .mobile-toggle:after,
        #directory-member .directory .record .mobile-toggle:before,
        #directory-member .directory .record .mobile-toggle:after {
          position: absolute;
          top: 0;
          left: 0;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          content: inherit;
          display: block;
          width: 2rem;
          height: 2.3125rem;
          margin: 0;
          padding: 0.6875rem 0 0.4375rem 0.75rem;
          font-family: "codicons" !important;
          font-size: 0.5rem;
          font-weight: normal;
          font-style: normal;
          line-height: 1rem;
          text-rendering: geometricPrecision;
          color: rgba(23, 45, 42, 0.315);
          transition: all 220ms linear 0ms; }
        #directory .directory .record .mobile-toggle:before,
        #directory-member .directory .record .mobile-toggle:before {
          content: '\ED5B';
          color: rgba(23, 45, 42, 0.315);
          opacity: 1.000; }
        #directory .directory .record .mobile-toggle:after,
        #directory-member .directory .record .mobile-toggle:after {
          content: '\ED5C';
          color: white;
          opacity: 0.000; }
      #directory .directory .record .email-link,
      #directory .directory .record .member-link,
      #directory-member .directory .record .email-link,
      #directory-member .directory .record .member-link {
        display: block;
        padding: 0.125rem 0.75rem 0rem 0.75rem;
        text-decoration: none; }
      #directory .directory .record .member-link,
      #directory-member .directory .record .member-link {
        color: #156140;
        transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        @media screen and (max-width: 39.9375em) {
          #directory .directory .record .member-link,
          #directory-member .directory .record .member-link {
            position: relative;
            display: inline-block;
            padding: 0.5625rem 0.75rem 0.4375rem 0rem; } }
      #directory .directory .record .email-link,
      #directory-member .directory .record .email-link {
        color: rgba(23, 45, 42, 0.735);
        transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    #directory .directory .link-column,
    #directory-member .directory .link-column {
      padding: 0; }
    #directory .directory tr.child,
    #directory-member .directory tr.child {
      background-color: #156140; }
      #directory .directory tr.child .dtr-details,
      #directory-member .directory tr.child .dtr-details {
        font-family: "Industry";
        font-size: 0.75rem;
        font-weight: 600;
        font-style: normal;
        color: white; }
        #directory .directory tr.child .dtr-details a,
        #directory-member .directory tr.child .dtr-details a {
          color: #97ca3d; }
  #directory #directory-fields,
  #directory-member #directory-fields {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    height: 5rem; }
    @media screen and (max-width: 39.9375em) {
      #directory #directory-fields .dataTables_length,
      #directory #directory-fields .dataTables_filter,
      #directory-member #directory-fields .dataTables_length,
      #directory-member #directory-fields .dataTables_filter {
        font-family: "Industry";
        font-size: 0.75rem;
        font-weight: 700;
        font-style: normal; } }
  #directory #directory-info,
  #directory-member #directory-info {
    height: 3rem; }
    @media screen and (max-width: 39.9375em) {
      #directory #directory-info,
      #directory-member #directory-info {
        font-family: "Industry";
        font-size: 0.6875rem;
        font-weight: 700;
        font-style: normal; } }
  #directory .dataTables_length,
  #directory-member .dataTables_length {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    height: 5rem; }
    #directory .dataTables_length label,
    #directory-member .dataTables_length label {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
    #directory .dataTables_length select,
    #directory-member .dataTables_length select {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: center;
          align-items: center;
      height: 2rem;
      margin: 0 0.5rem 0 0.5rem;
      padding: 0 0.25rem 0 0.5rem;
      border: none;
      border-radius: 0px;
      font-family: "Industry";
      font-size: 0.875rem;
      font-weight: 700;
      font-style: normal;
      text-align: center;
      text-transform: none;
      text-decoration: none;
      color: white;
      background-color: rgba(2, 37, 49, 0.835);
      background-repeat: no-repeat;
      background-size: 1.25rem 1.25rem;
      background-position: center right; }
      #directory .dataTables_length select:before,
      #directory-member .dataTables_length select:before {
        content: "";
        display: block;
        width: 1rem;
        height: 2rem;
        margin: 0;
        padding: 0.5rem 0 0.5rem 0;
        font-family: "codicons" !important;
        font-size: 1rem;
        font-weight: normal;
        font-style: normal;
        line-height: 1rem;
        text-rendering: geometricPrecision;
        color: white; }
  #directory .dataTables_filter label,
  #directory-member .dataTables_filter label {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
  #directory .dataTables_filter input,
  #directory-member .dataTables_filter input {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    height: 2rem;
    margin: 0 0 0 0.5rem;
    padding: 0 0.5rem 0 0.5rem;
    border: none;
    color: white;
    background-color: rgba(2, 37, 49, 0.835); }
  #directory .dataTables_info,
  #directory-member .dataTables_info {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    float: none;
    height: 3rem; }
  #directory #directory-controls,
  #directory-member #directory-controls {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 5rem;
    border-top: 1px solid rgba(23, 45, 42, 0.175);
    border-bottom: 1px solid rgba(23, 45, 42, 0.175);
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal; }
    @media screen and (max-width: 39.9375em) {
      #directory #directory-controls,
      #directory-member #directory-controls {
        height: 3rem; } }
    #directory #directory-controls .dataTables_paginate,
    #directory-member #directory-controls .dataTables_paginate {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      width: 50%; }
      @media screen and (max-width: 39.9375em) {
        #directory #directory-controls .dataTables_paginate,
        #directory-member #directory-controls .dataTables_paginate {
          width: 100%; } }
      #directory #directory-controls .dataTables_paginate .dataTables_previous.disabled:hover,
      #directory #directory-controls .dataTables_paginate .dataTables_next.disabled:hover,
      #directory-member #directory-controls .dataTables_paginate .dataTables_previous.disabled:hover,
      #directory-member #directory-controls .dataTables_paginate .dataTables_next.disabled:hover {
        background-color: white; }
      #directory #directory-controls .dataTables_paginate .ellipsis,
      #directory-member #directory-controls .dataTables_paginate .ellipsis {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        padding: 0 0.5rem 0 0.5rem; }
      #directory #directory-controls .dataTables_paginate .paginate_button,
      #directory-member #directory-controls .dataTables_paginate .paginate_button {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        min-width: 2rem;
        height: 2rem;
        margin: 0 0 0 0;
        padding: 0 0.5rem 0 0.5rem;
        color: rgba(23, 45, 42, 0.735);
        color: rgba(23, 45, 42, 0.735) !important;
        text-decoration: none;
        transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        #directory #directory-controls .dataTables_paginate .paginate_button:hover,
        #directory-member #directory-controls .dataTables_paginate .paginate_button:hover {
          color: #97ca3d;
          color: #97CA3D !important;
          background-color: #115135; }
        #directory #directory-controls .dataTables_paginate .paginate_button.disabled,
        #directory-member #directory-controls .dataTables_paginate .paginate_button.disabled {
          color: rgba(23, 45, 42, 0.375);
          color: rgba(23, 45, 42, 0.375) !important; }
          #directory #directory-controls .dataTables_paginate .paginate_button.disabled:hover,
          #directory-member #directory-controls .dataTables_paginate .paginate_button.disabled:hover {
            color: rgba(23, 45, 42, 0.375) !important;
            background-color: rgba(0, 0, 0, 0); }
        #directory #directory-controls .dataTables_paginate .paginate_button.current,
        #directory-member #directory-controls .dataTables_paginate .paginate_button.current {
          color: white;
          color: white !important;
          background-color: #156140;
          transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
        @media screen and (max-width: 39.9375em) {
          #directory #directory-controls .dataTables_paginate .paginate_button,
          #directory-member #directory-controls .dataTables_paginate .paginate_button {
            min-width: 1.5rem;
            height: 1.5rem;
            padding: 0.0625rem 0.5rem 0 0.5rem;
            font-family: "Industry";
            font-size: 0.75rem;
            font-weight: 700;
            font-style: normal; } }
  #directory #directory-filters,
  #directory-member #directory-filters {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: center;
        align-items: center;
    height: 5rem;
    border-top: 1px solid rgba(23, 45, 42, 0.175); }
    #directory #directory-filters .filter-label,
    #directory-member #directory-filters .filter-label {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 2rem;
      margin: 0 0.5rem 0 0;
      padding: 0.125rem 1rem 0 1rem;
      font-family: "Industry";
      font-size: 0.75rem;
      font-weight: 700;
      font-style: normal;
      color: rgba(23, 45, 42, 0.635);
      background-color: rgba(23, 45, 42, 0.085); }
    #directory #directory-filters .filter-link,
    #directory-member #directory-filters .filter-link {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      height: 2rem;
      margin: 0 0.5rem 0 0.5rem;
      padding: 0.125rem 1rem 0 1rem;
      font-family: "Industry";
      font-size: 0.75rem;
      font-weight: 700;
      font-style: normal;
      text-decoration: none;
      line-height: 0.5rem;
      letter-spacing: 0.025em;
      color: #115135;
      background-color: rgba(17, 81, 53, 0.135);
      transition: all 220ms linear 0ms; }
      #directory #directory-filters .filter-link:hover,
      #directory-member #directory-filters .filter-link:hover {
        color: white;
        background-color: #115135; }
      #directory #directory-filters .filter-link.all,
      #directory-member #directory-filters .filter-link.all {
        color: #e35530;
        background-color: rgba(227, 85, 48, 0.135); }
        #directory #directory-filters .filter-link.all:hover,
        #directory-member #directory-filters .filter-link.all:hover {
          color: white;
          background-color: #e35530; }
  #directory .directory-listing,
  #directory-member .directory-listing {
    overflow: hidden;
    padding: 10rem 5rem 5rem 5rem; }
    @media screen and (max-width: 39.9375em) {
      #directory .directory-listing,
      #directory-member .directory-listing {
        padding: 5rem 2rem 2rem 2rem;
        padding: 2rem 0 0 0; } }
    #directory .directory-listing .listing-profile,
    #directory-member .directory-listing .listing-profile {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      float: left;
      width: 16rem;
      text-align: center;
      text-transform: none;
      text-decoration: none; }
      @media screen and (max-width: 39.9375em) {
        #directory .directory-listing .listing-profile,
        #directory-member .directory-listing .listing-profile {
          min-height: 0; } }
      @media screen and (max-width: 63.9375em) {
        #directory .directory-listing .listing-profile,
        #directory-member .directory-listing .listing-profile {
          float: none;
          width: 100%;
          margin: 0 0 2rem 0; } }
      #directory .directory-listing .listing-profile span,
      #directory-member .directory-listing .listing-profile span {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
      #directory .directory-listing .listing-profile .profile-photo,
      #directory-member .directory-listing .listing-profile .profile-photo {
        width: 16rem;
        height: 16rem;
        margin: 0 0 2rem 0;
        border-radius: 32rem !important;
        background-color: rgba(2, 37, 49, 0.315);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.535); }
      #directory .directory-listing .listing-profile .profile-name,
      #directory-member .directory-listing .listing-profile .profile-name {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        margin: 0 0 1rem 0; }
        #directory .directory-listing .listing-profile .profile-name .name,
        #directory-member .directory-listing .listing-profile .profile-name .name {
          margin: 0 0 1rem 0;
          font-family: "Klavika Condensed", "Saira Condensed";
          font-size: 1.75rem;
          font-weight: 400;
          font-style: normal;
          text-align: inherit;
          text-transform: none;
          text-decoration: none;
          line-height: 1rem;
          letter-spacing: 0.045em; }
        #directory .directory-listing .listing-profile .profile-name .title,
        #directory-member .directory-listing .listing-profile .profile-name .title {
          margin: 0 0 1rem 0;
          font-family: "Industry";
          font-size: 0.75rem;
          font-weight: 700;
          font-style: normal; }
      #directory .directory-listing .listing-profile .website,
      #directory-member .directory-listing .listing-profile .website {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        height: 3rem;
        margin: 1rem 0 0 0;
        padding: 0.0625rem 0 0 0;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 1rem;
        font-weight: 400;
        font-style: normal;
        text-align: inherit;
        text-transform: uppercase;
        text-decoration: none;
        text-decoration: none;
        line-height: 0.75rem;
        letter-spacing: 0.035em;
        color: white;
        background-color: #022531;
        box-shadow: 0 1rem 2.5rem 0 rgba(0, 0, 0, 0.585);
        transition: all 220ms linear 0ms; }
        #directory .directory-listing .listing-profile .website:hover,
        #directory-member .directory-listing .listing-profile .website:hover {
          background-color: #e35530; }
    #directory .directory-listing .listing-info,
    #directory-member .directory-listing .listing-info {
      float: right;
      width: calc( 100% - 16rem);
      padding: 1rem 0 0 2rem; }
      @media screen and (max-width: 63.9375em) {
        #directory .directory-listing .listing-info,
        #directory-member .directory-listing .listing-info {
          float: none;
          width: 100%;
          padding: 0 0 0 0; } }
      #directory .directory-listing .listing-info .listing-heading,
      #directory-member .directory-listing .listing-info .listing-heading {
        display: block;
        margin: 0 0 2rem 0;
        font-family: "Klavika Condensed", "Saira Condensed";
        font-size: 2rem;
        font-weight: 400;
        font-style: normal;
        line-height: 1.25rem;
        letter-spacing: 0.045em;
        color: #156140; }
      #directory .directory-listing .listing-info .listing-group,
      #directory-member .directory-listing .listing-info .listing-group {
        margin: 0 0 1rem 0; }
      #directory .directory-listing .listing-info .entry,
      #directory .directory-listing .listing-info .interest,
      #directory-member .directory-listing .listing-info .entry,
      #directory-member .directory-listing .listing-info .interest {
        display: block;
        margin: 0 0 1rem 0;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 600;
        font-style: normal; }
        #directory .directory-listing .listing-info .entry.title,
        #directory .directory-listing .listing-info .interest.title,
        #directory-member .directory-listing .listing-info .entry.title,
        #directory-member .directory-listing .listing-info .interest.title {
          margin: 0 0 0.25rem 0;
          line-height: 1rem;
          letter-spacing: 0em; }
  #directory .developer,
  #directory-member .developer {
    position: relative;
    z-index: 200;
    color: white;
    color: #172D2A; }
    #directory .developer.hide,
    #directory-member .developer.hide {
      display: none; }

#directory-menu.directory-filter-modal {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: stretch;
      align-items: stretch;
  width: 24rem;
  background-color: rgba(10, 51, 33, 0.915);
  box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.535); }
  #directory-menu.directory-filter-modal header {
    padding: 0 0 0.5rem 0;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.25rem;
    letter-spacing: 0.035em;
    color: #d7d392; }
  #directory-menu.directory-filter-modal a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    height: 2rem;
    padding: 0 0 0 0;
    font-family: "Industry";
    font-size: 0.875rem;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    text-align: inherit;
    text-transform: capitalize;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.755);
    background-color: rgba(255, 255, 255, 0);
    transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }
    #directory-menu.directory-filter-modal a:hover {
      padding: 0 0 0 0.75rem;
      color: #d7d392;
      background-color: rgba(255, 255, 255, 0.035); }

#directory-menu.research-topic-modal {
  width: 24rem;
  background-color: rgba(2, 37, 49, 0.915);
  box-shadow: 0 1rem 3.5rem 0 rgba(0, 0, 0, 0.535); }
  #directory-menu.research-topic-modal header {
    padding: 0 0 0.5rem 0;
    font-family: "Klavika Condensed", "Saira Condensed";
    font-size: 1.5rem;
    font-weight: 400;
    font-style: normal;
    text-align: inherit;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.25rem;
    letter-spacing: 0.035em;
    color: #c0d62a; }
  #directory-menu.research-topic-modal .research-topic-menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: stretch;
        align-items: stretch;
    margin: 0 0 0 0;
    list-style: none; }
    #directory-menu.research-topic-modal .research-topic-menu li {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center;
      height: 2rem; }
      #directory-menu.research-topic-modal .research-topic-menu li:hover {
        background-color: #349aaa; }
        #directory-menu.research-topic-modal .research-topic-menu li:hover a {
          padding: 0 0 0 0.75rem;
          color: white; }
      #directory-menu.research-topic-modal .research-topic-menu li a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center;
        width: 100%;
        height: 2rem;
        padding: 0 0 0 0;
        font-family: "Industry";
        font-size: 0.875rem;
        font-weight: 700;
        font-style: normal;
        text-decoration: none;
        text-align: inherit;
        text-transform: capitalize;
        text-decoration: none;
        color: rgba(255, 255, 255, 0.755);
        background-color: rgba(255, 255, 255, 0);
        transition: all 320ms cubic-bezier(0.19, 1, 0.22, 1) 0ms; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ZtYnMudWkuY3NzIiwic291cmNlcyI6WyJjdm1icy51aS5zY3NzIiwidXRpbGl0aWVzL191dGlsaXRpZXMuc2NzcyIsInV0aWxpdGllcy92YXJpYWJsZXMuc2NzcyIsInV0aWxpdGllcy9taXhpbnMvX21peGlucy5zY3NzIiwidXRpbGl0aWVzL21peGlucy9mbGV4Ym94LnNjc3MiLCJ1dGlsaXRpZXMvbWl4aW5zL3Rvb2xib3guc2NzcyIsInV0aWxpdGllcy9taXhpbnMva2V5ZnJhbWVzLnNjc3MiLCJmcmFtZXdvcmsvX2ZyYW1ld29yay5zY3NzIiwiZnJhbWV3b3JrL3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2RpcmVjdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3R5cG9ncmFwaHkuc2NzcyIsImZyYW1ld29yay9mcmFtZXdvcmtfYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3MvX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19taXNzaW5nLWRlcGVuZGVuY2llcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL190cnVlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B1cmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcmVtb3ZlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcmVwbGFjZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RvLWxpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdXRpbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9feHktZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Zvcm1zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3JhbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbWV0ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wcm90b3R5cGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yZWxhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdGF0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdW5kZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2VwYXJhdG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCJmb250cy9fZm9udHMuc2NzcyIsImZvbnRzL2RlZmluaXRpb25zLnNjc3MiLCJmb250cy92YXJpYWJsZXMuc2NzcyIsImZvbnRzL2NvZGljb25zLnNjc3MiLCJkZXZlbG9wZXIvX2RldmVsb3Blci5zY3NzIiwiZGV2ZWxvcGVyL2JveC5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9iYXNlX2dsb2JhbC5zY3NzIiwiYmFzZS9odG1sLnNjc3MiLCJiYXNlL2JvZHkuc2NzcyIsImJhc2UvdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9wcmludC5zY3NzIiwicGx1Z2lucy9fcGx1Z2lucy5zY3NzIiwicGx1Z2lucy9wbHVnaW4uc2xpY2suc2NzcyIsInBsdWdpbnMvcGx1Z2luLnRhYmxlcHJlc3Muc2NzcyIsImxheW91dC9fbGF5b3V0LnNjc3MiLCJsYXlvdXQvbGF5b3V0Lmdsb2JhbHMuc2NzcyIsImxheW91dC9sYXlvdXQuc2l0ZS5zY3NzIiwibGF5b3V0L2xheW91dC5oZWFkZXIuc2NzcyIsImxheW91dC9sYXlvdXQuZm9vdGVyLnNjc3MiLCJjb250ZW50L19jb250ZW50LnNjc3MiLCJjb250ZW50L2hvbWVwYWdlL19ob21lcGFnZS5zY3NzIiwiY29udGVudC9ob21lcGFnZS9ob21lcGFnZS5jb250ZW50LnNjc3MiLCJjb250ZW50L2hvbWVwYWdlL2JpbGxib2FyZC9fYmlsbGJvYXJkLnNjc3MiLCJjb250ZW50L2hvbWVwYWdlL2JpbGxib2FyZC9iaWxsYm9hcmQuZ2xvYmFscy5zY3NzIiwiY29udGVudC9ob21lcGFnZS9iaWxsYm9hcmQvYmlsbGJvYXJkLmhvbWVwYWdlLnNjc3MiLCJjb250ZW50L2hvbWVwYWdlL2JpbGxib2FyZC9iaWxsYm9hcmQuc2xpZGVzLnNjc3MiLCJjb250ZW50L2hvbWVwYWdlL3NlY3Rpb25zL19zZWN0aW9ucy5zY3NzIiwiY29udGVudC9ob21lcGFnZS9zZWN0aW9ucy9zZWN0aW9uLmdsb2JhbHMuc2NzcyIsImNvbnRlbnQvaG9tZXBhZ2Uvc2VjdGlvbnMvc2VjdGlvbi5hbHVtbmkuc2NzcyIsImNvbnRlbnQvaG9tZXBhZ2Uvc2VjdGlvbnMvc2VjdGlvbi5kZWdyZWUucHJvZ3JhbXMuc2NzcyIsImNvbnRlbnQvaG9tZXBhZ2Uvc2VjdGlvbnMvc2VjdGlvbi5yZXNlYXJjaC5zY3NzIiwiY29udGVudC9ob21lcGFnZS9zZWN0aW9ucy9zZWN0aW9uLnBsYWNlcy5zY3NzIiwiY29udGVudC9ob21lcGFnZS9zZWN0aW9ucy9zZWN0aW9uLmV2ZW50cy5zY3NzIiwiY29udGVudC9ob21lcGFnZS9zZWN0aW9ucy9zZWN0aW9uLm5ld3Muc2NzcyIsImNvbnRlbnQvbGF5ZXJlZC9fbGF5ZXJlZC5zY3NzIiwiY29udGVudC9mbGV4aWJsZS9fZmxleGlibGUuc2NzcyIsImNvbnRlbnQvcHJvZ3JhbXMvX3Byb2dyYW1zLnNjc3MiLCJjb250ZW50L3Byb2dyYW1zL19hcmNoaXZlLnNjc3MiLCJjb250ZW50L3Byb2dyYW1zL19ncmlkLnNjc3MiLCJjb250ZW50L3Byb2dyYW1zL19zaW5nbGUuc2NzcyIsImNvbnRlbnQvcHJvZ3JhbXMvX2hlYWRlci5zY3NzIiwiY29udGVudC9wcm9ncmFtcy9faW50cm8uc2NzcyIsImNvbnRlbnQvcHJvZ3JhbXMvX2RlcGFydG1lbnQuc2NzcyIsImNvbnRlbnQvcHJvZ3JhbXMvX2ZhY3RzLnNjc3MiLCJjb250ZW50L3Byb2dyYW1zL19jYXJlZXJzLnNjc3MiLCJjb250ZW50L3Byb2dyYW1zL19lbXBsb3llcnMuc2NzcyIsImNvbnRlbnQvcHJvZ3JhbXMvX3Jlc2VhcmNoLnNjc3MiLCJjb250ZW50L3Byb2dyYW1zL19vcmdzLnNjc3MiLCJjb250ZW50L3Byb2dyYW1zL19maW5hbmNpYWwuc2NzcyIsImNvbnRlbnQvcHJvZ3JhbXMvX2xvY2F0aW9uLnNjc3MiLCJjb250ZW50L3Byb2dyYW1zL19hcHAtaW5mby5zY3NzIiwiY29udGVudC9wcm9ncmFtcy9fY29udGFjdC5zY3NzIiwiY29udGVudC9wcm9ncmFtcy9fZmFxcy5zY3NzIiwiY29udGVudC9wcm9ncmFtcy9fY29udGVudC5zY3NzIiwiY29udGVudC9wcm9ncmFtcy9fdHJhaW5pbmcuc2NzcyIsImNvbnRlbnQvcGxhY2VzL19wbGFjZXMuc2NzcyIsImNvbnRlbnQvcGxhY2VzL19oZWFkZXIuc2NzcyIsImNvbnRlbnQvcGxhY2VzL19ncmlkLnNjc3MiLCJjb250ZW50L3BsYWNlcy9fY29udGVudC5zY3NzIiwiY29udGVudC9wb3N0cy9fcG9zdHMuc2NzcyIsImNvbnRlbnQvcG9zdHMvcG9zdC5kZWZhdWx0LnNjc3MiLCJjb250ZW50L3Bvc3RzL3Bvc3QuYXJjaGl2ZS5uZXdzLnNjc3MiLCJjb250ZW50L3N0dWRlbnQtb3Jncy9fc3R1ZGVudC1vcmdzLnNjc3MiLCJjb250ZW50L3N0dWRlbnQtb3Jncy9faGVhZGVyLnNjc3MiLCJjb250ZW50L3N0dWRlbnQtb3Jncy9fZ3JpZC5zY3NzIiwiY29udGVudC9zdHVkZW50LW9yZ3MvX2NvbnRlbnQuc2NzcyIsImNvbnRlbnQvXzQwNC5zY3NzIiwiY29udGVudC9mb290ZXIvX2Zvb3Rlci5zY3NzIiwiY29udGVudC9mb290ZXIvYnV0dG9uLmNhbXBhaWduLnNjc3MiLCJjb250ZW50L2Zvb3Rlci9zb2NpYWwubWVkaWEuc2NzcyIsImJ1dHRvbnMvX2J1dHRvbnMuc2NzcyIsImJ1dHRvbnMvYnV0dG9uLmdsb2JhbHMuc2NzcyIsImJ1dHRvbnMvYnV0dG9uLm1lbnUuc2NzcyIsImJ1dHRvbnMvYnV0dG9uLm9wdGlvbnMuc2NzcyIsIm1lbnVzL19tZW51cy5zY3NzIiwibWVudXMvbWVudS5zaXRlLnNjc3MiLCJtZW51cy9tZW51LmJhc2Uuc2NzcyIsIm1lbnVzL21lbnUudG9vbGJhci5zY3NzIiwibWVudXMvcGFuZWxzL19wYW5lbHMuc2NzcyIsIm1lbnVzL3BhbmVscy9wYW5lbC5nbG9iYWxzLnNjc3MiLCJtZW51cy9wYW5lbHMvcGFuZWwuc2l0ZS5tZW51LnNjc3MiLCJtZW51cy9wYW5lbHMvcGFuZWwuZ2xvYmFsLm1lbnUuc2NzcyIsIm1lbnVzL3BhbmVscy9wYW5lbC5zZWFyY2guc2NzcyIsIm1lbnVzL3BhbmVscy9wYW5lbC5ldmVudHMuc2NzcyIsIm1lbnVzL3BhbmVscy9wYW5lbC5yZXNvdXJjZXMuc2NzcyIsIm1lbnVzL3BhbmVscy9wYW5lbC5zb2NpYWwubWVkaWEuc2NzcyIsIm1lbnVzL3BhbmVscy9wYW5lbC5kaXJlY3Rvcnkuc2NzcyIsIm1lbnVzL3BhbmVscy9wYW5lbC5uZXdzLnNjc3MiLCJicmFuZC9fYnJhbmQuc2NzcyIsImJyYW5kL19icmFuZC5oZWFkZXIuc2NzcyIsImJyYW5kL2JyYW5kLnBpeGVscy5zY3NzIiwiYnJhbmQvYnJhbmQuZm91bmRhdGlvbi5zY3NzIiwiYmxvY2tzL19ibG9ja3Muc2NzcyIsImJsb2Nrcy9zZWNvbmRhcnktcGFnZS1oZWFkZXIuc2NzcyIsImJsb2Nrcy9sYWJvcmF0b3J5LXBhZ2UtaGVhZGVyLnNjc3MiLCJibG9ja3MvZmxleGlibGUtcGFnZS1oZWFkZXIuc2NzcyIsImJsb2Nrcy9jYWxsLW91dC5zY3NzIiwiYmxvY2tzL2Zhc3QtZmFjdHMuc2NzcyIsImJsb2Nrcy9sYXVuY2gtcGFkcy5zY3NzIiwiYmxvY2tzL3Nwb3RsaWdodC5zY3NzIiwiYmxvY2tzL2NvbnRlbnQtd2l0aC1pbWFnZS5zY3NzIiwiYmxvY2tzL2hpZ2hsaWdodC1ncm91cC5zY3NzIiwiYmxvY2tzL3BhZ2UtcXVvdGUuc2NzcyIsImJsb2Nrcy9kdWFsLWN0YXMuc2NzcyIsImJsb2Nrcy9zb3VyY2Utc3Rvcmllcy5zY3NzIiwiYmxvY2tzL2dyb3VwLWJpb3Muc2NzcyIsImJsb2Nrcy9zaW5nbGUtY3RhLnNjc3MiLCJibG9ja3MvanVuay1kcmF3ZXIuc2NzcyIsImJsb2Nrcy9mbG9hdGVkLWltYWdlLnNjc3MiLCJibG9ja3MvdmlkZW8uc2NzcyIsImJsb2Nrcy9nZW5lcmFsLWNvbnRlbnQuc2NzcyIsImJsb2Nrcy9mbGV4aWJsZS1jdGFzLnNjc3MiLCJibG9ja3MvYWNjb3JkaW9ucy5zY3NzIiwiYmxvY2tzL25vdGlmaWNhdGlvbi5zY3NzIiwiYmxvY2tzL3Rlc3RpbW9uaWFscy5zY3NzIiwiYmxvY2tzL2ltYWdlLmFycmF5LnNjc3MiLCJibG9ja3Mvc3RhdGlzdGljcy5zY3NzIiwiYmxvY2tzL3RleHQuZWRpdG9yLnNjc3MiLCJibG9ja3Mvc3R5bGVkLmxpc3Quc2NzcyIsImJsb2Nrcy90aW1lbGluZS5zY3NzIiwiYmxvY2tzL3N0ZXBzLnNjc3MiLCJibG9ja3MvY3VzdG9tLm1lbnUuc2NzcyIsInVpLmZ4L191aS5meC5zY3NzIiwidWkuZngvdWkuZnguZ2xvYmFscy5zY3NzIiwidWkuZngvdWkuZngubWVudXMuc2NzcyIsInBhZ2VzL19wYWdlcy5zY3NzIiwicGFnZXMvcGFnZS5nbG9iYWxzLnNjc3MiLCJwYWdlcy9wYWdlLnNlY29uZGFyeS5tYWluLnNjc3MiLCJwYWdlcy9wYWdlLnNlY29uZGFyeS5kZWZhdWx0LnNjc3MiLCJwYWdlcy9wYWdlLmR2bS5mbGV4aWJsZS5zY3NzIiwicGFnZXMvcGFnZS5zbmFwc2hvdC5zY3NzIiwicGFnZXMvX3BhZ2UuZGVncHJvZy5vdmVydmlldy5zY3NzIiwiZGVwYXJ0bWVudC9fZGVwYXJ0bWVudC5zY3NzIiwiZGVwYXJ0bWVudC9kZXBhcnRtZW50LmxheW91dC5zY3NzIiwiZGVwYXJ0bWVudC9kZXBhcnRtZW50LmNvbnRlbnQuc2NzcyIsImRlcGFydG1lbnQvZGVwYXJ0bWVudC5iYW5uZXIuc2NzcyIsImRlcGFydG1lbnQvZGVwYXJ0bWVudC5kZWdyZWUucHJvZ3JhbXMuc2NzcyIsImRlcGFydG1lbnQvX2RlcGFydG1lbnQucmVzaWRlbmNpZXMuc2NzcyIsImRlcGFydG1lbnQvZGVwYXJ0bWVudC5yZXNlYXJjaC5zY3NzIiwiZGVwYXJ0bWVudC9kZXBhcnRtZW50LmV4cGVydGlzZS5zY3NzIiwiZGVwYXJ0bWVudC9kZXBhcnRtZW50Lm91dHJlYWNoLnNjc3MiLCJkZXBhcnRtZW50L2RlcGFydG1lbnQubmV3cy5zY3NzIiwiZGVwYXJ0bWVudC9kZXBhcnRtZW50LmdpdmluZy5zY3NzIiwibGFib3JhdG9yeS9fbGFib3JhdG9yeS5zY3NzIiwibGFib3JhdG9yeS9sYWJvcmF0b3J5LmFyY2hpdmUuc2NzcyIsImxhYm9yYXRvcnkvbGFib3JhdG9yeS5iaWxsYm9hcmQuc2NzcyIsImxhYm9yYXRvcnkvbGFib3JhdG9yeS5sYXlvdXQuc2NzcyIsImxhYm9yYXRvcnkvbGFib3JhdG9yeS5kZXNjcmlwdGlvbi5zY3NzIiwibGFib3JhdG9yeS9sYWJvcmF0b3J5LnJlc2VhcmNoLnNjc3MiLCJsYWJvcmF0b3J5L2xhYm9yYXRvcnkucHVibGljYXRpb25zLnNjc3MiLCJsYWJvcmF0b3J5L2xhYm9yYXRvcnkuc2xpZGVzaG93LnNjc3MiLCJsYWJvcmF0b3J5L2xhYm9yYXRvcnkuZmFjdHMuc2NzcyIsImxhYm9yYXRvcnkvbGFib3JhdG9yeS5zdGFmZi5zY3NzIiwibGFib3JhdG9yeS9sYWJvcmF0b3J5Lm5ld3Muc2NzcyIsImxhYm9yYXRvcnkvbGFib3JhdG9yeS5jb250YWN0LnNjc3MiLCJzcGVjaWFsL19zcGVjaWFsLnNjc3MiLCJzcGVjaWFsL3NwZWNpYWwubGF5b3V0LnNjc3MiLCJzcGVjaWFsL3NwZWNpYWwuYmlsbGJvYXJkLnNjc3MiLCJzcGVjaWFsL3NwZWNpYWwuZGVzY3JpcHRpb24uc2NzcyIsInNwZWNpYWwvc3BlY2lhbC5sYXVuY2hwYWRzLnNjc3MiLCJzcGVjaWFsL3NwZWNpYWwuYW5ub3VuY2VtZW50cy5zY3NzIiwic3BlY2lhbC9zcGVjaWFsLmV2ZW50cy5zY3NzIiwic3BlY2lhbC9zcGVjaWFsLm5ld3Muc2NzcyIsInNwZWNpYWwvc3BlY2lhbC5naXZpbmcuc2NzcyIsInNwZWNpYWwvc3BlY2lhbC5jb250YWN0LnNjc3MiLCJob21lcGFnZS9faG9tZXBhZ2Uuc2NzcyIsImhvbWVwYWdlL2hvbWVwYWdlLmJpbGxib2FyZC5zY3NzIiwiaG9tZXBhZ2UvaG9tZXBhZ2UuYWxlcnQuc2NzcyIsImR2bS9fZHZtLnNjc3MiLCJkdm0vcGFuZWxzL19wYW5lbHMuc2NzcyIsImR2bS9wYW5lbHMvcGFuZWwuZ2xvYmFscy5zY3NzIiwiZHZtL3BhbmVscy9wYW5lbC5vdmVydmlldy5zY3NzIiwiZHZtL3BhbmVscy9wYW5lbC52aWRlby5zY3NzIiwiZHZtL3BhbmVscy9wYW5lbC5oaWdobGlnaHRzLnNjc3MiLCJkdm0vcGFuZWxzL3BhbmVsLmN1cnJpY3VsdW0uc2NzcyIsImR2bS9wYW5lbHMvcGFuZWwuZGVncmVlcy5zY3NzIiwiZHZtL3BhbmVscy9wYW5lbC5zdXBwb3J0LnNjc3MiLCJkdm0vcGFuZWxzL3BhbmVsLm9wcG9ydHVuaXRpZXMuc2NzcyIsImR2bS9wYW5lbHMvcGFuZWwucXVlc3Rpb25zLnNjc3MiLCJkdm0vcGFuZWxzL3BhbmVsLmhpZ2hzY2hvb2wuc2NzcyIsImR2bS9wYW5lbHMvcGFuZWwuYXBwbGljYXRpb24uc2NzcyIsImR2bS9wYW5lbHMvcGFuZWwuYWRtaXNzaW9ucy5zY3NzIiwiZHZtL3BhbmVscy9wYW5lbC5jb250YWN0LnNjc3MiLCJkdm0vcGFuZWxzL3BhbmVsLnZpc2l0LnNjc3MiLCJkdm0vcGFuZWxzL3BhbmVsLnNuYXBzaG90LnNjc3MiLCJkdm0vZHZtLmxheW91dC5zY3NzIiwiZGlyZWN0b3J5L19kaXJlY3Rvcnkuc2NzcyIsImRpcmVjdG9yeS9kaXJlY3RvcnkubWFpbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHN0eWxlc2hlZXQgOjogY3ZtYnMudWkgc3R5bGVzaGVldHMgY29tcGlsZXJcblxuICAgIC8vIHZhcmlhYmxlcyArIGhlbHBlcnNcbiAgICBAaW1wb3J0ICd1dGlsaXRpZXMvdXRpbGl0aWVzJztcblxuICAgIC8vIGZvdW5kYXRpb25cbiAgICBAaW1wb3J0ICdmcmFtZXdvcmsvZnJhbWV3b3JrJztcblxuICAgIC8vIGZvbnRzXG4gICAgQGltcG9ydCAnZm9udHMvZm9udHMnO1xuXG4gICAgLy8gZGV2ZWxvcGVyXG5cdEBpbXBvcnQgJ2RldmVsb3Blci9kZXZlbG9wZXInO1xuXG4gICAgLy8gYmFzZSBlbGVtZW50c1xuICAgIEBpbXBvcnQgJ2Jhc2UvYmFzZSc7XG5cbiAgICAvLyBwbHVnaW5zXG4gICAgQGltcG9ydCAncGx1Z2lucy9wbHVnaW5zJztcblxuICAgIC8vIGxheW91dFxuICAgIEBpbXBvcnQgJ2xheW91dC9sYXlvdXQnO1xuXG4gICAgLy8gY29udGVudFxuICAgIEBpbXBvcnQgJ2NvbnRlbnQvY29udGVudCc7XG5cbiAgICAvLyBidXR0b25zXG4gICAgQGltcG9ydCAnYnV0dG9ucy9idXR0b25zJztcblxuICAgIC8vIG1lbnVzXG4gICAgQGltcG9ydCAnbWVudXMvbWVudXMnO1xuXG4gICAgLy8gYnJhbmRcbiAgICBAaW1wb3J0ICdicmFuZC9icmFuZCc7XG5cbiAgICAvLyBibG9ja3NcbiAgICBAaW1wb3J0ICdibG9ja3MvYmxvY2tzJztcblxuICAgIC8vIHVpIEZYXG4gICAgQGltcG9ydCAndWkuZngvdWkuZngnO1xuXG4gICAgLy8gcGFnZXNcbiAgICBAaW1wb3J0ICdwYWdlcy9wYWdlcyc7XG5cbiAgICAvLyBkZXBhcnRtZW50XG4gICAgQGltcG9ydCAnZGVwYXJ0bWVudC9kZXBhcnRtZW50JztcblxuICAgIC8vIGxhYm9yYXRvcnlcbiAgICBAaW1wb3J0ICdsYWJvcmF0b3J5L2xhYm9yYXRvcnknO1xuXG4gICAgLy8gc3BlY2lhbFxuICAgIEBpbXBvcnQgJ3NwZWNpYWwvc3BlY2lhbCc7XG5cbiAgICAvLyBob21lcGFnZVxuICAgIEBpbXBvcnQgJ2hvbWVwYWdlL2hvbWVwYWdlJztcblxuICAgIC8vIGR2bVxuICAgIEBpbXBvcnQgJ2R2bS9kdm0nO1xuXG4gICAgLy8gdnRoXG4gICAgLy8gQGltcG9ydCAndnRoL3Z0aCc7XG5cbiAgICAvLyBkaXJlY3RvcnlcbiAgICBAaW1wb3J0ICdkaXJlY3RvcnkvZGlyZWN0b3J5JztcbiIsIi8vIHN0eWxlc2hlZXQgOjogdXRpbGl0aWVzICsgaGVscGVyc1xuXG5cdC8vIHZhcmlhYmxlc1xuXHRAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5cdC8vIG1peGluc1xuXHRAaW1wb3J0ICdtaXhpbnMvbWl4aW5zJztcbiIsIi8vIHN0eWxlc2hlZXQgOjogdmFyaWFibGVzXG5cbi8vIGNvbG9ycy5jb2RlcGl4ZWxzXG5cblx0Ly8gaGlnaGxpZ2h0c1xuXHQkYmx1ZSBcdFx0OiAjMzBCOUY4O1xuXHQkYnJpdGVcdCAgICA6ICNBOEUzNDc7XG5cdCRzcG90aWZ5ICAgIDogIzMyQjk1NTtcblxuXHQvLyBicmFuZFxuXHQkcHgtZ3JlZW4gICA6ICMwMEZFNkQ7XG5cdCRweC1ibHVlIFx0OiAjMUM3NUJCO1xuXHQkcHgtcGluayAgICA6ICNEQjFCODk7XG5cdCRweC1wdXJwbGUgIDogIzA3NDU3MDtcblx0JHB4LW9yYW5nZSAgOiAjRUY0MTM2O1xuXHQkcHgteWVsbG93ICA6ICNGOUVDMzI7XG5cblx0Ly8gYmx1ZS5ncmVlbnNcblx0JGJnLWJhc2UgICAgOiAjMTM1MjRCO1xuXHQkYmctZGFyayAgICA6ICMwRTM3MzI7XG5cblx0Ly8gYmFja2Ryb3BzXG5cdCRhcHAtY2FudmFzIDogIzE1MUIxRTtcblxuXHQvLyB0ZXh0XG5cdCRyaXRlLWxpdGUgIDogI0RBREVFQjtcblxuLy8gY29sb3JzLmNvZGVwaXhlbC5zdGF0ZVxuXG5cdC8vIGJyYW5kXG5cdCR1c2VkLWdvbGQgIDogI0FBOTc0RDtcblx0JGZhdXgtZ29sZCAgOiAjRUFFOEM1O1xuXHQkbGl0ZS1nb2xkICA6ICNFMkRGQjI7XG5cdCRnb2xkICAgICAgIDogI0Q3RDM5Mjtcblx0JGcxNDBcdFx0OiAjMTU2MTQwO1xuXHQkZzEzNVx0XHQ6ICMxMTUxMzU7XG5cdCRkYXJrXHRcdDogIzBBMzMyMTtcblx0JG5pdGUgXHRcdDogIzA4MjgxODtcblx0JG1pZG5pdGVcdDogIzA1MTkxMDtcblx0JGRhcmstbml0ZSBcdDogIzA1MEYwODtcblxuXHQvLyBjdm1ic1xuXHQkYmx1ZSAgICAgICA6ICMzNDlBQUE7XG5cdCRiZWlnZSBcdFx0OiAjRUZFRURBO1xuXHQkcm9hcmFuZ2UgICA6ICNFMzU1MzA7XG5cdCRjdmVsbG93ICAgIDogI0MwRDYyQTtcblx0JGN2bmF2eSAgICAgOiAjMDIyNTMxO1xuXHQkbmV1dHJhbCAgICA6ICNFOEU3RTM7XG5cblx0Ly8gc3BlY2lhbHNcblx0JHRtaV9ibHVlICAgOiAjMDA5QUJGO1xuXHQkdG1pX2dyZWVuICA6ICM5M0Q1MDA7XG5cblx0Ly8gYWNjZW50IHBhbGxldHRlXG5cdCR5ZWxsb3cgICAgIDogI0QwREI0Mjtcblx0JHJlZCBcdFx0OiAjQUE0ODJFO1xuXHQkZ3JlZW4gXHRcdDogIzg1QkFBRjtcblx0JG5hdnkgXHRcdDogIzAwM0U0Njtcblx0JG9yYW5nZSBcdDogI0UxOTYzRTtcblxuXHQvLyBkYXJrIGRlc2F0dXJhdGVkIHBhbGxldGVcblx0JHllbGxvdy1tIFx0OiAjOTA5NjQwO1xuXHQkcmVkLW0gXHRcdDogIzc0M0MyRTtcblx0JGdyZWVuLW0gXHQ6ICM2OTg3ODE7XG5cdCRuYXZ5LW0gXHQ6ICMwNjI5MkU7XG5cdCRvcmFuZ2UtbVx0OiAjOTk2RjNFO1xuXG5cdC8vIGJyaWdodCBoaWdobGlnaHQgcGFsbGV0ZVxuXHQkeWVsbG93LWggXHQ6ICNFREZCNEU7XG5cdCRyZWQtaCBcdFx0OiAjRDA2MTQzO1xuXHQkZ3JlZW4taCBcdDogIzk0RDFDNDtcblx0JG5hdnktaCBcdDogIzI3NkU3Nztcblx0JG9yYW5nZS1oIFx0OiAjRkZBQzREO1xuXG5cdC8vIGNhbnZhc1xuXHQkYXBwMDVcdFx0OiAjMTcyRDJBO1xuXHQkYXBwMTBcdCBcdDogIzE2MUMxQTtcblx0JGFwcDIwIFx0XHQ6ICMxQjIxMUU7XG5cdCRhcHAzMFx0XHQ6ICMxRDI0MjE7XG5cdCRhcHA0MFx0XHQ6ICMyMzJCMjg7XG5cdCRhcHA0NSAgICAgIDogIzIxMzMyRDtcblx0JGFwcDUwXHRcdDogIzJCMzYzMTtcblx0JGFwcDYwXHRcdDogIzJGM0IzNjtcblx0JGFwcDY1IFx0XHQ6ICMyNjM4MzI7XG5cdCRhcHA3MFx0XHQ6ICMzMzQwM0E7XG5cdCRhcHA4MCBcdFx0OiAjMzk0NzQxO1xuXHQkYXBwOTBcdFx0OiAjMzQ1NzRDO1xuXG5cdC8vIHNlY29uZGFyeSB0ZW1wbGF0ZSBjb2xvcnNcblx0JHNlY190ZW1wX3doaXRlICAgICAgICA6ICNmZmZmZmY7XG5cdCRzZWNfdGVtcF9vZmZfd2hpdGUgICAgOiAjZjNmM2YzO1xuXHQkc2VjX3RlbXBfZ3JleSAgICAgICAgIDogI2VkZWRlZDtcblx0JHNlY190ZW1wX2JsYWNrICAgICAgICA6ICMwMDAwMDA7XG5cdCRzZWNfdGVtcF9icm93biAgICAgICAgOiAjNDQzNzJlO1xuXHQkc2VjX3RlbXBfbGlua19jb2xvciAgIDogIzBGNzE4RTtcblx0JHNlY190ZW1wX2xpbmtfdmlzaXRlZCA6ICMxMzcwOTQ7XG5cdCRzZWNfdGVtcF9kYXJrX2dyZWVuICAgOiAjMTYzZDIwO1xuXG5cdC8vIGRlZ3JlZSBwcm9ncmFtIGNvbG9yc1xuXHQkZGVnX3RlbXBfdGVhbCA6ICMxMjVkNzA7XG5cbi8vIHJhbmRvbXNcblxuXHQvLyBjdXN0b21zXG5cdCRob3QteWVsbG93IDogI0M0RDgyRTtcblx0JGlyb24gXHRcdDogI0NDQ0NDQztcblx0JGNoYXJjb2FsIFx0OiAjNjY2NjY2O1xuXHQkc3RlZWwgXHRcdDogIzU0NTQ1NDtcblx0JG9pbCAgICAgICAgOiAjMzMzMzMzO1xuXHQkcHJvcGVyIFx0OiAjMTQxNDE0O1xuXHQkY2FtcGFpZ24gICA6ICM5N0NBM0Q7XG5cdCRhZG1pblx0XHQ6ICMyMzI4MkQ7XG5cdCR3cCBcdFx0OiAjMDA3M0FBO1xuXHQkbGlnaHRzXHRcdDogI0YxRjFGMTtcblx0JGp1bWJvIFx0XHQ6ICM4ODg4ODg7XG5cdCRob3RzdHVmZiBcdDogIzFEMzczMjtcblx0JGRhc2hib2FyZCAgOiAjMjAyNDI4O1xuXG5cdC8vIHNvY2lhbCBtZWRpYVxuXHQkdHdpdHRlciBcdDogIzAwQUNFRDtcblx0JGZhY2Vib29rIFx0OiAjM0I1OTk4O1xuXHQkZ29vZ2xlcGx1cyA6ICNERDRCMzk7XG5cdCRwaW50ZXJlc3QgXHQ6ICNDQjIwMjc7XG5cdCRsaW5rZWRpbiBcdDogIzAwN0JCNjtcblx0JHlvdXR1YmUgXHQ6ICNCQjAwMDA7XG5cdCR2aW1lbyBcdFx0OiAjQUFENDUwO1xuXHQkdHVtYmxyIFx0OiAjMzI1MDZEO1xuXHQkaW5zdGFncmFtIFx0OiAjNTE3RkE0O1xuXHQkcGxpY2tyIFx0OiAjRjQwMDcyO1xuXHQkYmxpY2tyIFx0OiAjMUI1NkQxO1xuXG4vLyBzaG9ydGN1dHNcblxuXHQvLyBjb21tb24gdHlwb2dyYXBoeSAgc2V0dGluZ3Ncblx0JHVwIFx0ICA6IHVwcGVyY2FzZTtcblx0JGxvdyBcdCAgOiBsb3dlcmNhc2U7XG5cdCRwaXhwZXIgOiBnZW9tZXRyaWNQcmVjaXNpb247XG5cblx0Ly8gdHJhbnNpdGlvbiBob3ZlciBzdGF0ZXNcblx0JGFsbDE2MCA6IGFsbCAxNjBtcyBsaW5lYXIgMG1zO1xuXHQkYWxsMjIwIDogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cblx0Ly8gcGl4ZWwubGluZVxuXHQkbGluZXBpeGVsIDogdHJhbnNwYXJlbnRpemUoIHdoaXRlLCAwLjc2NSApO1xuXG5cdC8vIHRoZW1lLnN3YXRjaFxuXHQkdGhlbWVVSSA6IGFsbCA3MjBtcyBsaW5lYXIgMG1zICFpbXBvcnRhbnQ7XG5cblx0Ly8gYm9yZGVyc1xuXHQkYm9yZGVycyA6IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSggd2hpdGUsIDAuNjg1ICk7XG5cbi8vIGVhc2luZyBhbmltYXRpb25zXG5cblx0Ly8gT3V0Q3ViaWNcblx0JG9jdWJpYyA6IGN1YmljLWJlemllciggMC4yMTUsIDAuNjEsIDAuMzU1LCAxICk7XG5cblx0Ly8gT3V0RXhwb1xuXHQkb3V0ZXggOiBjdWJpYy1iZXppZXIoIDAuMTksIDEsIDAuMjIsIDEgKTtcblxuXHQvLyBJbk91dEV4cG9cblx0JGlvZXhwbyA6IGN1YmljLWJlemllciggMSwgMCwgMCwgMSApO1xuXG5cdC8vIE91dENpcmNcblx0JG9jaXJjICA6IGN1YmljLWJlemllciggMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcblxuXHQvLyBPdXRRdWludFxuXHQkb3F1aW4gOiBjdWJpYy1iZXppZXIoIDAuMjMsIDEsIDAuMzIsIDEgKTtcblxuXHQvLyBJbk91dFF1aW50XG5cdCRpb3F1aW4gOiBjdWJpYy1iZXppZXIoIDAuODYsIDAsIDAuMDcsIDEgKTtcblxuXG5cdC8qIENTVSBTaWduYXR1cmUgU2l6ZXNcblx0ICogYWNyb255bTogIDYwOSB4IDIyOSAtLSBtaW46IDExMyAtLSBtYXg6IDE0NlxuXHQgKiBzdGFja2VkOiAgOTI5IHggMjI5IC0tIG1pbjogMTcyIC0tIG1heDogMjIxXG5cdCAqIG9uZWxpbmU6IDE4ODMgeCAyMjkgLS0gbWluOiAzNTAgLS0gbWF4OiA0NTBcblx0ICovXG5cdCRzaWduYXR1cmVfaGVpZ2h0OiAyLjc1ZW07XG5cdCRhY3JvbnltX3dpZHRoOiA3LjMxMjVlbTtcblx0JHN0YWNrZWRfd2lkdGg6IDExLjEyNWVtO1xuXHQkb25lbGluZV93aWR0aDogMjIuNjI1ZW07XG4iLCIvLyBzdHlsZXNoZWV0IDo6IG1peGlucyBjb21waWxlclxuXG4gICAgLy8gZmxleGJveFxuICAgICAgICBAaW1wb3J0ICdmbGV4Ym94JztcblxuICAgIC8vIHRvb2xib3hcbiAgICAgICAgQGltcG9ydCAndG9vbGJveCc7XG5cbiAgICAvLyBrZXlmcmFtZXNcbiAgICAgICAgQGltcG9ydCAna2V5ZnJhbWVzJztcbiIsIi8vIHN0eWxlc2hlZXQgOjogZmxleGJveCBtaXhpbiBkZWZpbml0aW9uc1xuXG4gICAgLy8gcm93ICsgaG9yaXpvbnRhbFxuXG4gICAgICAgIC8vIGhvcml6b250YWwgcm93IC0+IHNwYWNlIGJldHdlZW4gLT4gdiArIGNlbnRlclxuICAgICAgICBAbWl4aW4gZmxleC1oLWItdi1jKCAkaW5saW5lICkge1xuXG4gICAgICAgICAgICBAaWYgJGlubGluZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBob3Jpem9udGFsIHJvdyAtPiBsZWZ0IC0+IHYgKyBjZW50ZXJcbiAgICAgICAgQG1peGluIGZsZXgtaC1zLXYtYyggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaG9yaXpvbnRhbCByb3cgLT4gbGVmdCAtPiB2ICsgdG9wXG4gICAgICAgIEBtaXhpbiBmbGV4LWgtcy12LXQoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBob3Jpem9udGFsIHJvdyAtPiBsZWZ0IC0+IHYgKyBzdHJldGNoXG4gICAgICAgIEBtaXhpbiBmbGV4LWgtcy12LXN0KCAkaW5saW5lICkge1xuXG4gICAgICAgICAgICBAaWYgJGlubGluZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaG9yaXpvbnRhbCByb3cgLT4gbGVmdCAtPiB2ICsgYm90dG9tXG4gICAgICAgIEBtaXhpbiBmbGV4LWgtcy12LWIoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaG9yaXpvbnRhbCByb3cgLT4gY2VudGVyIC0+IHYgKyBjZW50ZXJcbiAgICAgICAgQG1peGluIGZsZXgtaC1jLXYtYyggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBob3Jpem9udGFsIHJvdyAtPiByaWdodCAtPiB2ICsgY2VudGVyXG4gICAgICAgIEBtaXhpbiBmbGV4LWgtYy12LXMoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhvcml6b250YWwgcm93IC0+IHJpZ2h0IC0+IHYgKyBjZW50ZXJcbiAgICAgICAgQG1peGluIGZsZXgtaC1lLXYtYyggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhvcml6b250YWwgcm93IC0+IHJpZ2h0IC0+IHYgKyB0b3BcbiAgICAgICAgQG1peGluIGZsZXgtaC1lLXYtdCggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBob3Jpem9udGFsIHJvdyAtPiByaWdodCAtPiB2ICsgYm90dG9tXG4gICAgICAgIEBtaXhpbiBmbGV4LWgtZS12LWIoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhvcml6b250YWwgcm93IC0+IGp1c3RpZnkgLT4gdiArIHN0cmV0Y2hcbiAgICAgICAgQG1peGluIGZsZXgtaC1qLXYtcyggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhvcml6b250YWwgcm93IC0+IGp1c3RpZnkgLT4gdiArIGJvdHRvbVxuICAgICAgICBAbWl4aW4gZmxleC1oLWotdi1iKCAkaW5saW5lICkge1xuXG4gICAgICAgICAgICBAaWYgJGlubGluZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhvcml6b250YWwgcm93IC0+IGp1c3RpZnkgLT4gdiArIHRvcFxuICAgICAgICBAbWl4aW4gZmxleC1oLWotdi10KCAkaW5saW5lICkge1xuXG4gICAgICAgICAgICBAaWYgJGlubGluZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaG9yaXpvbnRhbCByb3cgLT4ganVzdGlmeSAtPiB2ICsgY2VudGVyXG4gICAgICAgIEBtaXhpbiBmbGV4LWgtai12LWMoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhvcml6b250YWwgcm93IC0+IGNlbnRlciAtPiB2ICsgdG9wXG4gICAgICAgIEBtaXhpbiBmbGV4LWgtYy12LXQoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhvcml6b250YWwgcm93IC0+IGNlbnRlciAtPiB2ICsgYm90dG9tXG4gICAgICAgIEBtaXhpbiBmbGV4LWgtYy12LWIoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBob3Jpem9udGFsIHJvdyAtPiBjZW50ZXIgLT4gdiArIHN0cmV0Y2hcbiAgICAgICAgQG1peGluIGZsZXgtaC1jLXYtc3QoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgfVxuXG4gICAgLy8gY29sdW1uICsgdmVydGljYWxcblxuICAgICAgICAvLyB2ZXJ0aWNhbCBjb2x1bW4gLT4gdG9wIC0+IGggKyBjZW50ZXJcbiAgICAgICAgQG1peGluIGZsZXgtdi10LWgtYyggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdmVydGljYWwgY29sdW1uIC0+IHRvcCAtPiBoICsgbGVmdFxuICAgICAgICBAbWl4aW4gZmxleC12LXQtaC1zKCAkaW5saW5lICkge1xuXG4gICAgICAgICAgICBAaWYgJGlubGluZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdmVydGljYWwgY29sdW1uIC0+IHRvcCAtPiBoICsgcmlnaHRcbiAgICAgICAgQG1peGluIGZsZXgtdi10LWgtZSggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB2ZXJ0aWNhbCBjb2x1bW4gLT4gdG9wIC0+IGggKyByaWdodFxuICAgICAgICBAbWl4aW4gZmxleC12LXQtaC1zdCggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHZlcnRpY2FsIGNvbHVtbiAtPiBjZW50ZXIgLT4gaCArIGNlbnRlclxuICAgICAgICBAbWl4aW4gZmxleC12LWMtaC1jKCAkaW5saW5lICkge1xuXG4gICAgICAgICAgICBAaWYgJGlubGluZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHZlcnRpY2FsIGNvbHVtbiAtPiBjZW50ZXIgLT4gaCArIGxlZnRcbiAgICAgICAgQG1peGluIGZsZXgtdi1jLWgtcyggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdmVydGljYWwgY29sdW1uIC0+IGNlbnRlciAtPiBoICsgcmlnaHRcbiAgICAgICAgQG1peGluIGZsZXgtdi1jLWgtZSggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHZlcnRpY2FsIGNvbHVtbiAtPiBjZW50ZXIgLT4gaCArIHN0cmV0Y2hcbiAgICAgICAgQG1peGluIGZsZXgtdi1jLWgtc3QoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHZlcnRpY2FsIGNvbHVtbiAtPiBib3R0b20tPiBoICsgY2VudGVyXG4gICAgICAgIEBtaXhpbiBmbGV4LXYtYi1oLWMoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB2ZXJ0aWNhbCBjb2x1bW4gLT4gYm90dG9tIC0+IGggKyBsZWZ0XG4gICAgICAgIEBtaXhpbiBmbGV4LXYtYi1oLXMoICRpbmxpbmUgKSB7XG5cbiAgICAgICAgICAgIEBpZiAkaW5saW5lIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdmVydGljYWwgY29sdW1uIC0+IGJvdHRvbSAtPiBoICsgcmlnaHRcbiAgICAgICAgQG1peGluIGZsZXgtdi1iLWgtZSggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdmVydGljYWwgY29sdW1uIC0+IGJvdHRvbSAtPiBoICsgc3RyZXRjaFxuICAgICAgICBAbWl4aW4gZmxleC12LWItaC1zdCggJGlubGluZSApIHtcblxuICAgICAgICAgICAgQGlmICRpbmxpbmUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB2ZXJ0aWNhbCBjb2x1bW4gLT4ganVzdGlmeSAtPiBoICsgc3RyZXRjaFxuICAgICAgICBAbWl4aW4gZmxleC12LWotaC1lKCAkaW5saW5lICkge1xuXG4gICAgICAgICAgICBAaWYgJGlubGluZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHZlcnRpY2FsIGNvbHVtbiAtPiBqdXN0aWZ5IC0+IGggKyByaWdodFxuICAgICAgICBAbWl4aW4gZmxleC12LWotaC1zKCAkaW5saW5lICkge1xuXG4gICAgICAgICAgICBAaWYgJGlubGluZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdmVydGljYWwgY29sdW1uIC0+IGp1c3RpZnkgLT4gaCArIHJpZ2h0XG4gICAgICAgIEBtaXhpbiBmbGV4LXYtai1oLXN0KCAkaW5saW5lICkge1xuXG4gICAgICAgICAgICBAaWYgJGlubGluZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHRvb2xib3gvdXRpbGl0eSBtaXhpbiBkZWZpbml0aW9uc1xuXG4gICAgLy8gY29kaWNvbnNcbiAgICBAbWl4aW4gY29kaWNvbiggJHdpZHRoLCAkaGVpZ2h0LCAkcGFkZGluZywgJHNpemUsICRjb2xvciwgJHVuaWNvZGUgKSB7XG5cbiAgICAgICAgY29udGVudDogJHVuaWNvZGU7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICAgICAgIGZvbnQ6IHtcblxuICAgICAgICAgICAgZmFtaWx5OiAkY29kaWNvbnMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHNpemU6ICRzaXplO1xuICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBzdHlsZTogbm9ybWFsO1xuXG4gICAgICAgIH1cblxuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcblxuICAgICAgICB0ZXh0OiB7XG5cbiAgICAgICAgICAgIHJlbmRlcmluZzogJHBpeHBlcjtcblxuICAgICAgICB9XG5cbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgIH1cblxuICAgIC8vIHNjcm9sbGJhcnNcbiAgICBAbWl4aW4gc2Nyb2xscyggJHNob3csICRzY3JvbGxiYXIsICR0aHVtYiwgJHRyYWNrICkge1xuXG4gICAgICAgIEBpZiAkc2hvdyB7XG5cbiAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAwMDtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDAuMTI1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIC8vIGhlaWdodDogMC4xMjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Nyb2xsYmFyO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3Jpem9udGFsIHtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGFsbDIyMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci1idXR0b24ge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGh1bWI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdHJhY2s7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cbiAgICAgICAgICAgICAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgICAgICAvLyBvcGFjaXR5OiAwLjAwMDtcblxuICAgICAgICAgICAgICAgIC8vIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zY3JvbGxpbmcge1xuXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4gICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNpdGlvbjogJGFsbDIyMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBzdmcgZ3JhZGllbnQgbWFnaWNcbiAgICBAbWl4aW4gbG9hZGFycm93cyggJG9wYWNpdHksICRyaWdodCwgJGxlZnQgKSB7XG5cbiAgICAgICAgLmFycm93LWxlZnQsXG4gICAgICAgIC5hcnJvdy1yaWdodCB7XG5cbiAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogJG9wYWNpdHk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA3MjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgIH1cblxuICAgICAgICAuYXJyb3ctcmlnaHQge1xuXG4gICAgICAgICAgICBmaWxsOiAkcmlnaHQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnJvdy1sZWZ0IHtcblxuICAgICAgICAgICAgZmlsbDogJGxlZnQ7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gaGlkZGVuXG4gICAgQG1peGluIGhpZGUge1xuXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICB9XG5cbiAgICAvLyBmdWxsLnNjcmVlblxuICAgIEBtaXhpbiBmdWxsc2NyZWVuKCAkcG9zaXRpb24sICRzdGFjaywgJHZpZXdwb3J0LCAkb3ZlcmZsb3cgKSB7XG5cbiAgICAgICAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgei1pbmRleDogJHN0YWNrO1xuXG4gICAgICAgIEBpZiAkdmlld3BvcnQge1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoXG5cbiAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgb3ZlcmZsb3c6ICRvdmVyZmxvdztcblxuICAgIH1cblxuICAgIC8vIGRlYnVnIGJveCBtb2RlbFxuICAgIEBtaXhpbiBib3htb2RlbCggJGR5ZSwgJGhhemUgKSB7XG5cbiAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoICRkeWUsICRoYXplICk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gYmFja2dyb3VuZCBjb2xvclxuICAgIEBtaXhpbiBjb2xvciggJGR5ZSwgJGhhemU6IDAuMDAwICkge1xuXG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSggJGR5ZSwgJGhhemUgKTtcblxuICAgIH1cblxuICAgIC8vIGJhY2tncm91bmQgY29sb3JcbiAgICBAbWl4aW4gZmlsbCggJGR5ZSwgJGhhemU6IDAuMDAwICkge1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50aXplKCAkZHllLCAkaGF6ZSApO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIGJveCBzaGFkb3dcbiAgICBAbWl4aW4gc2hhZG93Ym94KCAkeWF4LCAkYmx1ciwgJGR5ZSwgJGhhemUgKSB7XG5cbiAgICAgICAgYm94LXNoYWRvdzogMCAkeWF4ICRibHVyIDAgdHJhbnNwYXJlbnRpemUoICRkeWUsICRoYXplICk7XG5cbiAgICB9XG5cbiAgICAvLyBib3JkZXJzXG4gICAgQG1peGluIGJvcmRlciggJGhvcml6b250YWwsICR0b3AsICRyaWdodCwgJGJvdHRvbSwgJGxlZnQgKSB7XG5cbiAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIHRvcDogJHRvcDtcbiAgICAgICAgcmlnaHQ6ICRyaWdodDtcbiAgICAgICAgYm90dG9tOiAkYm90dG9tO1xuICAgICAgICBsZWZ0OiAkbGVmdDtcblxuICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICBAaWYgJGhvcml6b250YWwge1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuXG4gICAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC42ODUgKTtcblxuICAgIH1cblxuICAgIC8vIGZvbnRcbiAgICBAbWl4aW4gZm9udCggJGZhbWlseTogJGluZHVzdHJ5LCAkc2l6ZTogMXJlbSwgJHdlaWdodDogNDAwLCAkc3R5bGU6IG5vcm1hbCApIHtcblxuICAgICAgICBmb250OiB7XG5cbiAgICAgICAgICAgIGZhbWlseTogJGZhbWlseTtcbiAgICAgICAgICAgIHNpemU6ICRzaXplO1xuICAgICAgICAgICAgd2VpZ2h0OiAkd2VpZ2h0O1xuICAgICAgICAgICAgc3R5bGU6ICRzdHlsZTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyB0ZXh0XG4gICAgQG1peGluIHRleHQoICRjYXNlLCAkYWxpZ246IGluaGVyaXQsICRkZWNvOiBub25lICkge1xuXG4gICAgICAgIHRleHQ6IHtcblxuICAgICAgICAgICAgYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJGNhc2U7XG4gICAgICAgICAgICBkZWNvcmF0aW9uOiAkZGVjbztcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyB0eXBvZ3JhcGh5XG4gICAgQG1peGluIHR5cG8oICRoZWlnaHQ6IDFyZW0sICRzcGFjZTogMC4wMjVlbSApIHtcblxuICAgICAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcblxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHNwYWNlO1xuXG4gICAgfVxuXG4gICAgLy8gdHJhbnNwYXJlbnRpemVcbiAgICBAbWl4aW4gZmFkZSggJHR5cGUsICRkeWUsICRoYXplICkge1xuXG4gICAgICAgIEBpZiAkdHlwZSA9PSBmaWxsIHtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50aXplKCAkZHllLCAkaGF6ZSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSBAZWxzZSBpZiAkdHlwZSA9PSBib3JkZXIge1xuXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50aXplKCAkZHllLCAkaGF6ZSApO1xuXG4gICAgICAgIH0gQGVsc2UgaWYgJHR5cGUgPT0gdGV4dCB7XG5cbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSggJGR5ZSwgJGhhemUgKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBkcm9wIHNoYWRvd1xuICAgIEBtaXhpbiBzaGFkb3dib3hkcm9wKCAkeWF4LCAkYmx1ciwgJGR5ZSwgJGhhemUgKSB7XG5cbiAgICAgICAgLXdlYmtpdC1maWx0ZXI6XG5cbiAgICAgICAgICAgIGRyb3Atc2hhZG93KFxuXG4gICAgICAgICAgICAgICAgMCAkeWF4ICRibHVyXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRkeWUsICRoYXplIClcblxuICAgICAgICAgICAgKVxuXG4gICAgICAgIDtcblxuICAgICAgICBmaWx0ZXI6XG5cbiAgICAgICAgICAgIGRyb3Atc2hhZG93KFxuXG4gICAgICAgICAgICAgICAgMCAkeWF4ICRibHVyXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRkeWUsICRoYXplIClcblxuICAgICAgICAgICAgKVxuXG4gICAgICAgIDtcblxuICAgIH1cblxuICAgIC8vIHRleHQgc2hhZG93XG4gICAgQG1peGluIHNoYWRvd3RleHQoICR5YXgsICRibHVyLCAkZHllLCAkaGF6ZSApIHtcblxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAkeWF4ICRibHVyIHRyYW5zcGFyZW50aXplKCAkZHllLCAkaGF6ZSApO1xuXG4gICAgfVxuXG4gICAgLy8gYmFja2dyb3VuZCBpbWFnZVxuICAgIEBtaXhpbiBiYWNrZ3JvdW5kKCAkc3JjLCAkcmVwZWF0LCAkc2l6ZSwgJHBvc2l0aW9uICl7XG5cbiAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICBpbWFnZTogdXJsKCN7JHNyY30pO1xuXG4gICAgICAgICAgICBAaWYgJHJlcGVhdCB7XG5cbiAgICAgICAgICAgICAgICByZXBlYXQ6IHJlcGVhdDtcblxuICAgICAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzaXplOiAkc2l6ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gYmFja2dyb3VuZCBncmFkaWVudFxuICAgIEBtaXhpbiBncmFkaWVudCggJGFuZ2xlLCAkZHllaGVhZCwgJGhhemVoZWFkLCAkbG9jaGVhZCwgJGR5ZXRhaWwsICRoYXpldGFpbCwgJGxvY3RhaWwgKSB7XG5cbiAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICBpbWFnZTpcblxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAkYW5nbGUsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZHllaGVhZCwgJGhhemVoZWFkICkgJGxvY2hlYWQsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZHlldGFpbCwgJGhhemV0YWlsICkgJGxvY3RhaWxcblxuICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIG1lZGlhIHF1ZXJpZXNcbiAgICBAbWl4aW4gYnBvaW50KCAkcG9pbnQgKSB7XG5cbiAgICAgICAgQGlmICRwb2ludCA9PSBwaG9uZSB7XG5cbiAgICAgICAgICAgIEBtZWRpYSAoIG1pbi13aWR0aDogMzBlbSApIHtcblxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXQge1xuXG4gICAgICAgICAgICBAbWVkaWEgKCBtaW4td2lkdGg6IDQ1ZW0gKSB7XG5cbiAgICAgICAgICAgICAgICBAY29udGVudDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XG5cbiAgICAgICAgICAgIEBtZWRpYSAoIG1pbi13aWR0aDogNjBlbSApIHtcblxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRwb2ludCA9PSB3aWRlc2NyZWVuIHtcblxuICAgICAgICAgICAgQG1lZGlhICggbWluLXdpZHRoOiAxMDBlbSApIHtcblxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcblxuICAgICAgICAgICAgQG1lZGlhICggbWluLXdpZHRoOiAkcG9pbnQgKSB7XG5cbiAgICAgICAgICAgICAgICBAY29udGVudDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjoga2V5ZnJhbWVzIGRlZmluaXRpb25zXG5cbiAgICAvLyBicm93c2VyLnN5bmNcbiAgICBAa2V5ZnJhbWVzIHN5bmMtc3Bpbm5lciB7XG5cbiAgICAgICAgMCUgICB7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIGJ1dHRvbi5pblxuICAgIEBrZXlmcmFtZXMgYnV0dG9uLWluIHtcblxuICAgICAgICAwJSB7XG5cbiAgICAgICAgICAgIC8vIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMDAwO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAvLyBjb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIDUwJSB7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNzg1O1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNzY2FsZTNkKCAxLCAxLCAxICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIDEwMCUge1xuXG4gICAgICAgICAgICAvLyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAvLyBjb2xvcjogJHB4LW9yYW5nZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc4NTtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzc2NhbGUzZCggMiwgMiwgMiApO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIGJ1dHRvbi5vdXRcbiAgICBAa2V5ZnJhbWVzIGJ1dHRvbi1vdXQge1xuXG4gICAgICAgIDAlIHtcblxuICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCggMiwgMiwgMiApO1xuXG4gICAgICAgIH1cblxuICAgICAgICA1MCUge1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzc2NhbGUzZCggMSwgMSwgMSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAxMDAlIHtcblxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjAwMDtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzc2NhbGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIGJ1dHRvbi5mYWRlcmFkZVxuICAgIEBrZXlmcmFtZXMgYnV0dG9uLWZhZGVyYWRlIHtcblxuICAgICAgICAwJSB7XG5cbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIDE3JSB7XG5cbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGN2ZWxsb3c7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIDMzJSB7XG5cbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHJvYXJhbmdlO1xuXG4gICAgICAgIH1cblxuICAgICAgICA1MCUge1xuXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuXG4gICAgICAgIH1cblxuICAgICAgICA2NiUge1xuXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRnMTQwO1xuXG4gICAgICAgIH1cblxuICAgICAgICA4MyUge1xuXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbjtcblxuICAgICAgICB9XG5cbiAgICAgICAgMTAwJSB7XG5cbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBmb3VuZGF0aW9uIGZyYW1ld29yayBzdHlsZXNoZWV0IGNvbXBpbGVyXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICAgICBAaW1wb3J0ICdzZXR0aW5ncyc7XG5cbiAgICAvLyBmcmFtZXdvcmtcbiAgICAgICAgQGltcG9ydCAnZnJhbWV3b3JrX2Jhc2UnO1xuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTU3MEFDLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uO1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IHVuZGVybGluZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSggd2hpdGUsIDEuMDAwICk7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogZmFsc2U7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcml0ZS1saXRlO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50aXplKCB3aGl0ZSwgMC45NjUgKTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoIHdoaXRlLCAwLjk2NSApO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogbm9uZTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJHJpdGUtbGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAycmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI4cmVtLFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDQwO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMDtcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4vLyAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAxNDgwbXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBjdWJpYy1iZXppZXIoIDAuMjMsIDEsIDAuMzIsIDEgKTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCAkZGFyay1uaXRlLCAwLjM3NSApO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XG4kcmV2ZWFsLWJvcmRlcjogbm9uZTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoICRkYXJrLW5pdGUsIDAuOTE1ICk7XG4vLyAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSggJGN2bmF2eSwgMC45MzUgKTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCB3aGl0ZSwgMS4wMDAgKTtcbiR0YWJsZS1jb2xvci1zY2FsZTogMTUlO1xuLy8gJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWJvcmRlcjogbm9uZTtcbi8vICR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbi8vICR0YWJsZS1wYWRkaW5nOiAwLjU2MjVyZW0gMC43NXJlbSAwLjQzNzVyZW0gMC43NXJlbTtcbiR0YWJsZS1wYWRkaW5nOiAwLjEyNXJlbSAwLjc1cmVtIDByZW0gMC43NXJlbTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4vLyAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCB3aGl0ZSwgMC45NjUgKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4vLyAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSggJGRhcmssIDAuMTY1ICk7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuLy8gJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6IHdoaXRlO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcbkBpbXBvcnQgJ3VuaXQnO1xuQGltcG9ydCAndmFsdWUnO1xuQGltcG9ydCAnZGlyZWN0aW9uJztcbkBpbXBvcnQgJ2NvbG9yJztcbkBpbXBvcnQgJ3NlbGVjdG9yJztcbkBpbXBvcnQgJ2ZsZXgnO1xuQGltcG9ydCAnYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAndHlwb2dyYXBoeSc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBub3QgZmFsc2V5LCBpbiBDU1MgdGVybXMuIEZhbHNleSB2YWx1ZXMgYXJlIGBudWxsYCwgYG5vbmVgLCBgMGAgd2l0aCBhbnkgdW5pdCwgb3IgYW4gZW1wdHkgbGlzdC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICR2YWwgLSBWYWx1ZSB0byBjaGVjay5cbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWxgIGlzIG5vdCBmYWxzZXkuXG5AZnVuY3Rpb24gaGFzLXZhbHVlKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gbnVsbCBvciAkdmFsID09IG5vbmUge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIERldGVybWluZSBhIHRvcC9yaWdodC9ib3R0b20vcmlnaHQgdmFsdWUgb24gYSBwYWRkaW5nLCBtYXJnaW4sIGV0Yy4gcHJvcGVydHksIG5vIG1hdHRlciBob3cgbWFueSB2YWx1ZXMgd2VyZSBwYXNzZWQgaW4uIFVzZSB0aGlzIGZ1bmN0aW9uIGlmIHlvdSBuZWVkIHRvIGtub3cgdGhlIHNwZWNpZmljIHNpZGUgb2YgYSB2YWx1ZSwgYnV0IGRvbid0IGtub3cgaWYgdGhlIHZhbHVlIGlzIHVzaW5nIGEgc2hvcnRoYW5kIGZvcm1hdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxOdW1iZXJ9ICR2YWwgLSBWYWx1ZSB0byBhbmFseXplLiBTaG91bGQgYmUgYSBzaG9ydGhhbmQgc2l6aW5nIHByb3BlcnR5LCBlLmcuIFwiMWVtIDJlbSAxZW1cIlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRvIHJldHVybi4gU2hvdWxkIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBzaW5nbGUgdmFsdWUgYmFzZWQgb24gYCR2YWxgIGFuZCBgJHNpZGVgLlxuQGZ1bmN0aW9uIGdldC1zaWRlKCR2YWwsICRzaWRlKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcblxuICBAaWYgJGxlbmd0aCA9PSAxIHtcbiAgICBAcmV0dXJuICR2YWw7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAzIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDQge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCA0KSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbn1cblxuLy8vIEdpdmVuIGJvcmRlciAkdmFsLCBmaW5kIGEgc3BlY2lmaWMgZWxlbWVudCBvZiB0aGUgYm9yZGVyLCB3aGljaCBpcyAkZWxlbS4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgJGVsZW0gYXJlIHdpZHRoLCBzdHlsZSwgYW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsIC0gQm9yZGVyIHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIC0gQm9yZGVyIGNvbXBvbmVudCB0byBleHRyYWN0LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiB0aGUgYm9yZGVyIGRlZmluaXRpb24sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBhIDBweCB3aWR0aCwgc29saWQgc3R5bGUsIG9yIGJsYWNrIGJvcmRlci5cbkBmdW5jdGlvbiBnZXQtYm9yZGVyLXZhbHVlKCR2YWwsICRlbGVtKSB7XG4gIC8vIEZpbmQgdGhlIHdpZHRoLCBzdHlsZSwgb3IgY29sb3IgYW5kIHJldHVybiBpdFxuICBAZWFjaCAkdiBpbiAkdmFsIHtcbiAgICAkdHlwZTogdHlwZS1vZigkdik7XG4gICAgQGlmICRlbGVtID09IHdpZHRoIGFuZCAkdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gc3R5bGUgYW5kICR0eXBlID09ICdzdHJpbmcnIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBjb2xvciBhbmQgJHR5cGUgPT0gJ2NvbG9yJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmF1bHRzXG4gICRkZWZhdWx0czogKFxuICAgIHdpZHRoOiAwLFxuICAgIHN0eWxlOiBzb2xpZCxcbiAgICBjb2xvcjogIzAwMCxcbiAgKTtcblxuICBAcmV0dXJuIG1hcC1nZXQoJGRlZmF1bHRzLCAkZWxlbSk7XG59XG5cbi8vLyBGaW5kcyBhIHZhbHVlIGluIGEgbmVzdGVkIG1hcC5cbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvZGVlcC1nZXRzZXQtbWFwcy8gRGVlcCBHZXQvU2V0IGluIE1hcHNcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5cy4uLiAtIEtleXMgdG8gdXNlIHdoZW4gbG9va2luZyBmb3IgYSB2YWx1ZS5cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICB9XG4gIEByZXR1cm4gJG1hcDtcbn1cblxuLy8vIENhc3RzIGEgbWFwIGludG8gYSBsaXN0LlxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDQvMjgvY2FzdGluZy1tYXAtaW50by1saXN0L1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRGVwZW5kaW5nIG9uIHRoZSBmbGFnLCByZXR1cm5zIGVpdGhlciAka2V5cyBvciAkdmFsdWVzIG9yIGJvdGguXG5AZnVuY3Rpb24gbWFwLXRvLWxpc3QoJG1hcCwgJGtlZXA6ICdib3RoJykge1xuICAka2VlcDogaWYoaW5kZXgoJ2tleXMnICd2YWx1ZXMnLCAka2VlcCksICRrZWVwLCAnYm90aCcpO1xuXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAka2V5czogKCk7XG4gICAgJHZhbHVlczogKCk7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgICAgJGtleXM6IGFwcGVuZCgka2V5cywgJGtleSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XG4gICAgfVxuXG4gICAgQGlmICRrZWVwID09ICdrZXlzJyB7XG4gICAgICBAcmV0dXJuICRrZXlzO1xuICAgIH1cbiAgICBAZWxzZSBpZiAka2VlcCA9PSAndmFsdWVzJyB7XG4gICAgICBAcmV0dXJuICR2YWx1ZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gemlwKCRrZXlzLCAkdmFsdWVzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKHR5cGUtb2YoJG1hcCkgIT0gJ2xpc3QnLCAoJHZhbHVlLCksICRtYXApO1xuXG59XG5cbi8vLyBTYWZlbHkgcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcC5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHJldHJpZXZlIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgdGhlIG1hcCBrZXkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgdmFsdWUuXG5AZnVuY3Rpb24gbWFwLXNhZmUtZ2V0KCRtYXAsICRrZXkpIHtcbiAgQGlmICh0eXBlLW9mKCRtYXApID09ICdtYXAnIG9yICh0eXBlLW9mKCRtYXApID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRtYXApID09IDApKSB7XG4gICAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0tleTogYCN7JGtleX1gIGlzIG5vdCBhdmFpbGFibGUgaW4gYCN7JG1hcH1gJztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnYCN7JG1hcH1gIGlzIG5vdCBhIHZhbGlkIG1hcCc7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFVzZWQgZGlyZWN0aW9uIGJldHdlZW4gXCJ0b3BcIiwgXCJyaWdodFwiLCBcImJvdHRvbVwiIGFuZCBcImxlZnRcIi5cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBPcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1vcHBvc2l0ZShcbiAgJGRpclxuKSB7XG4gICRkaXJzOiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KTtcbiAgJHBsYWNlOiBpbmRleCgkZGlycywgJGRpcik7XG5cbiAgQGlmICRwbGFjZSA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ2RpcmVjdGlvbi1vcHBvc2l0ZTogSW52YWxpZCAkZGlyIHBhcmFtZXRlciwgZXhwZWN0ZWQgYSB2YWx1ZSBmcm9tIFwiI3skZGlyc31cIiwgZm91bmQgXCIjeyRkaXJ9XCIuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDYWxjdWwgdGhlIG9wcG9zaXRlIHBsYWNlIGluIGEgY2lyY2xlLCB3aXRoIGEgc3RhcnRpbmcgaW5kZXggb2YgMVxuICAkbGVuZ3RoOiBsZW5ndGgoJGRpcnMpO1xuICAkZGVtaTogJGxlbmd0aCAvIDI7XG4gICRvcHBvc2l0ZS1wbGFjZTogKCgkcGxhY2UgKyAkZGVtaSAtIDEpICUgJGxlbmd0aCkgKyAxO1xuXG4gIEByZXR1cm4gbnRoKCRkaXJzLCAkb3Bwb3NpdGUtcGxhY2UpO1xufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBHZW5lcmF0ZXMgYSBzZWxlY3RvciB3aXRoIGV2ZXJ5IHRleHQgaW5wdXQgdHlwZS4gWW91IGNhbiBhbHNvIGZpbHRlciB0aGUgbGlzdCB0byBvbmx5IG91dHB1dCBhIHN1YnNldCBvZiB0aG9zZSBzZWxlY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8S2V5d29yZH0gJHR5cGVzIFsoKV0gLSBBIGxpc3Qgb2YgdGV4dCBpbnB1dCB0eXBlcyB0byB1c2UuIExlYXZlIGJsYW5rIHRvIHVzZSBhbGwgb2YgdGhlbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtb2RpZmllciBbJyddIC0gQSBtb2RpZmllciB0byBiZSBhcHBsaWVkIHRvIGVhY2ggdGV4dCBpbnB1dCB0eXBlIChlLmcuIGEgY2xhc3Mgb3IgYSBwc2V1ZG8tY2xhc3MpLiBMZWF2ZSBibGFuayB0byBpZ25vcmUuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoJHR5cGVzOiAoKSwgJG1vZGlmaWVyOiAnJykge1xuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3I7XG5cbiAgQGlmIG5vdCBoYXMtdmFsdWUoJHR5cGVzKSB7XG4gICAgJHR5cGVzOiAkYWxsLXR5cGVzO1xuICB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnW3R5cGU9XFwnI3skdHlwZX1cXCddI3skbW9kaWZpZXJ9JyksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiQtemYtZm9udC1zdGFjazogKFxuICAnZ2VvcmdpYSc6IChHZW9yZ2lhLCBcIlVSVyBCb29rbWFuIExcIiwgc2VyaWYpLFxuICAnaGVsdmV0aWNhJzogKEhlbHZldGljYSwgQXJpYWwsIFwiTmltYnVzIFNhbnMgTFwiLCBzYW5zLXNlcmlmKSxcbiAgJ2x1Y2lkYS1ncmFuZGUnOiAoXCJMdWNpZGEgR3JhbmRlXCIsIFwiTHVjaWRhIFNhbnMgVW5pY29kZVwiLCBcIkJpdHN0cmVhbSBWZXJhIFNhbnNcIiwgc2Fucy1zZXJpZiksXG4gICdtb25vc3BhY2UnOiAoXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBcIk5pbWJ1cyBTYW5zIExcIiwgbW9ub3NwYWNlKSxcbiAgJ3N5c3RlbSc6ICgtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpLFxuICAndmVyZGFuYSc6IChWZXJkYW5hLCBHZW5ldmEsIFwiRGVqYVZ1IFNhbnNcIiwgc2Fucy1zZXJpZiksXG4pO1xuXG4vLy8gUmV0dXJuIGEgZm9udCBzdGFjayBsaXN0IGZyb20gYSBtYXAuIEVxdWl2YWxlbnQgdG8gYG1hcC1zYWZlLWdldCgkbmFtZSwgJC16Zi1mb250LXN0YWNrKWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIC0gTmFtZSBvZiB0aGUgZm9udCBzdGFjay5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCBbJC16Zi1mb250LXN0YWNrXSAtIE1hcCBvZiBmb250IHN0YWNrcyB0byByZXRyaWV2ZSBhIGxpc3QgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCBmb250IHN0YWNrLlxuQGZ1bmN0aW9uIGZvbnQtc3RhY2soJHN0YWNrLCAkbWFwOiAkLXpmLWZvbnQtc3RhY2spIHtcbiAgQHJldHVybiBtYXAtc2FmZS1nZXQoJG1hcCwgJHN0YWNrKTtcbn1cbiIsIi8vIHN0eWxlc2hlZXQgOjogZnJhbWV3b3JrIGltcG9ydHNcblxuICAgIC8vIEBpbXBvcnQgJ3NldHRpbmdzJztcbiAgICBAaW1wb3J0ICdmb3VuZGF0aW9uJztcblxuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgICAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5cbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgICAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgICAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgICAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICAgIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgICAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuXG4gICAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuIiwiQGltcG9ydCAnbm9ybWFsaXplL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdub3JtYWxpemUvdmVydGljYWwtcmh5dGhtJztcbkBpbXBvcnQgJ25vcm1hbGl6ZS9ub3JtYWxpemUtbWl4aW4nO1xuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCRmdW5jdGlvbnNgIGV4aXN0IGluIGdsb2JhbCBzY29wZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdMaXN0fSAkZnVuY3Rpb25zIC0gbGlzdCBvZiBmdW5jdGlvbnMgdG8gY2hlY2sgZm9yXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfSBXaGV0aGVyIG9yIG5vdCB0aGVyZSBhcmUgbWlzc2luZyBkZXBlbmRlbmNpZXNcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCRmdW5jdGlvbnMuLi4pIHtcbiAgJG1pc3NpbmctZGVwZW5kZW5jaWVzOiAoKTtcbiAgXG4gIEBlYWNoICRmdW5jdGlvbiBpbiAkZnVuY3Rpb25zIHtcbiAgICBAaWYgbm90IGZ1bmN0aW9uLWV4aXN0cygkZnVuY3Rpb24pIHtcbiAgICAgICRtaXNzaW5nLWRlcGVuZGVuY2llczogYXBwZW5kKCRtaXNzaW5nLWRlcGVuZGVuY2llcywgJGZ1bmN0aW9uLCBjb21tYSk7XG4gICAgfVxuICB9XG4gIFxuICBAaWYgbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwIHtcbiAgICBAZXJyb3IgJ1VubWV0IGRlcGVuZGVuY2llcyEgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIHJlcXVpcmVkOiAjeyRtaXNzaW5nLWRlcGVuZGVuY2llc30uJztcbiAgfVxuXG4gIEByZXR1cm4gbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwO1xufVxuIiwiLy8vXG4vLy8gUmV0dXJucyB0cnV0aGluZXNzIG9mIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNoZWNrXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtaXMtdHJ1ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpZigkdmFsdWUgPT0gbnVsbCwgZmFsc2UsICR2YWx1ZSBhbmQgJHZhbHVlICE9IG51bGwgYW5kICR2YWx1ZSAhPSAnJyBhbmQgJHZhbHVlICE9ICgpKTtcbn1cbiIsIi8vL1xuLy8vIFJldHVybnMgd2hldGhlciBgJGxpc3RgIGNvbnRhaW5zIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLWNvbnRhaW5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgIC0gbGlzdCB0byBjaGVja1xuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlIC0gdmFsdWUgdG8gbG9vayBmb3Jcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtY29udGFpbihhIGIgYywgYSlcbi8vLyAvLyB0cnVlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLWNvbnRhaW4oYSBiIGMsIHopXG4vLy8gLy8gZmFsc2Vcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLWNvbnRhaW4oJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIG5vdCBub3QgaW5kZXgoJGxpc3QsICR2YWx1ZSk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1jb250YWluXG4vLy8gQGFsaWFzIHNsLWNvbnRhaW5cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWluY2x1ZGUoJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLWNvbnRhaW4oJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLy8gUmVtb3ZlcyBhbGwgZmFsc2UgYW5kIG51bGwgdmFsdWVzIGZyb20gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1wdXJnZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIGxpc3QgdG8gcHVyZ2Vcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcHVyZ2UobnVsbCBhIGZhbHNlIGIpXG4vLy8gLy8gYSBiXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1wdXJnZSgkbGlzdCkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLWlzLXRydWUnLCAnc2wtdG8tbGlzdCcpO1xuICBcbiAgJHJlc3VsdDogKCk7XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBzbC1pcy10cnVlKCRpdGVtKSB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJGl0ZW0sIGxpc3Qtc2VwYXJhdG9yKCRsaXN0KSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBzbC10by1saXN0KCRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAYWxpYXMgc2wtcHVyZ2Vcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWNsZWFuKCRsaXN0KSB7XG4gIEByZXR1cm4gc2wtcHVyZ2UoJGxpc3QpO1xufVxuIiwiLy8vXG4vLy8gUmVtb3ZlcyB2YWx1ZShzKSBgJHZhbHVlYCBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVtb3ZlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgICAgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAgICAgLSB2YWx1ZSB0byByZW1vdmVcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVtb3ZlKGEgYiBjLCBhKVxuLy8vIC8vIGIgY1xuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1yZXBsYWNlJyk7XG5cbiAgQHJldHVybiBzbC1yZXBsYWNlKCRsaXN0LCAkdmFsdWUsIG51bGwpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVtb3ZlXG4vLy8gQGFsaWFzIHNsLXJlbW92ZVxuLy8vXG5cbkBmdW5jdGlvbiBzbC13aXRob3V0KCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1yZW1vdmUoJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLy9cbi8vLyBSZXBsYWNlcyBgJG9sZGAgYnkgYCRuZXdgIGluIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgLSBsaXN0IHRvIHVwZGF0ZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJG9sZCAgIC0gdmFsdWUgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlIC0gbmV3IHZhbHVlIGZvciAkb2xkXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIGIsIHopXG4vLy8gLy8gYSB6IGNcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVwbGFjZShhIGIgYywgeSwgeilcbi8vLyAvLyBhIGIgY1xuLy8vIFxuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1yZXBsYWNlKCRsaXN0LCAkb2xkLCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXB1cmdlJywgJ3NsLXRvLWxpc3QnKTtcblxuICAkcnVubmluZzogdHJ1ZTtcblxuICBAd2hpbGUgJHJ1bm5pbmcge1xuICAgICRpbmRleDogaW5kZXgoJGxpc3QsICRvbGQpO1xuXG4gICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgJHJ1bm5pbmc6IGZhbHNlO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICRsaXN0OiBzZXQtbnRoKCRsaXN0LCAkaW5kZXgsICR2YWx1ZSk7XG4gICAgfVxuXG4gIH1cblxuICAkbGlzdDogaWYoc2wtaXMtdHJ1ZSgkdmFsdWUpLCAkbGlzdCwgc2wtcHVyZ2UoJGxpc3QpKTtcbiAgXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkbGlzdCk7XG59XG4iLCIvLy9cbi8vLyBDYXN0cyBgJHZhbHVlYCBpbnRvIGEgbGlzdC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNhc3QgdG8gbGlzdFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VwYXJhdG9yIFtzcGFjZV0gLSBzZXBhcmF0b3IgdG8gdXNlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXRvLWxpc3QoYSBiIGMsIGNvbW1hKVxuLy8vIC8vIGEsIGIsIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC10by1saXN0KCR2YWx1ZSwgJHNlcGFyYXRvcjogbGlzdC1zZXBhcmF0b3IoJHZhbHVlKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICR2YWx1ZSwgJHNlcGFyYXRvcik7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy8gQGFsaWFzIHNsLXRvLWxpc3Rcbi8vL1xuXG5AZnVuY3Rpb24gc2wtbGlzdGlmeSgkdmFsdWUpIHtcbiAgQHJldHVybiBzbC10by1saXN0KCR2YWx1ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIHJvdy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudCBvZiBhIGdyaWQuIENoYW5naW5nIHRoaXMgdmFsdWUgYWZmZWN0cyB0aGUgbG9naWMgb2YgdGhlIGdyaWQgbWl4aW5zLCBhbmQgdGhlIG51bWJlciBvZiBDU1MgY2xhc3NlcyBvdXRwdXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcy4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbi8vLyBAc2luY2UgNi4xLjBcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyB3aWxsIGFsaWduIHRvIHRoZSBvcHBvc2l0ZSBlZGdlIG9mIHRoZSByb3cuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciB1c2VkIGZvciBhbiBhbGlhcyBvZiBjb2x1bW4gKHdpdGggQGV4dGVuZCkuIElmIGBmYWxzZWAsIG5vIGFsaWFzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJyAhZGVmYXVsdDtcblxuLy8vIFRoZSBoaWdoZXN0IG51bWJlciBvZiBgLngtdXBgIGNsYXNzZXMgYXZhaWxhYmxlIHdoZW4gdXNpbmcgdGhlIGJsb2NrIGdyaWQgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJGJsb2NrLWdyaWQtbWF4OiA4ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YWx1ZSB0byBzdG9yZSB0aGUgZW5kIGNvbHVtbiBmbG9hdCBkaXJlY3Rpb25cbiQtemYtZW5kLWZsb2F0OiBpZigkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSwgJGdsb2JhbC1yaWdodCwgJGdsb2JhbC1sZWZ0KTtcblxuQGltcG9ydCAncm93JztcbkBpbXBvcnQgJ2NvbHVtbic7XG5AaW1wb3J0ICdzaXplJztcbkBpbXBvcnQgJ3Bvc2l0aW9uJztcbkBpbXBvcnQgJ2d1dHRlcic7XG5AaW1wb3J0ICdjbGFzc2VzJztcbkBpbXBvcnQgJ2xheW91dCc7XG5cbkBpbXBvcnQgJ2ZsZXgtZ3JpZCc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gRW5hYmxlcyB0aGUgWFkgZ3JpZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4keHktZ3JpZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIGEgZ3JpZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBtYXJnaW4gYmV0d2VlbiBjZWxscyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIHdoZW4gdXNpbmcgdGhlIG1hcmdpbiBncmlkLiBUbyB1c2UganVzdCBvbmUgc2l6ZSwgc2V0IHRoZSB2YXJpYWJsZSB0byBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbWFwLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgcGFkZGluZyBpbiBjZWxscyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIHdoZW4gdXNpbmcgdGhlIHBhZGRpbmcgZ3JpZC4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHBhZGRpbmcgdG8gdXNlIHdoZW4gcGFkZGluZyB0aGUgZ3JpZC1jb250YWluZXIuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggdG8gYXBwbHkgdG8gYSBncmlkIGNvbnRhaW5lclxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjZWxscyBpbiBhbiBYWSBibG9jayBncmlkLlxuLy8vIEB0eXBlIE51bWJlclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4ICFkZWZhdWx0O1xuXG5AaW1wb3J0ICdndXR0ZXJzJztcbkBpbXBvcnQgJ2dyaWQnO1xuQGltcG9ydCAnY2VsbCc7XG5AaW1wb3J0ICdmcmFtZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdsYXlvdXQnO1xuQGltcG9ydCAnY29sbGFwc2UnO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbi8vLy9cblxuLy8gQmFzZSB0eXBvZ3JhcGh5IHN0eWxlcyAodGFncyBvbmx5KVxuQGltcG9ydCAnYmFzZSc7XG5cbi8vIFR5cG9ncmFwaHkgaGVscGVyIGNsYXNzZXMgKGNsYXNzZXMgb25seSlcbkBpbXBvcnQgJ2hlbHBlcnMnO1xuXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzc2VzXG5AaW1wb3J0ICdhbGlnbm1lbnQnO1xuXG4vLyBQcmludCBzdHlsZXNcbkBpbXBvcnQgJ3ByaW50JztcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeSB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcmludC1zdHlsZXM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEdsb2JhbCBzcGFjaW5nIGZvciBmb3JtIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG5AaW1wb3J0ICd0ZXh0JztcbkBpbXBvcnQgJ2NoZWNrYm94JztcbkBpbXBvcnQgJ2xhYmVsJztcbkBpbXBvcnQgJ2hlbHAtdGV4dCc7XG5AaW1wb3J0ICdpbnB1dC1ncm91cCc7XG5AaW1wb3J0ICdmaWVsZHNldCc7XG5AaW1wb3J0ICdzZWxlY3QnO1xuQGltcG9ydCAncmFuZ2UnO1xuQGltcG9ydCAncHJvZ3Jlc3MnO1xuQGltcG9ydCAnbWV0ZXInO1xuQGltcG9ydCAnZXJyb3InO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS10ZXh0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tZXJyb3I7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBhY3RpdmUgZmlsbCBjb2xvciBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBoYW5kbGUgZm9yIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIGFtb3VudCBvZiBhIGRpc2FibGVkIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJhbmdlLWlucHV0IHtcbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItaGFuZGxlIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmlyZWZveFxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCB7XG4gICAgICBvdXRwdXQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudCB7XG4gIHByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgc2V0cyB0aGUgZmlsbCB3aXRoIGNvbG9yXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvciBJRSBhbmQgRWRnZVxuICAgICY6Oi1tcy1maWxsIHtcbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1ldGVyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRtZXRlci1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGFuIG9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBhdmVyYWdlIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhIHN1Ym9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1ldGVyLWVsZW1lbnQge1xuICBtZXRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWV0ZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAvLyBEaXNhYmxlIGAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmVgIGZyb20gZ2V0dGluZyBwcmVmaXhlZCxcbiAgICAvLyBXZSBoYXZlIGRpc2FibGVkIGF1dG9wcmVmaXhlciBmaXJzdCBhbmQgYXJlIGp1c3Qgb25seSB1c2luZyBcbiAgICAvLyBgLW1vei1hcHBlYXJhbmNlOiBub25lYCBhcyBhIHByZWZpeCBhbmQgbmVnbGVjdGluZyB0aGUgd2Via2l0LlxuICAgIFxuICAgIC8qISBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAvLyBDaHJvbWUvU2FmYXJpL0VkZ2VcbiAgICAmOjotd2Via2l0LW1ldGVyLWJhciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1pbm5lci1lbGVtZW50IHtcbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItb3B0aW11bS12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1nb29kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLXN1Ym9wdGltdW0tdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbWVkaXVtO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLWV2ZW4tbGVzcy1nb29kLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWJhZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6LW1vei1tZXRlci1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtcHNldWRvLW5lc3RpbmdcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtcHNldWRvLW5lc3RpbmdcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtcHNldWRvLW5lc3RpbmdcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWJhZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgfVxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cbiAgICBcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlXG4vLy8vXG5cbi8vIFJlbGF0aW9uYWwgTWl4aW5zXG5AaW1wb3J0ICdyZWxhdGlvbic7XG5cbi8vIEJveCBNaXhpblxuQGltcG9ydCAnYm94JztcblxuLy8gUm90YXRlIE1peGluXG5AaW1wb3J0ICdyb3RhdGUnO1xuXG4vLyBUZXh0IHV0aWxpdGllc1xuQGltcG9ydCAndGV4dC11dGlsaXRpZXMnO1xuXG4vLyBUZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbkBpbXBvcnQgJ3RleHQtdHJhbnNmb3JtYXRpb24nO1xuXG4vLyBUZXh0IERlY29yYXRpb24gY2xhc3Nlc1xuQGltcG9ydCAndGV4dC1kZWNvcmF0aW9uJztcblxuLy8gRm9udCBTdHlsaW5nXG5AaW1wb3J0ICdmb250LXN0eWxpbmcnO1xuXG4vLyBMaXN0IFN0eWxlIHR5cGVcbkBpbXBvcnQgJ2xpc3Qtc3R5bGUtdHlwZSc7XG5cbi8vIFJvdW5kZWQgVXRpbGl0eVxuQGltcG9ydCAncm91bmRlZCc7XG5cbi8vIEJvcmRlcmVkIFV0aWxpdHlcbkBpbXBvcnQgJ2JvcmRlcmVkJztcblxuLy8gU2hhZG93IFV0aWxpdHlcbkBpbXBvcnQgJ3NoYWRvdyc7XG5cbi8vIEFycm93IFV0aWxpdHlcbkBpbXBvcnQgJ2Fycm93JztcblxuLy8gU2VwYXJhdG9yIFV0aWxpdHlcbkBpbXBvcnQgJ3NlcGFyYXRvcic7XG5cbi8vIE92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG5AaW1wb3J0ICdvdmVyZmxvdyc7XG5cbi8vIERpc3BsYXkgY2xhc3Nlc1xuQGltcG9ydCAnZGlzcGxheSc7XG5cbi8vIFBvc2l0aW9uIEhlbHBlcnNcbkBpbXBvcnQgJ3Bvc2l0aW9uJztcblxuLy8gQm9yZGVyIGJveFxuQGltcG9ydCAnYm9yZGVyLWJveCc7XG5cbi8vIEJvcmRlciBub25lIFV0aWx0eVxuQGltcG9ydCAnYm9yZGVyLW5vbmUnO1xuXG4vLyBTaXppbmcgVXRpbGl0aWVzXG5AaW1wb3J0ICdzaXppbmcnO1xuXG4vLyBTcGFjaW5nIFV0aWxpdGllc1xuQGltcG9ydCAnc3BhY2luZyc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtZm9udC1zdHlsaW5nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlcmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaGFkb3c7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3I7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZztcbn1cbiIsIi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGZyb20gdGhlIGZpcnN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEZpcnN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGZpcnN0KCRudW0pIHtcbiAgQGlmICRudW0gPT0gMSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICY6bnRoLWNoaWxkKC1uICsgI3skbnVtfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZWxlY3QgdGhlIGZpcnN0IGV4YWN0IGNoaWxkXG5AbWl4aW4gZmlyc3QtY2hpbGQge1xuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGZyb20gdGhlIGxhc3QgdG8gYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gTGFzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBsYXN0KCRudW0pIHtcbiAgJjpudGgtbGFzdC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBsYXN0IGV4YWN0IGNoaWxkXG5AbWl4aW4gbGFzdC1jaGlsZCB7XG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGNoaWxkcmVuIGV2ZXJ5IGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEV2ZXJ5IGBuYCBudW1iZXIgb2YgYWxsIGNoaWxkcmVuXG5AbWl4aW4gZXZlcnkoJG51bSkge1xuICAmOm50aC1jaGlsZCgjeyRudW19bikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3Qgb25seSB0aGUgZmlyc3QgYW5kIGxhc3QgY2hpbGQuXG5AbWl4aW4gZmlyc3QtbGFzdCB7XG4gICY6Zmlyc3QtY2hpbGQsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYWZ0ZXIgdGhlIGZpcnN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEFmdGVyIEZpcnN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGFmdGVyLWZpcnN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQobiArICN7JG51bSArIDF9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmVmb3JlIGAkbnVtYCBmcm9tIHRoZSBsYXN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRnJvbSBMYXN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGZyb20tbGFzdCgkbnVtKSB7XG4gICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgdGhlIGAkbnVtYCBjaGlsZCBmcm9tIHRoZSBmaXJzdCBhbmQgdGhlIGAkbnVtYCBjaGlsZCBmcm9tIHRoZSBsYXN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gYG5gIG51bWJlciBjYWxsZWQgZnJvbSBmaXJzdCBhbmQgbGFzdCBcbkBtaXhpbiBmcm9tLWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZCgjeyRudW19KSxcbiAgJjpudGgtbGFzdC1jaGlsZCgjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYnV0IGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgdGhhdCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBhbGwgb3RoZXIgY2hpbGRyZW4gXG5AbWl4aW4gYWxsLWJ1dCgkbnVtKSB7XG4gICY6bm90KDpudGgtY2hpbGQoI3skbnVtfSkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZXR3ZWVuIHRoZSBgJG51bWAgZmlyc3QgYW5kIHRoZSBgJG51bWAgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgZXhjbHVkZWQgZnJvbSBmaXJzdCBhbmQgbGFzdCBmcm9tIGFsbCBvdGhlciBjaGlsZHJlblxuQG1peGluIGFsbC1idXQtZmlyc3QtbGFzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRudW19KTpudGgtbGFzdC1jaGlsZChuICsgI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBXaWxsIG9ubHkgc2VsZWN0IHRoZSBjaGlsZCBpZiBpdOKAmXMgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIG5vdCBiZSBhcHBsaWVkLlxuQG1peGluIHVuaXF1ZSB7XG4gICY6b25seS1jaGlsZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFdpbGwgb25seSBzZWxlY3QgY2hpbGRyZW4gaWYgdGhleSBhcmUgbm90IHVuaXF1ZS4gVGhhdCBtZWFucyB0aGF0IGlmIHRoZXJlIGFyZSBhdCBsZWFzdCAyIGNoaWxkcmVuLCB0aGUgc3R5bGUgd2lsbCBiZSBhcHBsaWVkLlxuQG1peGluIG5vdC11bmlxdWUoKSB7XG4gICY6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBiZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuLlxuQG1peGluIGV2ZW4ge1xuICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgZXZlbiBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGV2ZW4tYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbi5cbkBtaXhpbiBvZGQge1xuICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBvZGQgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBvZGQtYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKG9kZCk6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgYCRudW1gIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBuYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBuYCBudW1iZXJcbkBtaXhpbiBudW1iZXItYmV0d2VlbigkbnVtLCAkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX1uKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJveFxuLy8vL1xuXG4vLy8gQm94IE1peGluOiBFYXNpbHkgY3JlYXRlIGEgc3F1YXJlLCByZWN0YW5nbGUgb3IgYSBjaXJjbGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoW10gV2lkdGggb2YgdGhlIGJveFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0WyR3aWR0aF0gSGVpZ2h0IG9mIHRoZSBib3gsIGRlZmF1bHRzIHRvIGAkd2lkdGhgIHRvIGVhc2lseSBtYWtlIGEgc3F1YXJlXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2lyY2xlW2ZhbHNlXSBNYWtlcyB0aGUgYm94IGEgY2lyY2xlLCBieSBkZWZhdWx0IGBmYWxzZWAuXG5AbWl4aW4gYm94KFxuICAkd2lkdGgsIFxuICAkaGVpZ2h0OiAkd2lkdGgsIFxuICAkY2lyY2xlOiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGlmICRjaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm90YXRlXG4vLy8vXG5cbi8vLyBSb3RhdGUgTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWdcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGUoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVYIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFgtQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWCgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVYKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWSBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBZLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVkoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWSgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVogTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWi1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVaKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVooJGRlZyArIGRlZyk7XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZm9udC1zdHlsaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBmb250IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTGV0dGVyIHNwYWNpbmcgZm9yIGAuZm9udC13aWRlYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtYm9sZGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdpZGUgbGV0dGVyIHNwYWNpbmchXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxuQG1peGluIGZvbnQtd2lkZShcbiAgJGxldHRlci1zcGFjaW5nOiAkcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmdcbikge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLy8gRm9udCBXZWlnaHQgTm9ybWFsLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LW5vcm1hbF0gV2VpZ2h0IG9mIHRoZSBmb250IChub3JtYWwpXG5AbWl4aW4gZm9udC1ub3JtYWwoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ub3JtYWxcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LWJvbGRdIFdlaWdodCBvZiB0aGUgZm9udCAoYm9sZClcbkBtaXhpbiBmb250LWJvbGQoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFN0eWxlIEl0YWxpY1xuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmcge1xuICAuZm9udC13aWRle1xuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgfVxuXG4gIC5mb250LW5vcm1hbCB7XG4gICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gIH1cblxuICAuZm9udC1ib2xkIHtcbiAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIH1cblxuICAuZm9udC1pdGFsaWMge1xuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mb250LXdpZGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWl0YWxpYyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXJlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXdpZHRoYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItdHlwZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItY29sb3JgIGRlZmF1bHRlZCB0byBgbWVkaXVtLWdyYXlgXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXJlZCBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLWJvcmRlci13aWR0aF0gV2lkdGggb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSBbJHByb3RvdHlwZS1ib3JkZXItdHlwZV0gVHlwZSBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskcHJvdG90eXBlLWJvcmRlci1jb2xvcl0gQ29sb3Igb2YgdGhlIGJvcmRlclxuQG1peGluIGJvcmRlcmVkKFxuICAkd2lkdGg6ICRwcm90b3R5cGUtYm9yZGVyLXdpZHRoLFxuICAkdHlwZTogJHByb3RvdHlwZS1ib3JkZXItdHlwZSxcbiAgJGNvbG9yOiAkcHJvdG90eXBlLWJvcmRlci1jb2xvclxuKSB7XG4gIGJvcmRlcjogJHdpZHRoICR0eXBlICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlcmVkIHtcbiAgLmJvcmRlcmVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlcmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNoYWRvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2hhZG93IHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3gtc2hhZG93YFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMikgIWRlZmF1bHQ7XG5cbi8vLyBTaGFkb3cgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJveCBzaGFkb3cgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2hhZG93IFskcHJvdG90eXBlLWJveC1zaGFkb3ddIEJveCBTaGFkb3cgb2YgYSBjb21wb25lbnRcbkBtaXhpbiBzaGFkb3coXG4gICRzaGFkb3c6ICRwcm90b3R5cGUtYm94LXNoYWRvd1xuKSB7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaGFkb3cge1xuICAuc2hhZG93IHtcbiAgICBAaW5jbHVkZSBzaGFkb3c7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2hhZG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1hcnJvd1xuLy8vL1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgYXJyb3dgIGRpcmVjdGlvblxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIHRoZSBBcnJvdywgYDAuNDM3NXJlbWAgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuXG4vLy8gQ29sb3Igb2YgdGhlIEFycm93LCBgJGJsYWNrYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XG4gIEBlYWNoICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uIGluICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ucyB7XG4gICAgLmFycm93LSN7JHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb259IHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1zaXplLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1jb2xvciwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNlcGFyYXRvclxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2VwYXJhdG9yLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWxpZ25tZW50IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgTWFyZ2luIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUaXRsZSBzZXBhcmF0b3IgVXRpbGl0eSwgbW9zdGx5IHVzZWQgdG8gc3R5bGUgdGhlIG1haW4gaGVhZGluZyBvZiBhIHNlY3Rpb25cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGFsaWduIFskcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbl0gLSBzZXBhcmF0b3IgQWxpZ25tZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodF0gLSBXaWR0aFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoXSAtIEhlaWdodFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcF0gLSBNYXJnaW4gVG9wXG5AbWl4aW4gc2VwYXJhdG9yIChcbiAgJGFsaWduOiAkcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbixcbiAgJGhlaWdodDogJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0LFxuICAkd2lkdGg6ICRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoLFxuICAkYmFja2dyb3VuZDogJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZCxcbiAgJHRvcDogJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcFxuKSB7XG4gIHRleHQtYWxpZ246ICRhbGlnbiAhaW1wb3J0YW50O1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICBtYXJnaW46ICR0b3AgYXV0byAwO1xuXG4gICAgQGlmICRhbGlnbiA9PSBsZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvciB7XG5cdC5zZXBhcmF0b3ItY2VudGVyIHtcblx0XHRAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcblx0fVxuXG4gIC5zZXBhcmF0b3ItbGVmdCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICB9XG5cbiAgLnNlcGFyYXRvci1yaWdodCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgfVxuXG5cdEBpZiAoJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItY2VudGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtb3ZlcmZsb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIG92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBvdmVyZmxvd2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKSAhZGVmYXVsdDtcblxuLy8vIE92ZXJmbG93IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzXG5AbWl4aW4gb3ZlcmZsb3coJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gaG9yaXpvbnRhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAoaG9yaXpvbnRhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXgoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXg6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiB2ZXJ0aWNhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAodmVydGljYWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy15KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy15OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgIC5vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBkaXNwbGF5YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKSAhZGVmYXVsdDtcblxuLy8vIERpc3BsYXkgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1kaXNwbGF5YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcbkBtaXhpbiBkaXNwbGF5KCRkaXNwbGF5KSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5IHtcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcG9zaXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHBvc2l0aW9uIGhlbHBlcnNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHBvc2l0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKSAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIGZpeGVkIHBvc2l0aW9uaW5nXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NSAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uIGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtcG9zaXRpb25gLCB3aGVyZWFzIGFsbCB0aGUgb2Zmc2V0IHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wb3NpdGlvbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwb3NpdGlvbiBbXSBQb3NpdGlvbiBjbGFzc2VzLCBFaXRoZXIgYHN0YXRpY2AsIGByZWxhdGl2ZWAsIGBhYnNvbHV0ZWAgb3IgYGZpeGVkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFRvcCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFJpZ2h0IG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIEJvdHRvbSBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTGVmdCBvZmZzZXRcbkBtaXhpbiBwb3NpdGlvbihcbiAgJHBvc2l0aW9uLFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50O1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICB0b3A6ICR0b3AgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICByaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIGJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIHRvcCBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC10b3BgXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtdG9wKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIDAsIG51bGwsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIGJvdHRvbSBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC1ib3R0b21gXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtYm90dG9tKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIDAsIDAsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gIH1cbiAgLnBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICAgICAgICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC10b3Age1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ib3hcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBib3guXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBib3ggdXRpbGl0eVxuQG1peGluIGJvcmRlci1ib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItYm94IHtcbiAgLmJvcmRlci1ib3gge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ib3gge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItbm9uZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIG5vbmUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lIHtcbiAgLmJvcmRlci1ub25lIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNpemluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc2l6aW5nYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWF4IFdpZHRoIDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLy8vIE1heCBIZWlnaHQgMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LWhlaWdodC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmcge1xuICAvLyBFbGVtZW50IFNpemluZ1xuICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgIC4jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1heCB3aWR0aCAmIGhlaWdodFxuICAubWF4LXdpZHRoLTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoLTEwMDtcbiAgfVxuICAubWF4LWhlaWdodC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC1oZWlnaHQtMTAwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgICAgICAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgICAgICAgICAgLiN7JHNpemV9LSN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNwYWNpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG51bWJlciBvZiBzcGFjZXJzIGNvdW50IChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDMgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1tYXJnaW5gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gTWFyZ2luIFRvcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gTWFyZ2luIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gTWFyZ2luIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBNYXJnaW4gTGVmdFxuQG1peGluIG1hcmdpbihcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIG1hcmdpbi10b3A6ICR0b3AgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBtYXJnaW4tbGVmdDogJGxlZnQgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQYWRkaW5nIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcGFkZGluZ2Agd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBQYWRkaW5nIFRvcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUGFkZGluZyBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIFBhZGRpbmcgQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIFBhZGRpbmcgTGVmdFxuQG1peGluIHBhZGRpbmcoXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRvcCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nIHtcbiAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgLy8gQWxsIFNpZGVzXG4gICAgLm1hcmdpbi0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLy8gVG9wIFNpZGVcbiAgICAubWFyZ2luLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy10b3AtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsIG51bGwsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIC8vIFJpZ2h0IFNpZGVcbiAgICAubWFyZ2luLXJpZ2h0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsICRzcGFjZXIsIG51bGwsIG51bGwpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLXJpZ2h0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAvLyBCb3R0b20gU2lkZVxuICAgIC5tYXJnaW4tYm90dG9tLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgfVxuXG4gICAgLy8gTGVmdCBTaWRlXG4gICAgLm1hcmdpbi1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsIG51bGwsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC5wYWRkaW5nLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsIG51bGwsIG51bGwsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC8vIEhvcml6b250YWwgQXhlc1xuICAgIC5tYXJnaW4taG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1ob3Jpem9udGFsLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBBeGVzXG4gICAgLm1hcmdpbi12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgIH1cblxuICAgIC5wYWRkaW5nLXZlcnRpY2FsLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgIH1cblxuICAgIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tdG9wLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmlnaHQgU2lkZVxuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsICRzcGFjZXIsIG51bGwsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQm90dG9tIFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tYm90dG9tLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCAkc3BhY2VyLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTGVmdCBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctbGVmdC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSG9yaXpvbnRhbCBBeGVzXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctaG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCAkc3BhY2VyLCBudWxsLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVmVydGljYWwgQXhlc1xuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsIG51bGwsICRzcGFjZXIsIG51bGwpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLXZlcnRpY2FsLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsIG51bGwsICRzcGFjZXIsIG51bGwpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGZvbnQgc3R5bGVzaGVldCBjb21waWxlclxuXG4gICAgLy8gZGVmaW5pdGlvbnNcbiAgICAgICAgQGltcG9ydCAnZGVmaW5pdGlvbnMnO1xuXG4gICAgLy8gdmFyaWFibGVzXG4gICAgICAgIEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbiAgICAvLyBjb2RpY29uc1xuICAgICAgICBAaW1wb3J0ICdjb2RpY29ucyc7XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGZvbnQgZGVmaW5pdGlvbnNcblxuLyogRGVjaW1hIE1vbm8gKi9cbiAgICAvLyBsaXRlXG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRGVjaW1hIE1vbm8nO1xuICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMvZGVjaW1hL0RlY2ltYU1vbm9Qcm9fTGl0ZS5vdGYnKVxuICAgICAgICAgICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgfVxuICAgIC8vIHJlZ3VsYXJcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdEZWNpbWEgTW9ubyc7XG4gICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9kZWNpbWEvRGVjaW1hTW9ub1Byb19Gb250Lm90ZicpXG4gICAgICAgICAgICAgZm9ybWF0KCdvcGVudHlwZScpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB9XG4gICAgLy8gYm9sZFxuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJ0RlY2ltYSBNb25vJztcbiAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2RlY2ltYS9EZWNpbWFNb25vUHJvX0JvbGQub3RmJylcbiAgICAgICAgICAgICBmb3JtYXQoJ29wZW50eXBlJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIH1cblxuXG4gICAgLyogY29kaWNvbnMgKi9cbiAgICAvLyByZWd1bGFyXG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnY29kaWNvbnMnO1xuICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMvY29kaWNvbnMvY29kaWNvbnMud29mZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB9XG5cblxuLyogU2FpcmEgKi9cbiAgICAvLyBjb25kZW5zZWRcbiAgICAgICAgLy8gNDAwIC0gUmVndWxhclxuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2FpcmEgQ29uZGVuc2VkJztcbiAgICAgICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9TYWlyYUNvbmRlbnNlZC1SZWd1bGFyLnR0ZicpXG4gICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgICAgIH1cbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NhaXJhIENvbmRlbnNlZCc7XG4gICAgICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvU2FpcmFDb25kZW5zZWQtUmVndWxhci50dGYnKVxuICAgICAgICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgICAgICB9XG4gICAgICAgIC8vIDUwMCAtIE1lZGl1bVxuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2FpcmEgQ29uZGVuc2VkJztcbiAgICAgICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9TYWlyYUNvbmRlbnNlZC1NZWRpdW0udHRmJylcbiAgICAgICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgfVxuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2FpcmEgQ29uZGVuc2VkJztcbiAgICAgICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9TYWlyYUNvbmRlbnNlZC1NZWRpdW0udHRmJylcbiAgICAgICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgfVxuICAgICAgICAvLyA3MDAgLSBCb2xkXG4gICAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTYWlyYSBDb25kZW5zZWQnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL1NhaXJhQ29uZGVuc2VkLUJvbGQudHRmJylcbiAgICAgICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgfVxuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2FpcmEgQ29uZGVuc2VkJztcbiAgICAgICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9TYWlyYUNvbmRlbnNlZC1Cb2xkLnR0ZicpXG4gICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgICAgIH1cblxuICAgIC8vIHN0YW5kYXJkXG4gICAgICAgIC8vIDMwMCAtIExpZ2h0XG4gICAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTYWlyYSc7XG4gICAgICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvU2FpcmFTZW1pQ29uZGVuc2VkLUxpZ2h0LnR0ZicpXG4gICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgICAgIH1cbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NhaXJhJztcbiAgICAgICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9zYWlyYS9TYWlyYVNlbWlDb25kZW5zZWQtTGlnaHQudHRmJylcbiAgICAgICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgfVxuICAgICAgICAvLyA0MDAgLSBSZWd1bGFyXG4gICAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTYWlyYSc7XG4gICAgICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMvc2FpcmEvU2FpcmFTZW1pQ29uZGVuc2VkLVJlZ3VsYXIudHRmJylcbiAgICAgICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgfVxuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2FpcmEnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NhaXJhL1NhaXJhU2VtaUNvbmRlbnNlZC1SZWd1bGFyLnR0ZicpXG4gICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgICAgIH1cblxuXG4vKiBLbGF2aWthICovXG4gICAgLy8gY29uZGVuc2VkXG4gICAgICAgIC8vIHJlZ3VsYXJcbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0tsYXZpa2EgQ29uZGVuc2VkJztcbiAgICAgICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9rbGF2aWthL0tsYXZpa2EtUmVndWxhckNvbmQub3RmJylcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0KCdvcGVudHlwZScpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgfVxuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnS2xhdmlrYSBDb25kZW5zZWQnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EvS2xhdmlrYS1SZWd1bGFyQ29uZEl0YWxpYy5vdGYnKVxuICAgICAgICAgICAgICAgICAgICBmb3JtYXQoJ29wZW50eXBlJyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgICAgICB9XG4gICAgICAgIC8vIG1lZGl1bVxuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnS2xhdmlrYSBDb25kZW5zZWQnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EvS2xhdmlrYS1NZWRpdW1Db25kLm90ZicpXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG5cbiAgICAgICAgfVxuICAgICAgICAvLyBib2xkXG4gICAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdLbGF2aWthIENvbmRlbnNlZCc7XG4gICAgICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMva2xhdmlrYS9LbGF2aWthLUJvbGRDb25kLm90ZicpXG4gICAgICAgICAgICAgICAgZm9ybWF0KCdvcGVudHlwZScpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgfVxuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnS2xhdmlrYSBDb25kZW5zZWQnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EvS2xhdmlrYS1Cb2xkQ29uZEl0YWxpYy5vdGYnKVxuICAgICAgICAgICAgICAgICAgICBmb3JtYXQoJ29wZW50eXBlJyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgICAgICB9XG5cbiAgICAvLyBzdGFuZGFyZFxuICAgICAgICAvLyBsaWdodFxuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnS2xhdmlrYSc7XG4gICAgICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMva2xhdmlrYS9LbGF2aWthLUxpZ2h0Lm90ZicpXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgICAgIH1cbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0tsYXZpa2EnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EvS2xhdmlrYS1MaWdodEl0YWxpYy5vdGYnKVxuICAgICAgICAgICAgICAgICAgICBmb3JtYXQoJ29wZW50eXBlJyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJlZ3VsYXJcbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0tsYXZpa2EnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EvS2xhdmlrYS1SZWd1bGFyLm90ZicpXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgICAgIH1cbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0tsYXZpa2EnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EvS2xhdmlrYS1SZWd1bGFySXRhbGljLm90ZicpXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWVkaXVtXG4gICAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdLbGF2aWthJztcbiAgICAgICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9rbGF2aWthL0tsYXZpa2EtTWVkaXVtLm90ZicpXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgICAgIH1cbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0tsYXZpa2EnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EvS2xhdmlrYS1NZWRpdW1JdGFsaWMub3RmJylcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0KCdvcGVudHlwZScpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICAgICAgfVxuICAgICAgICAvLyBib2xkXG4gICAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdLbGF2aWthJztcbiAgICAgICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9rbGF2aWthL0tsYXZpa2EtQm9sZC5vdGYnKVxuICAgICAgICAgICAgICAgICAgICBmb3JtYXQoJ29wZW50eXBlJyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0tsYXZpa2EnO1xuICAgICAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EvS2xhdmlrYS1Cb2xkSXRhbGljLm90ZicpXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgICAgIH1cblxuXG4vKiBJbmR1c3RyeSAqL1xuICAgIC8vIHJlZ3VsYXJcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJbmR1c3RyeSc7XG4gICAgICAgIHNyYzogdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X2Jvb2tfbWFjcm9tYW4vSW5kdXN0cnktQm9vay13ZWJmb250LndvZmYyJylcbiAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X2Jvb2tfbWFjcm9tYW4vSW5kdXN0cnktQm9vay13ZWJmb250LndvZmYnKVxuICAgICAgICAgICAgIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgIHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9ib29rX21hY3JvbWFuL0luZHVzdHJ5LUJvb2std2ViZm9udC50dGYnKVxuICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgfVxuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJ0luZHVzdHJ5JztcbiAgICAgICAgc3JjOiB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvaW5kdXN0cnkvaW5kdXN0cnlfYm9va2l0YWxpY19tYWNyb21hbi9JbmR1c3RyeS1Cb29rSXRhbGljLXdlYmZvbnQud29mZjInKVxuICAgICAgICAgICAgIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvaW5kdXN0cnkvaW5kdXN0cnlfYm9va2l0YWxpY19tYWNyb21hbi9JbmR1c3RyeS1Cb29rSXRhbGljLXdlYmZvbnQud29mZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X2Jvb2tpdGFsaWNfbWFjcm9tYW4vSW5kdXN0cnktQm9va0l0YWxpYy13ZWJmb250LnR0ZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB9XG4gICAgLy8gbWVkaXVtXG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW5kdXN0cnknO1xuICAgICAgICBzcmM6IHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9tZWRpdW1fbWFjcm9tYW4vSW5kdXN0cnktTWVkaXVtLXdlYmZvbnQud29mZjInKVxuICAgICAgICAgICAgIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvaW5kdXN0cnkvaW5kdXN0cnlfbWVkaXVtX21hY3JvbWFuL0luZHVzdHJ5LU1lZGl1bS13ZWJmb250LndvZmYnKVxuICAgICAgICAgICAgIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgIHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9tZWRpdW1fbWFjcm9tYW4vSW5kdXN0cnktTWVkaXVtLXdlYmZvbnQudHRmJylcbiAgICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIH1cbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJbmR1c3RyeSc7XG4gICAgICAgIHNyYzogdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X21lZGl1bWl0YWxpY19tYWNyb21hbi9JbmR1c3RyeS1NZWRpdW1JdGFsaWMtd2ViZm9udC53b2ZmMicpXG4gICAgICAgICAgICAgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgICAgIHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9tZWRpdW1pdGFsaWNfbWFjcm9tYW4vSW5kdXN0cnktTWVkaXVtSXRhbGljLXdlYmZvbnQud29mZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X21lZGl1bWl0YWxpY19tYWNyb21hbi9JbmR1c3RyeS1NZWRpdW1JdGFsaWMtd2ViZm9udC50dGYnKVxuICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgfVxuICAgIC8vIGRlbWlcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJbmR1c3RyeSc7XG4gICAgICAgIHNyYzogdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X2RlbWlfbWFjcm9tYW4vSW5kdXN0cnktRGVtaS13ZWJmb250LndvZmYyJylcbiAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X2RlbWlfbWFjcm9tYW4vSW5kdXN0cnktRGVtaS13ZWJmb250LndvZmYnKVxuICAgICAgICAgICAgIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgIHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9kZW1pX21hY3JvbWFuL0luZHVzdHJ5LURlbWktd2ViZm9udC50dGYnKVxuICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgfVxuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJ0luZHVzdHJ5JztcbiAgICAgICAgc3JjOiB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvaW5kdXN0cnkvaW5kdXN0cnlfZGVtaWl0YWxpY19tYWNyb21hbi9JbmR1c3RyeS1EZW1pSXRhbGljLXdlYmZvbnQud29mZjInKVxuICAgICAgICAgICAgIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvaW5kdXN0cnkvaW5kdXN0cnlfZGVtaWl0YWxpY19tYWNyb21hbi9JbmR1c3RyeS1EZW1pSXRhbGljLXdlYmZvbnQud29mZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X2RlbWlpdGFsaWNfbWFjcm9tYW4vSW5kdXN0cnktRGVtaUl0YWxpYy13ZWJmb250LnR0ZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB9XG4gICAgLy8gYm9sZFxuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJ0luZHVzdHJ5JztcbiAgICAgICAgc3JjOiB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvaW5kdXN0cnkvaW5kdXN0cnlfYm9sZF9tYWNyb21hbi9JbmR1c3RyeS1Cb2xkLXdlYmZvbnQud29mZjInKVxuICAgICAgICAgICAgIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvaW5kdXN0cnkvaW5kdXN0cnlfYm9sZF9tYWNyb21hbi9JbmR1c3RyeS1Cb2xkLXdlYmZvbnQud29mZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X2JvbGRfbWFjcm9tYW4vSW5kdXN0cnktQm9sZC13ZWJmb250LnR0ZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB9XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW5kdXN0cnknO1xuICAgICAgICBzcmM6IHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9ib2xkaXRhbGljX21hY3JvbWFuL0luZHVzdHJ5LUJvbGRJdGFsaWMtd2ViZm9udC53b2ZmMicpXG4gICAgICAgICAgICAgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgICAgIHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9ib2xkaXRhbGljX21hY3JvbWFuL0luZHVzdHJ5LUJvbGRJdGFsaWMtd2ViZm9udC53b2ZmJylcbiAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvaW5kdXN0cnkvaW5kdXN0cnlfYm9sZGl0YWxpY19tYWNyb21hbi9JbmR1c3RyeS1Cb2xkSXRhbGljLXdlYmZvbnQudHRmJylcbiAgICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIH1cbiAgICAvLyBibGFja1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJ0luZHVzdHJ5JztcbiAgICAgICAgc3JjOiB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvaW5kdXN0cnkvaW5kdXN0cnlfYmxhY2tfbWFjcm9tYW4vSW5kdXN0cnktQmxhY2std2ViZm9udC53b2ZmMicpXG4gICAgICAgICAgICAgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgICAgIHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9ibGFja19tYWNyb21hbi9JbmR1c3RyeS1CbGFjay13ZWJmb250LndvZmYnKVxuICAgICAgICAgICAgIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgIHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9ibGFja19tYWNyb21hbi9JbmR1c3RyeS1CbGFjay13ZWJmb250LnR0ZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB9XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnSW5kdXN0cnknO1xuICAgICAgICBzcmM6IHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9pbmR1c3RyeS9pbmR1c3RyeV9ibGFja2l0YWxpY19tYWNyb21hbi9JbmR1c3RyeS1CbGFja0l0YWxpYy13ZWJmb250LndvZmYyJylcbiAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X2JsYWNraXRhbGljX21hY3JvbWFuL0luZHVzdHJ5LUJsYWNrSXRhbGljLXdlYmZvbnQud29mZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2luZHVzdHJ5L2luZHVzdHJ5X2JsYWNraXRhbGljX21hY3JvbWFuL0luZHVzdHJ5LUJsYWNrSXRhbGljLXdlYmZvbnQudHRmJylcbiAgICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIH1cblxuXG4vKiBQcm94aW1hIE5vdmEgKi9cbiAgICAvLyByZWd1bGFyXG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUHJveGltYU5vdmEnO1xuICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMvcHJveGltYS9Qcm94aW1hTm92YV9TZW1pQm9sZC53b2ZmJylcbiAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgfVxuICAgIC8vIGJvbGRcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdQcm94aW1hTm92YSc7XG4gICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9wcm94aW1hL1Byb3hpbWFOb3ZhX0JvbGQud29mZicpXG4gICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIH1cblxuXG4vKiBWaXRlc3NlICovXG4gICAgLy8gcmVndWxhclxuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJ1ZpdGVzc2UnO1xuICAgICAgICBzcmM6IHVybCgnLi4vZm9udHMvdml0ZXNzZS9WaXRlc3NlLU1lZGl1bS53b2ZmJylcbiAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgfVxuICAgIC8vIGJvbGRcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdWaXRlc3NlJztcbiAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3ZpdGVzc2UvVml0ZXNzZS1Cb2xkLndvZmYnKVxuICAgICAgICAgICAgIGZvcm1hdCgnd29mZicpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB9XG5cblxuLyogRmFjdG9yaWEgKi9cbiAgICAvLyA1MDAgLSBNZWRpdW1cbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGYWN0b3JpYSc7XG4gICAgICAgIHNyYzogdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2ZhY3RvcmlhL2ZhY3RvcmlhX21lZGl1bV9tYWNyb21hbi9GYWN0b3JpYS1NZWRpdW0td2ViZm9udC5lb3QnKTtcbiAgICAgICAgc3JjOiB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfbWVkaXVtX21hY3JvbWFuL0ZhY3RvcmlhLU1lZGl1bS13ZWJmb250LmVvdD8jaWVmaXgnKVxuICAgICAgICAgICAgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2ZhY3RvcmlhL2ZhY3RvcmlhX21lZGl1bV9tYWNyb21hbi9GYWN0b3JpYS1NZWRpdW0td2ViZm9udC53b2ZmMicpXG4gICAgICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfbWVkaXVtX21hY3JvbWFuL0ZhY3RvcmlhLU1lZGl1bS13ZWJmb250LndvZmYnKVxuICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfbWVkaXVtX21hY3JvbWFuL0ZhY3RvcmlhLU1lZGl1bS13ZWJmb250LnR0ZicpXG4gICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIH1cbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGYWN0b3JpYSc7XG4gICAgICAgIHNyYzogdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2ZhY3RvcmlhL2ZhY3RvcmlhX21lZGl1bV9tYWNyb21hbi9GYWN0b3JpYS1NZWRpdW0td2ViZm9udC5lb3QnKTtcbiAgICAgICAgc3JjOiB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfbWVkaXVtX21hY3JvbWFuL0ZhY3RvcmlhLU1lZGl1bS13ZWJmb250LmVvdD8jaWVmaXgnKVxuICAgICAgICAgICAgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2ZhY3RvcmlhL2ZhY3RvcmlhX21lZGl1bV9tYWNyb21hbi9GYWN0b3JpYS1NZWRpdW0td2ViZm9udC53b2ZmMicpXG4gICAgICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfbWVkaXVtX21hY3JvbWFuL0ZhY3RvcmlhLU1lZGl1bS13ZWJmb250LndvZmYnKVxuICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfbWVkaXVtX21hY3JvbWFuL0ZhY3RvcmlhLU1lZGl1bS13ZWJmb250LnR0ZicpXG4gICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIH1cblxuICAgIC8vIDcwMCAtIEJvbGRcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGYWN0b3JpYSc7XG4gICAgICAgIHNyYzogdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2ZhY3RvcmlhL2ZhY3RvcmlhX2JvbGRfbWFjcm9tYW4vRmFjdG9yaWEtQm9sZC13ZWJmb250LmVvdCcpO1xuICAgICAgICBzcmM6IHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9mYWN0b3JpYS9mYWN0b3JpYV9ib2xkX21hY3JvbWFuL0ZhY3RvcmlhLUJvbGQtd2ViZm9udC5lb3Q/I2llZml4JylcbiAgICAgICAgICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICAgIHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9mYWN0b3JpYS9mYWN0b3JpYV9ib2xkX21hY3JvbWFuL0ZhY3RvcmlhLUJvbGQtd2ViZm9udC53b2ZmMicpXG4gICAgICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfYm9sZF9tYWNyb21hbi9GYWN0b3JpYS1Cb2xkLXdlYmZvbnQud29mZicpXG4gICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgIHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9mYWN0b3JpYS9mYWN0b3JpYV9ib2xkX21hY3JvbWFuL0ZhY3RvcmlhLUJvbGQtd2ViZm9udC50dGYnKVxuICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB9XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRmFjdG9yaWEnO1xuICAgICAgICBzcmM6IHVybCgnLy9zdGF0aWMuY29sb3N0YXRlLmVkdS9mb250cy9mYWN0b3JpYS9mYWN0b3JpYV9ib2xkX21hY3JvbWFuL0ZhY3RvcmlhLUJvbGQtd2ViZm9udC5lb3QnKTtcbiAgICAgICAgc3JjOiB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfYm9sZF9tYWNyb21hbi9GYWN0b3JpYS1Cb2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpXG4gICAgICAgICAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfYm9sZF9tYWNyb21hbi9GYWN0b3JpYS1Cb2xkLXdlYmZvbnQud29mZjInKVxuICAgICAgICAgICAgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgICAgdXJsKCcvL3N0YXRpYy5jb2xvc3RhdGUuZWR1L2ZvbnRzL2ZhY3RvcmlhL2ZhY3RvcmlhX2JvbGRfbWFjcm9tYW4vRmFjdG9yaWEtQm9sZC13ZWJmb250LndvZmYnKVxuICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICB1cmwoJy8vc3RhdGljLmNvbG9zdGF0ZS5lZHUvZm9udHMvZmFjdG9yaWEvZmFjdG9yaWFfYm9sZF9tYWNyb21hbi9GYWN0b3JpYS1Cb2xkLXdlYmZvbnQudHRmJylcbiAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBmb250IHZhcmlhYmxlc1xuXG4gICAgLy8gc3RyYXR1bVxuICAgICRzdHJhdHVtICAgOiAnU3RyYXR1bSc7XG5cbiAgICAvLyBpbmR1c3RyeVxuICAgICRpbmR1c3RyeSAgOiAnSW5kdXN0cnknO1xuXG4gICAgLy8ga2xhdmlrYVxuICAgICRrbGF2aWthICAgOiAnS2xhdmlrYScsICdTYWlyYSc7XG5cbiAgICAvLyBrbGF2aWthICggY29uZGVuc2VkIClcbiAgICAka2xhdmlzbGltIDogJ0tsYXZpa2EgQ29uZGVuc2VkJywgJ1NhaXJhIENvbmRlbnNlZCc7XG5cbiAgICAvLyByb2JvdG9cbiAgICAkbW9uby1mb250IDogJ1JvYm90b01vbm8nO1xuXG4gICAgLy8gZGVjaW1hXG4gICAgJGRlY2ltYSA6ICdEZWNpbWEgTW9ubyc7XG5cbiAgICAvLyBjZW50aW1hXG4gICAgJGNlbnQtZm9udCA6ICdDZW50aW1hIE1vbm8nO1xuXG4gICAgLy8gY29kaWNvbnNcbiAgICAkY29kaWNvbnMgIDogJ2NvZGljb25zJztcblxuICAgIC8vIHByb3hpbWFcbiAgICAkcHJveGltYSAgIDogJ1Byb3hpbWFOb3ZhJztcblxuICAgIC8vIHZpdGVzc2VcbiAgICAkdml0ZXNzZSAgIDogJ1ZpdGVzc2UnLCAnRmFjdG9yaWEnO1xuIiwiLy8gc3R5bGVzaGVldCA6OiBjb2RpY29ucyBmb250IHZhcmlhYmxlc1xuXG4gICAgLy8gdXRpbGl0eSBjbGFzc1xuICAgICAgICAuY29kaWNvbiB7XG5cbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnY29kaWNvbnMnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAgICAgICB9XG5cbiAgICAvLyB2YXJpYWJsZXNcbiAgICAgICAgJGljb24taG9tZTogXCJcXGU5MDBcIjtcbiAgICAgICAgJGljb24taG9tZTI6IFwiXFxlOTAxXCI7XG4gICAgICAgICRpY29uLWhvbWUzOiBcIlxcZTkwMlwiO1xuICAgICAgICAkaWNvbi1ob21lNDogXCJcXGU5MDNcIjtcbiAgICAgICAgJGljb24taG9tZTU6IFwiXFxlOTA0XCI7XG4gICAgICAgICRpY29uLWhvbWU2OiBcIlxcZTkwNVwiO1xuICAgICAgICAkaWNvbi1ob21lNzogXCJcXGU5MDZcIjtcbiAgICAgICAgJGljb24taG9tZTg6IFwiXFxlOTA3XCI7XG4gICAgICAgICRpY29uLWhvbWU5OiBcIlxcZTkwOFwiO1xuICAgICAgICAkaWNvbi1vZmZpY2U6IFwiXFxlOTA5XCI7XG4gICAgICAgICRpY29uLWNpdHk6IFwiXFxlOTBhXCI7XG4gICAgICAgICRpY29uLW5ld3NwYXBlcjogXCJcXGU5MGJcIjtcbiAgICAgICAgJGljb24tbWFnYXppbmU6IFwiXFxlOTBjXCI7XG4gICAgICAgICRpY29uLWRlc2lnbjogXCJcXGU5MGRcIjtcbiAgICAgICAgJGljb24tcGVuY2lsOiBcIlxcZTkwZVwiO1xuICAgICAgICAkaWNvbi1wZW5jaWwyOiBcIlxcZTkwZlwiO1xuICAgICAgICAkaWNvbi1wZW5jaWwzOiBcIlxcZTkxMFwiO1xuICAgICAgICAkaWNvbi1wZW5jaWw0OiBcIlxcZTkxMVwiO1xuICAgICAgICAkaWNvbi1wZW5jaWw1OiBcIlxcZTkxMlwiO1xuICAgICAgICAkaWNvbi1wZW5jaWw2OiBcIlxcZTkxM1wiO1xuICAgICAgICAkaWNvbi1wZW5jaWw3OiBcIlxcZTkxNFwiO1xuICAgICAgICAkaWNvbi1lcmFzZXI6IFwiXFxlOTE1XCI7XG4gICAgICAgICRpY29uLWVyYXNlcjI6IFwiXFxlOTE2XCI7XG4gICAgICAgICRpY29uLWVyYXNlcjM6IFwiXFxlOTE3XCI7XG4gICAgICAgICRpY29uLXF1aWxsOiBcIlxcZTkxOFwiO1xuICAgICAgICAkaWNvbi1xdWlsbDI6IFwiXFxlOTE5XCI7XG4gICAgICAgICRpY29uLXF1aWxsMzogXCJcXGU5MWFcIjtcbiAgICAgICAgJGljb24tcXVpbGw0OiBcIlxcZTkxYlwiO1xuICAgICAgICAkaWNvbi1wZW46IFwiXFxlOTFjXCI7XG4gICAgICAgICRpY29uLXBlbi1wbHVzOiBcIlxcZTkxZFwiO1xuICAgICAgICAkaWNvbi1wZW4tbWludXM6IFwiXFxlOTFlXCI7XG4gICAgICAgICRpY29uLXBlbjI6IFwiXFxlOTFmXCI7XG4gICAgICAgICRpY29uLXBlbjM6IFwiXFxlOTIwXCI7XG4gICAgICAgICRpY29uLXBlbjQ6IFwiXFxlOTIxXCI7XG4gICAgICAgICRpY29uLXBlbjU6IFwiXFxlOTIyXCI7XG4gICAgICAgICRpY29uLW1hcmtlcjogXCJcXGU5MjNcIjtcbiAgICAgICAgJGljb24tbWFya2VyMjogXCJcXGU5MjRcIjtcbiAgICAgICAgJGljb24tYmxvZzogXCJcXGU5MjVcIjtcbiAgICAgICAgJGljb24tYmxvZzI6IFwiXFxlOTI2XCI7XG4gICAgICAgICRpY29uLXBlbjY6IFwiXFxlOTI3XCI7XG4gICAgICAgICRpY29uLWJydXNoOiBcIlxcZTkyOFwiO1xuICAgICAgICAkaWNvbi1zcHJheTogXCJcXGU5MjlcIjtcbiAgICAgICAgJGljb24tcGFsZXR0ZTogXCJcXGU5MmFcIjtcbiAgICAgICAgJGljb24tcGFsZXR0ZTI6IFwiXFxlOTJiXCI7XG4gICAgICAgICRpY29uLWNvbG9yLXNhbXBsZXI6IFwiXFxlOTJjXCI7XG4gICAgICAgICRpY29uLXRvZ2dsZTogXCJcXGU5MmRcIjtcbiAgICAgICAgJGljb24tYnVja2V0OiBcIlxcZTkyZVwiO1xuICAgICAgICAkaWNvbi1idWNrZXQyOiBcIlxcZTkyZlwiO1xuICAgICAgICAkaWNvbi1ncmFkaWVudDogXCJcXGU5MzBcIjtcbiAgICAgICAgJGljb24tZXllZHJvcHBlcjogXCJcXGU5MzFcIjtcbiAgICAgICAgJGljb24tZXllZHJvcHBlcjI6IFwiXFxlOTMyXCI7XG4gICAgICAgICRpY29uLWV5ZWRyb3BwZXIzOiBcIlxcZTkzM1wiO1xuICAgICAgICAkaWNvbi1kcm9wbGV0OiBcIlxcZTkzNFwiO1xuICAgICAgICAkaWNvbi1kcm9wbGV0MjogXCJcXGU5MzVcIjtcbiAgICAgICAgJGljb24tZHJvcGxldC1jb250cmFzdDogXCJcXGU5MzZcIjtcbiAgICAgICAgJGljb24tY29sb3ItY2xlYXI6IFwiXFxlOTM3XCI7XG4gICAgICAgICRpY29uLXBhaW50LWZvcm1hdDogXCJcXGU5MzhcIjtcbiAgICAgICAgJGljb24tc3RhbXA6IFwiXFxlOTM5XCI7XG4gICAgICAgICRpY29uLWltYWdlczogXCJcXGU5M2FcIjtcbiAgICAgICAgJGljb24taW1hZ2U6IFwiXFxlOTNiXCI7XG4gICAgICAgICRpY29uLWltYWdlMjogXCJcXGU5M2NcIjtcbiAgICAgICAgJGljb24taW1hZ2UtY29tcGFyZTogXCJcXGU5M2RcIjtcbiAgICAgICAgJGljb24taW1hZ2VzMjogXCJcXGU5M2VcIjtcbiAgICAgICAgJGljb24taW1hZ2UzOiBcIlxcZTkzZlwiO1xuICAgICAgICAkaWNvbi1pbWFnZXMzOiBcIlxcZTk0MFwiO1xuICAgICAgICAkaWNvbi1pbWFnZTQ6IFwiXFxlOTQxXCI7XG4gICAgICAgICRpY29uLWltYWdlNTogXCJcXGU5NDJcIjtcbiAgICAgICAgJGljb24taW1hZ2U2OiBcIlxcZTk0M1wiO1xuICAgICAgICAkaWNvbi1jYW1lcmE6IFwiXFxlOTQ0XCI7XG4gICAgICAgICRpY29uLWNhbWVyYTI6IFwiXFxlOTQ1XCI7XG4gICAgICAgICRpY29uLWNhbWVyYTM6IFwiXFxlOTQ2XCI7XG4gICAgICAgICRpY29uLXNodXR0ZXI6IFwiXFxlOTQ3XCI7XG4gICAgICAgICRpY29uLWhlYWRwaG9uZXM6IFwiXFxlOTQ4XCI7XG4gICAgICAgICRpY29uLWhlYWRzZXQ6IFwiXFxlOTQ5XCI7XG4gICAgICAgICRpY29uLW11c2ljOiBcIlxcZTk0YVwiO1xuICAgICAgICAkaWNvbi1tdXNpYzI6IFwiXFxlOTRiXCI7XG4gICAgICAgICRpY29uLW11c2ljMzogXCJcXGU5NGNcIjtcbiAgICAgICAgJGljb24tbXVzaWM0OiBcIlxcZTk0ZFwiO1xuICAgICAgICAkaWNvbi1tdXNpYzU6IFwiXFxlOTRlXCI7XG4gICAgICAgICRpY29uLW11c2ljNjogXCJcXGU5NGZcIjtcbiAgICAgICAgJGljb24tYWxidW06IFwiXFxlOTUwXCI7XG4gICAgICAgICRpY29uLWNhc3NldHRlOiBcIlxcZTk1MVwiO1xuICAgICAgICAkaWNvbi10YXBlOiBcIlxcZTk1MlwiO1xuICAgICAgICAkaWNvbi1waWFubzogXCJcXGU5NTNcIjtcbiAgICAgICAgJGljb24tZ3VpdGFyOiBcIlxcZTk1NFwiO1xuICAgICAgICAkaWNvbi10cnVtcGV0OiBcIlxcZTk1NVwiO1xuICAgICAgICAkaWNvbi1zcGVha2VyczogXCJcXGU5NTZcIjtcbiAgICAgICAgJGljb24tcGxheTogXCJcXGU5NTdcIjtcbiAgICAgICAgJGljb24tcGxheTI6IFwiXFxlOTU4XCI7XG4gICAgICAgICRpY29uLWNsYXBib2FyZC1wbGF5OiBcIlxcZTk1OVwiO1xuICAgICAgICAkaWNvbi1jbGFwYm9hcmQ6IFwiXFxlOTVhXCI7XG4gICAgICAgICRpY29uLW1lZGlhOiBcIlxcZTk1YlwiO1xuICAgICAgICAkaWNvbi1wcmVzZW50YXRpb246IFwiXFxlOTVjXCI7XG4gICAgICAgICRpY29uLW1vdmllOiBcIlxcZTk1ZFwiO1xuICAgICAgICAkaWNvbi1maWxtOiBcIlxcZTk1ZVwiO1xuICAgICAgICAkaWNvbi1maWxtMjogXCJcXGU5NWZcIjtcbiAgICAgICAgJGljb24tZmlsbTM6IFwiXFxlOTYwXCI7XG4gICAgICAgICRpY29uLWZpbG00OiBcIlxcZTk2MVwiO1xuICAgICAgICAkaWNvbi12aWRlby1jYW1lcmE6IFwiXFxlOTYyXCI7XG4gICAgICAgICRpY29uLXZpZGVvLWNhbWVyYTI6IFwiXFxlOTYzXCI7XG4gICAgICAgICRpY29uLXZpZGVvLWNhbWVyYS1zbGFzaDogXCJcXGU5NjRcIjtcbiAgICAgICAgJGljb24tdmlkZW8tY2FtZXJhMzogXCJcXGU5NjVcIjtcbiAgICAgICAgJGljb24tdmlkZW8tY2FtZXJhNDogXCJcXGU5NjZcIjtcbiAgICAgICAgJGljb24tdmlkZW8tY2FtZXJhLXNsYXNoMjogXCJcXGU5NjdcIjtcbiAgICAgICAgJGljb24tdmlkZW8tY2FtZXJhNTogXCJcXGU5NjhcIjtcbiAgICAgICAgJGljb24tcmVjb3JkaW5nOiBcIlxcZTk2OVwiO1xuICAgICAgICAkaWNvbi1kaWNlOiBcIlxcZTk2YVwiO1xuICAgICAgICAkaWNvbi1nYW1lcGFkOiBcIlxcZTk2YlwiO1xuICAgICAgICAkaWNvbi1nYW1lcGFkMjogXCJcXGU5NmNcIjtcbiAgICAgICAgJGljb24tZ2FtZXBhZDM6IFwiXFxlOTZkXCI7XG4gICAgICAgICRpY29uLXBhY21hbjogXCJcXGU5NmVcIjtcbiAgICAgICAgJGljb24tc3BhZGVzOiBcIlxcZTk2ZlwiO1xuICAgICAgICAkaWNvbi1jbHViczogXCJcXGU5NzBcIjtcbiAgICAgICAgJGljb24tZGlhbW9uZHM6IFwiXFxlOTcxXCI7XG4gICAgICAgICRpY29uLWNoZXNzLWtpbmc6IFwiXFxlOTcyXCI7XG4gICAgICAgICRpY29uLWNoZXNzLXF1ZWVuOiBcIlxcZTk3M1wiO1xuICAgICAgICAkaWNvbi1jaGVzcy1yb29rOiBcIlxcZTk3NFwiO1xuICAgICAgICAkaWNvbi1jaGVzcy1iaXNob3A6IFwiXFxlOTc1XCI7XG4gICAgICAgICRpY29uLWNoZXNzLWtuaWdodDogXCJcXGU5NzZcIjtcbiAgICAgICAgJGljb24tY2hlc3MtcGF3bjogXCJcXGU5NzdcIjtcbiAgICAgICAgJGljb24tY2hlc3M6IFwiXFxlOTc4XCI7XG4gICAgICAgICRpY29uLWJ1bGxob3JuOiBcIlxcZTk3OVwiO1xuICAgICAgICAkaWNvbi1tZWdhcGhvbmU6IFwiXFxlOTdhXCI7XG4gICAgICAgICRpY29uLW5ldzogXCJcXGU5N2JcIjtcbiAgICAgICAgJGljb24tY29ubmVjdGlvbjogXCJcXGU5N2NcIjtcbiAgICAgICAgJGljb24tY29ubmVjdGlvbjI6IFwiXFxlOTdkXCI7XG4gICAgICAgICRpY29uLWNvbm5lY3Rpb24zOiBcIlxcZTk3ZVwiO1xuICAgICAgICAkaWNvbi1jb25uZWN0aW9uNDogXCJcXGU5N2ZcIjtcbiAgICAgICAgJGljb24tcG9kY2FzdDogXCJcXGU5ODBcIjtcbiAgICAgICAgJGljb24tc3RhdGlvbjogXCJcXGU5ODFcIjtcbiAgICAgICAgJGljb24tc3RhdGlvbjI6IFwiXFxlOTgyXCI7XG4gICAgICAgICRpY29uLWFudGVubmE6IFwiXFxlOTgzXCI7XG4gICAgICAgICRpY29uLXNhdGVsbGl0ZS1kaXNoOiBcIlxcZTk4NFwiO1xuICAgICAgICAkaWNvbi1zYXRlbGxpdGUtZGlzaDI6IFwiXFxlOTg1XCI7XG4gICAgICAgICRpY29uLWZlZWQ6IFwiXFxlOTg2XCI7XG4gICAgICAgICRpY29uLXBvZGNhc3QyOiBcIlxcZTk4N1wiO1xuICAgICAgICAkaWNvbi1hbnRlbm5hMjogXCJcXGU5ODhcIjtcbiAgICAgICAgJGljb24tbWljOiBcIlxcZTk4OVwiO1xuICAgICAgICAkaWNvbi1taWMtb2ZmOiBcIlxcZTk4YVwiO1xuICAgICAgICAkaWNvbi1taWMyOiBcIlxcZTk4YlwiO1xuICAgICAgICAkaWNvbi1taWMtb2ZmMjogXCJcXGU5OGNcIjtcbiAgICAgICAgJGljb24tbWljMzogXCJcXGU5OGRcIjtcbiAgICAgICAgJGljb24tbWljNDogXCJcXGU5OGVcIjtcbiAgICAgICAgJGljb24tbWljNTogXCJcXGU5OGZcIjtcbiAgICAgICAgJGljb24tYm9vazogXCJcXGU5OTBcIjtcbiAgICAgICAgJGljb24tYm9vazI6IFwiXFxlOTkxXCI7XG4gICAgICAgICRpY29uLWJvb2stcGxheTogXCJcXGU5OTJcIjtcbiAgICAgICAgJGljb24tYm9vazM6IFwiXFxlOTkzXCI7XG4gICAgICAgICRpY29uLWJvb2ttYXJrOiBcIlxcZTk5NFwiO1xuICAgICAgICAkaWNvbi1ib29rczogXCJcXGU5OTVcIjtcbiAgICAgICAgJGljb24tYXJjaGl2ZTogXCJcXGU5OTZcIjtcbiAgICAgICAgJGljb24tcmVhZGluZzogXCJcXGU5OTdcIjtcbiAgICAgICAgJGljb24tbGlicmFyeTogXCJcXGU5OThcIjtcbiAgICAgICAgJGljb24tbGlicmFyeTI6IFwiXFxlOTk5XCI7XG4gICAgICAgICRpY29uLWdyYWR1YXRpb246IFwiXFxlOTlhXCI7XG4gICAgICAgICRpY29uLWZpbGUtdGV4dDogXCJcXGU5OWJcIjtcbiAgICAgICAgJGljb24tcHJvZmlsZTogXCJcXGU5OWNcIjtcbiAgICAgICAgJGljb24tZmlsZS1lbXB0eTogXCJcXGU5OWRcIjtcbiAgICAgICAgJGljb24tZmlsZS1lbXB0eTI6IFwiXFxlOTllXCI7XG4gICAgICAgICRpY29uLWZpbGVzLWVtcHR5OiBcIlxcZTk5ZlwiO1xuICAgICAgICAkaWNvbi1maWxlcy1lbXB0eTI6IFwiXFxlOWEwXCI7XG4gICAgICAgICRpY29uLWZpbGUtcGx1czogXCJcXGU5YTFcIjtcbiAgICAgICAgJGljb24tZmlsZS1wbHVzMjogXCJcXGU5YTJcIjtcbiAgICAgICAgJGljb24tZmlsZS1taW51czogXCJcXGU5YTNcIjtcbiAgICAgICAgJGljb24tZmlsZS1taW51czI6IFwiXFxlOWE0XCI7XG4gICAgICAgICRpY29uLWZpbGUtZG93bmxvYWQ6IFwiXFxlOWE1XCI7XG4gICAgICAgICRpY29uLWZpbGUtZG93bmxvYWQyOiBcIlxcZTlhNlwiO1xuICAgICAgICAkaWNvbi1maWxlLXVwbG9hZDogXCJcXGU5YTdcIjtcbiAgICAgICAgJGljb24tZmlsZS11cGxvYWQyOiBcIlxcZTlhOFwiO1xuICAgICAgICAkaWNvbi1maWxlLWNoZWNrOiBcIlxcZTlhOVwiO1xuICAgICAgICAkaWNvbi1maWxlLWNoZWNrMjogXCJcXGU5YWFcIjtcbiAgICAgICAgJGljb24tZmlsZS1leWU6IFwiXFxlOWFiXCI7XG4gICAgICAgICRpY29uLWZpbGUtZXllMjogXCJcXGU5YWNcIjtcbiAgICAgICAgJGljb24tZmlsZS10ZXh0MjogXCJcXGU5YWRcIjtcbiAgICAgICAgJGljb24tZmlsZS10ZXh0MzogXCJcXGU5YWVcIjtcbiAgICAgICAgJGljb24tZmlsZS1waWN0dXJlOiBcIlxcZTlhZlwiO1xuICAgICAgICAkaWNvbi1maWxlLXBpY3R1cmUyOiBcIlxcZTliMFwiO1xuICAgICAgICAkaWNvbi1maWxlLW11c2ljOiBcIlxcZTliMVwiO1xuICAgICAgICAkaWNvbi1maWxlLW11c2ljMjogXCJcXGU5YjJcIjtcbiAgICAgICAgJGljb24tZmlsZS1wbGF5OiBcIlxcZTliM1wiO1xuICAgICAgICAkaWNvbi1maWxlLXBsYXkyOiBcIlxcZTliNFwiO1xuICAgICAgICAkaWNvbi1maWxlLXZpZGVvOiBcIlxcZTliNVwiO1xuICAgICAgICAkaWNvbi1maWxlLXZpZGVvMjogXCJcXGU5YjZcIjtcbiAgICAgICAgJGljb24tY29weTogXCJcXGU5YjdcIjtcbiAgICAgICAgJGljb24tY29weTI6IFwiXFxlOWI4XCI7XG4gICAgICAgICRpY29uLWZpbGUtemlwOiBcIlxcZTliOVwiO1xuICAgICAgICAkaWNvbi1maWxlLXppcDI6IFwiXFxlOWJhXCI7XG4gICAgICAgICRpY29uLWZpbGUteG1sOiBcIlxcZTliYlwiO1xuICAgICAgICAkaWNvbi1maWxlLXhtbDI6IFwiXFxlOWJjXCI7XG4gICAgICAgICRpY29uLWZpbGUtY3NzOiBcIlxcZTliZFwiO1xuICAgICAgICAkaWNvbi1maWxlLWNzczI6IFwiXFxlOWJlXCI7XG4gICAgICAgICRpY29uLWZpbGUtcHJlc2VudGF0aW9uOiBcIlxcZTliZlwiO1xuICAgICAgICAkaWNvbi1maWxlLXByZXNlbnRhdGlvbjI6IFwiXFxlOWMwXCI7XG4gICAgICAgICRpY29uLWZpbGUtc3RhdHM6IFwiXFxlOWMxXCI7XG4gICAgICAgICRpY29uLWZpbGUtc3RhdHMyOiBcIlxcZTljMlwiO1xuICAgICAgICAkaWNvbi1maWxlLWxvY2tlZDogXCJcXGU5YzNcIjtcbiAgICAgICAgJGljb24tZmlsZS1sb2NrZWQyOiBcIlxcZTljNFwiO1xuICAgICAgICAkaWNvbi1maWxlLXNwcmVhZHNoZWV0OiBcIlxcZTljNVwiO1xuICAgICAgICAkaWNvbi1maWxlLXNwcmVhZHNoZWV0MjogXCJcXGU5YzZcIjtcbiAgICAgICAgJGljb24tY29weTM6IFwiXFxlOWM3XCI7XG4gICAgICAgICRpY29uLWNvcHk0OiBcIlxcZTljOFwiO1xuICAgICAgICAkaWNvbi1wYXN0ZTogXCJcXGU5YzlcIjtcbiAgICAgICAgJGljb24tcGFzdGUyOiBcIlxcZTljYVwiO1xuICAgICAgICAkaWNvbi1wYXN0ZTM6IFwiXFxlOWNiXCI7XG4gICAgICAgICRpY29uLXBhc3RlNDogXCJcXGU5Y2NcIjtcbiAgICAgICAgJGljb24tc3RhY2s6IFwiXFxlOWNkXCI7XG4gICAgICAgICRpY29uLXN0YWNrMjogXCJcXGU5Y2VcIjtcbiAgICAgICAgJGljb24tc3RhY2szOiBcIlxcZTljZlwiO1xuICAgICAgICAkaWNvbi1mb2xkZXI6IFwiXFxlOWQwXCI7XG4gICAgICAgICRpY29uLWZvbGRlci1zZWFyY2g6IFwiXFxlOWQxXCI7XG4gICAgICAgICRpY29uLWZvbGRlci1kb3dubG9hZDogXCJcXGU5ZDJcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLXVwbG9hZDogXCJcXGU5ZDNcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLXBsdXM6IFwiXFxlOWQ0XCI7XG4gICAgICAgICRpY29uLWZvbGRlci1wbHVzMjogXCJcXGU5ZDVcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLW1pbnVzOiBcIlxcZTlkNlwiO1xuICAgICAgICAkaWNvbi1mb2xkZXItbWludXMyOiBcIlxcZTlkN1wiO1xuICAgICAgICAkaWNvbi1mb2xkZXItY2hlY2s6IFwiXFxlOWQ4XCI7XG4gICAgICAgICRpY29uLWZvbGRlci1oZWFydDogXCJcXGU5ZDlcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLXJlbW92ZTogXCJcXGU5ZGFcIjtcbiAgICAgICAgJGljb24tZm9sZGVyMjogXCJcXGU5ZGJcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLW9wZW46IFwiXFxlOWRjXCI7XG4gICAgICAgICRpY29uLWZvbGRlcjM6IFwiXFxlOWRkXCI7XG4gICAgICAgICRpY29uLWZvbGRlcjQ6IFwiXFxlOWRlXCI7XG4gICAgICAgICRpY29uLWZvbGRlci1wbHVzMzogXCJcXGU5ZGZcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLW1pbnVzMzogXCJcXGU5ZTBcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLXBsdXM0OiBcIlxcZTllMVwiO1xuICAgICAgICAkaWNvbi1mb2xkZXItbWludXM0OiBcIlxcZTllMlwiO1xuICAgICAgICAkaWNvbi1mb2xkZXItZG93bmxvYWQyOiBcIlxcZTllM1wiO1xuICAgICAgICAkaWNvbi1mb2xkZXItdXBsb2FkMjogXCJcXGU5ZTRcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLWRvd25sb2FkMzogXCJcXGU5ZTVcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLXVwbG9hZDM6IFwiXFxlOWU2XCI7XG4gICAgICAgICRpY29uLWZvbGRlcjU6IFwiXFxlOWU3XCI7XG4gICAgICAgICRpY29uLWZvbGRlci1vcGVuMjogXCJcXGU5ZThcIjtcbiAgICAgICAgJGljb24tZm9sZGVyNjogXCJcXGU5ZTlcIjtcbiAgICAgICAgJGljb24tZm9sZGVyLW9wZW4zOiBcIlxcZTllYVwiO1xuICAgICAgICAkaWNvbi1jZXJ0aWZpY2F0ZTogXCJcXGU5ZWJcIjtcbiAgICAgICAgJGljb24tY2M6IFwiXFxlOWVjXCI7XG4gICAgICAgICRpY29uLXByaWNlLXRhZzogXCJcXGU5ZWRcIjtcbiAgICAgICAgJGljb24tcHJpY2UtdGFnMjogXCJcXGU5ZWVcIjtcbiAgICAgICAgJGljb24tcHJpY2UtdGFnczogXCJcXGU5ZWZcIjtcbiAgICAgICAgJGljb24tcHJpY2UtdGFnMzogXCJcXGU5ZjBcIjtcbiAgICAgICAgJGljb24tcHJpY2UtdGFnczI6IFwiXFxlOWYxXCI7XG4gICAgICAgICRpY29uLXByaWNlLXRhZzQ6IFwiXFxlOWYyXCI7XG4gICAgICAgICRpY29uLXByaWNlLXRhZ3MzOiBcIlxcZTlmM1wiO1xuICAgICAgICAkaWNvbi1wcmljZS10YWc1OiBcIlxcZTlmNFwiO1xuICAgICAgICAkaWNvbi1wcmljZS10YWdzNDogXCJcXGU5ZjVcIjtcbiAgICAgICAgJGljb24tYmFyY29kZTogXCJcXGU5ZjZcIjtcbiAgICAgICAgJGljb24tYmFyY29kZTI6IFwiXFxlOWY3XCI7XG4gICAgICAgICRpY29uLXFyY29kZTogXCJcXGU5ZjhcIjtcbiAgICAgICAgJGljb24tdGlja2V0OiBcIlxcZTlmOVwiO1xuICAgICAgICAkaWNvbi10aWNrZXQyOiBcIlxcZTlmYVwiO1xuICAgICAgICAkaWNvbi10aGVhdGVyOiBcIlxcZTlmYlwiO1xuICAgICAgICAkaWNvbi1zdG9yZTogXCJcXGU5ZmNcIjtcbiAgICAgICAgJGljb24tc3RvcmUyOiBcIlxcZTlmZFwiO1xuICAgICAgICAkaWNvbi1jYXJ0OiBcIlxcZTlmZVwiO1xuICAgICAgICAkaWNvbi1jYXJ0MjogXCJcXGU5ZmZcIjtcbiAgICAgICAgJGljb24tY2FydDM6IFwiXFxlYTAwXCI7XG4gICAgICAgICRpY29uLWNhcnQ0OiBcIlxcZWEwMVwiO1xuICAgICAgICAkaWNvbi1jYXJ0NTogXCJcXGVhMDJcIjtcbiAgICAgICAgJGljb24tY2FydC1hZGQ6IFwiXFxlYTAzXCI7XG4gICAgICAgICRpY29uLWNhcnQtYWRkMjogXCJcXGVhMDRcIjtcbiAgICAgICAgJGljb24tY2FydC1yZW1vdmU6IFwiXFxlYTA1XCI7XG4gICAgICAgICRpY29uLWJhc2tldDogXCJcXGVhMDZcIjtcbiAgICAgICAgJGljb24tYmFnOiBcIlxcZWEwN1wiO1xuICAgICAgICAkaWNvbi1iYWcyOiBcIlxcZWEwOFwiO1xuICAgICAgICAkaWNvbi1wZXJjZW50OiBcIlxcZWEwOVwiO1xuICAgICAgICAkaWNvbi1jb2luczogXCJcXGVhMGFcIjtcbiAgICAgICAgJGljb24tY29pbi1kb2xsYXI6IFwiXFxlYTBiXCI7XG4gICAgICAgICRpY29uLWNvaW4tZXVybzogXCJcXGVhMGNcIjtcbiAgICAgICAgJGljb24tY29pbi1wb3VuZDogXCJcXGVhMGRcIjtcbiAgICAgICAgJGljb24tY29pbi15ZW46IFwiXFxlYTBlXCI7XG4gICAgICAgICRpY29uLXBpZ2d5LWJhbms6IFwiXFxlYTBmXCI7XG4gICAgICAgICRpY29uLXdhbGxldDogXCJcXGVhMTBcIjtcbiAgICAgICAgJGljb24tY2FzaDogXCJcXGVhMTFcIjtcbiAgICAgICAgJGljb24tY2FzaDI6IFwiXFxlYTEyXCI7XG4gICAgICAgICRpY29uLWNhc2gzOiBcIlxcZWExM1wiO1xuICAgICAgICAkaWNvbi1jYXNoNDogXCJcXGVhMTRcIjtcbiAgICAgICAgJGljb24tY3JlZGl0LWNhcmQ6IFwiXFxlYTE1XCI7XG4gICAgICAgICRpY29uLWNyZWRpdC1jYXJkMjogXCJcXGVhMTZcIjtcbiAgICAgICAgJGljb24tY2FsY3VsYXRvcjogXCJcXGVhMTdcIjtcbiAgICAgICAgJGljb24tY2FsY3VsYXRvcjI6IFwiXFxlYTE4XCI7XG4gICAgICAgICRpY29uLWNhbGN1bGF0b3IzOiBcIlxcZWExOVwiO1xuICAgICAgICAkaWNvbi1jaGlwOiBcIlxcZWExYVwiO1xuICAgICAgICAkaWNvbi1saWZlYnVveTogXCJcXGVhMWJcIjtcbiAgICAgICAgJGljb24tcGhvbmU6IFwiXFxlYTFjXCI7XG4gICAgICAgICRpY29uLXBob25lMjogXCJcXGVhMWRcIjtcbiAgICAgICAgJGljb24tcGhvbmUtc2xhc2g6IFwiXFxlYTFlXCI7XG4gICAgICAgICRpY29uLXBob25lLXdhdmU6IFwiXFxlYTFmXCI7XG4gICAgICAgICRpY29uLXBob25lLXBsdXM6IFwiXFxlYTIwXCI7XG4gICAgICAgICRpY29uLXBob25lLW1pbnVzOiBcIlxcZWEyMVwiO1xuICAgICAgICAkaWNvbi1waG9uZS1wbHVzMjogXCJcXGVhMjJcIjtcbiAgICAgICAgJGljb24tcGhvbmUtbWludXMyOiBcIlxcZWEyM1wiO1xuICAgICAgICAkaWNvbi1waG9uZS1pbmNvbWluZzogXCJcXGVhMjRcIjtcbiAgICAgICAgJGljb24tcGhvbmUtb3V0Z29pbmc6IFwiXFxlYTI1XCI7XG4gICAgICAgICRpY29uLXBob25lMzogXCJcXGVhMjZcIjtcbiAgICAgICAgJGljb24tcGhvbmUtc2xhc2gyOiBcIlxcZWEyN1wiO1xuICAgICAgICAkaWNvbi1waG9uZS13YXZlMjogXCJcXGVhMjhcIjtcbiAgICAgICAgJGljb24tcGhvbmUtaGFuZy11cDogXCJcXGVhMjlcIjtcbiAgICAgICAgJGljb24tcGhvbmUtaGFuZy11cDI6IFwiXFxlYTJhXCI7XG4gICAgICAgICRpY29uLWFkZHJlc3MtYm9vazogXCJcXGVhMmJcIjtcbiAgICAgICAgJGljb24tYWRkcmVzcy1ib29rMjogXCJcXGVhMmNcIjtcbiAgICAgICAgJGljb24tYWRkcmVzcy1ib29rMzogXCJcXGVhMmRcIjtcbiAgICAgICAgJGljb24tbm90ZWJvb2s6IFwiXFxlYTJlXCI7XG4gICAgICAgICRpY29uLWF0LXNpZ246IFwiXFxlYTJmXCI7XG4gICAgICAgICRpY29uLWVudmVsb3A6IFwiXFxlYTMwXCI7XG4gICAgICAgICRpY29uLWVudmVsb3AyOiBcIlxcZWEzMVwiO1xuICAgICAgICAkaWNvbi1lbnZlbG9wMzogXCJcXGVhMzJcIjtcbiAgICAgICAgJGljb24tZW52ZWxvcDQ6IFwiXFxlYTMzXCI7XG4gICAgICAgICRpY29uLWVudmVsb3A1OiBcIlxcZWEzNFwiO1xuICAgICAgICAkaWNvbi1tYWlsYm94OiBcIlxcZWEzNVwiO1xuICAgICAgICAkaWNvbi1wdXNocGluOiBcIlxcZWEzNlwiO1xuICAgICAgICAkaWNvbi1wdXNocGluMjogXCJcXGVhMzdcIjtcbiAgICAgICAgJGljb24tbG9jYXRpb246IFwiXFxlYTM4XCI7XG4gICAgICAgICRpY29uLWxvY2F0aW9uMjogXCJcXGVhMzlcIjtcbiAgICAgICAgJGljb24tbG9jYXRpb24zOiBcIlxcZWEzYVwiO1xuICAgICAgICAkaWNvbi1sb2NhdGlvbjQ6IFwiXFxlYTNiXCI7XG4gICAgICAgICRpY29uLWxvY2F0aW9uNTogXCJcXGVhM2NcIjtcbiAgICAgICAgJGljb24tbG9jYXRpb242OiBcIlxcZWEzZFwiO1xuICAgICAgICAkaWNvbi1sb2NhdGlvbjc6IFwiXFxlYTNlXCI7XG4gICAgICAgICRpY29uLWNvbXBhc3M6IFwiXFxlYTNmXCI7XG4gICAgICAgICRpY29uLWNvbXBhc3MyOiBcIlxcZWE0MFwiO1xuICAgICAgICAkaWNvbi1jb21wYXNzMzogXCJcXGVhNDFcIjtcbiAgICAgICAgJGljb24tY29tcGFzczQ6IFwiXFxlYTQyXCI7XG4gICAgICAgICRpY29uLWNvbXBhc3M1OiBcIlxcZWE0M1wiO1xuICAgICAgICAkaWNvbi1jb21wYXNzNjogXCJcXGVhNDRcIjtcbiAgICAgICAgJGljb24tbWFwOiBcIlxcZWE0NVwiO1xuICAgICAgICAkaWNvbi1tYXAyOiBcIlxcZWE0NlwiO1xuICAgICAgICAkaWNvbi1tYXAzOiBcIlxcZWE0N1wiO1xuICAgICAgICAkaWNvbi1tYXA0OiBcIlxcZWE0OFwiO1xuICAgICAgICAkaWNvbi1tYXA1OiBcIlxcZWE0OVwiO1xuICAgICAgICAkaWNvbi1kaXJlY3Rpb246IFwiXFxlYTRhXCI7XG4gICAgICAgICRpY29uLXJlc2V0OiBcIlxcZWE0YlwiO1xuICAgICAgICAkaWNvbi1oaXN0b3J5OiBcIlxcZWE0Y1wiO1xuICAgICAgICAkaWNvbi1jbG9jazogXCJcXGVhNGRcIjtcbiAgICAgICAgJGljb24tY2xvY2syOiBcIlxcZWE0ZVwiO1xuICAgICAgICAkaWNvbi1jbG9jazM6IFwiXFxlYTRmXCI7XG4gICAgICAgICRpY29uLWNsb2NrNDogXCJcXGVhNTBcIjtcbiAgICAgICAgJGljb24td2F0Y2g6IFwiXFxlYTUxXCI7XG4gICAgICAgICRpY29uLXdhdGNoMjogXCJcXGVhNTJcIjtcbiAgICAgICAgJGljb24tYWxhcm06IFwiXFxlYTUzXCI7XG4gICAgICAgICRpY29uLWFsYXJtLWFkZDogXCJcXGVhNTRcIjtcbiAgICAgICAgJGljb24tYWxhcm0tY2hlY2s6IFwiXFxlYTU1XCI7XG4gICAgICAgICRpY29uLWFsYXJtLWNhbmNlbDogXCJcXGVhNTZcIjtcbiAgICAgICAgJGljb24tYmVsbDogXCJcXGVhNTdcIjtcbiAgICAgICAgJGljb24tYmVsbDI6IFwiXFxlYTU4XCI7XG4gICAgICAgICRpY29uLWJlbGwzOiBcIlxcZWE1OVwiO1xuICAgICAgICAkaWNvbi1iZWxsLXBsdXM6IFwiXFxlYTVhXCI7XG4gICAgICAgICRpY29uLWJlbGwtbWludXM6IFwiXFxlYTViXCI7XG4gICAgICAgICRpY29uLWJlbGwtY2hlY2s6IFwiXFxlYTVjXCI7XG4gICAgICAgICRpY29uLWJlbGwtY3Jvc3M6IFwiXFxlYTVkXCI7XG4gICAgICAgICRpY29uLXN0b3B3YXRjaDogXCJcXGVhNWVcIjtcbiAgICAgICAgJGljb24tY2FsZW5kYXI6IFwiXFxlYTVmXCI7XG4gICAgICAgICRpY29uLWNhbGVuZGFyMjogXCJcXGVhNjBcIjtcbiAgICAgICAgJGljb24tY2FsZW5kYXIzOiBcIlxcZWE2MVwiO1xuICAgICAgICAkaWNvbi1jYWxlbmRhcjQ6IFwiXFxlYTYyXCI7XG4gICAgICAgICRpY29uLWNhbGVuZGFyNTogXCJcXGVhNjNcIjtcbiAgICAgICAgJGljb24tY2FsZW5kYXItZW1wdHk6IFwiXFxlYTY0XCI7XG4gICAgICAgICRpY29uLWNhbGVuZGFyLWRheTogXCJcXGVhNjVcIjtcbiAgICAgICAgJGljb24tY2FsZW5kYXItd2VlazogXCJcXGVhNjZcIjtcbiAgICAgICAgJGljb24tcHJpbnRlcjogXCJcXGVhNjdcIjtcbiAgICAgICAgJGljb24tcHJpbnRlcjI6IFwiXFxlYTY4XCI7XG4gICAgICAgICRpY29uLXByaW50ZXIzOiBcIlxcZWE2OVwiO1xuICAgICAgICAkaWNvbi1wcmludGVyNDogXCJcXGVhNmFcIjtcbiAgICAgICAgJGljb24tc2hyZWRkZXI6IFwiXFxlYTZiXCI7XG4gICAgICAgICRpY29uLW1vdXNlOiBcIlxcZWE2Y1wiO1xuICAgICAgICAkaWNvbi1tb3VzZTI6IFwiXFxlYTZkXCI7XG4gICAgICAgICRpY29uLW1vdXNlLWxlZnQ6IFwiXFxlYTZlXCI7XG4gICAgICAgICRpY29uLW1vdXNlLXJpZ2h0OiBcIlxcZWE2ZlwiO1xuICAgICAgICAkaWNvbi1rZXlib2FyZDogXCJcXGVhNzBcIjtcbiAgICAgICAgJGljb24ta2V5Ym9hcmQyOiBcIlxcZWE3MVwiO1xuICAgICAgICAkaWNvbi10eXBld3JpdGVyOiBcIlxcZWE3MlwiO1xuICAgICAgICAkaWNvbi1kaXNwbGF5OiBcIlxcZWE3M1wiO1xuICAgICAgICAkaWNvbi1kaXNwbGF5MjogXCJcXGVhNzRcIjtcbiAgICAgICAgJGljb24tZGlzcGxheTM6IFwiXFxlYTc1XCI7XG4gICAgICAgICRpY29uLWRpc3BsYXk0OiBcIlxcZWE3NlwiO1xuICAgICAgICAkaWNvbi1sYXB0b3A6IFwiXFxlYTc3XCI7XG4gICAgICAgICRpY29uLW1vYmlsZTogXCJcXGVhNzhcIjtcbiAgICAgICAgJGljb24tbW9iaWxlMjogXCJcXGVhNzlcIjtcbiAgICAgICAgJGljb24tdGFibGV0OiBcIlxcZWE3YVwiO1xuICAgICAgICAkaWNvbi1tb2JpbGUzOiBcIlxcZWE3YlwiO1xuICAgICAgICAkaWNvbi10djogXCJcXGVhN2NcIjtcbiAgICAgICAgJGljb24tcmFkaW86IFwiXFxlYTdkXCI7XG4gICAgICAgICRpY29uLWNhYmluZXQ6IFwiXFxlYTdlXCI7XG4gICAgICAgICRpY29uLWRyYXdlcjogXCJcXGVhN2ZcIjtcbiAgICAgICAgJGljb24tZHJhd2VyMjogXCJcXGVhODBcIjtcbiAgICAgICAgJGljb24tZHJhd2VyLW91dDogXCJcXGVhODFcIjtcbiAgICAgICAgJGljb24tZHJhd2VyLWluOiBcIlxcZWE4MlwiO1xuICAgICAgICAkaWNvbi1kcmF3ZXIzOiBcIlxcZWE4M1wiO1xuICAgICAgICAkaWNvbi1ib3g6IFwiXFxlYTg0XCI7XG4gICAgICAgICRpY29uLWJveC1hZGQ6IFwiXFxlYTg1XCI7XG4gICAgICAgICRpY29uLWJveC1yZW1vdmU6IFwiXFxlYTg2XCI7XG4gICAgICAgICRpY29uLWRvd25sb2FkOiBcIlxcZWE4N1wiO1xuICAgICAgICAkaWNvbi11cGxvYWQ6IFwiXFxlYTg4XCI7XG4gICAgICAgICRpY29uLWZsb3BweS1kaXNrOiBcIlxcZWE4OVwiO1xuICAgICAgICAkaWNvbi1mbG9wcHktZGlza3M6IFwiXFxlYThhXCI7XG4gICAgICAgICRpY29uLWZsb3BweS1kaXNrczI6IFwiXFxlYThiXCI7XG4gICAgICAgICRpY29uLWZsb3BweS1kaXNrMjogXCJcXGVhOGNcIjtcbiAgICAgICAgJGljb24tZmxvcHB5LWRpc2szOiBcIlxcZWE4ZFwiO1xuICAgICAgICAkaWNvbi1kaXNrOiBcIlxcZWE4ZVwiO1xuICAgICAgICAkaWNvbi1kaXNrMjogXCJcXGVhOGZcIjtcbiAgICAgICAgJGljb24tdXNiLXN0aWNrOiBcIlxcZWE5MFwiO1xuICAgICAgICAkaWNvbi1kcml2ZTogXCJcXGVhOTFcIjtcbiAgICAgICAgJGljb24tc2VydmVyOiBcIlxcZWE5MlwiO1xuICAgICAgICAkaWNvbi1kYXRhYmFzZTogXCJcXGVhOTNcIjtcbiAgICAgICAgJGljb24tZGF0YWJhc2UyOiBcIlxcZWE5NFwiO1xuICAgICAgICAkaWNvbi1kYXRhYmFzZTM6IFwiXFxlYTk1XCI7XG4gICAgICAgICRpY29uLWRhdGFiYXNlNDogXCJcXGVhOTZcIjtcbiAgICAgICAgJGljb24tZGF0YWJhc2UtbWVudTogXCJcXGVhOTdcIjtcbiAgICAgICAgJGljb24tZGF0YWJhc2UtYWRkOiBcIlxcZWE5OFwiO1xuICAgICAgICAkaWNvbi1kYXRhYmFzZS1yZW1vdmU6IFwiXFxlYTk5XCI7XG4gICAgICAgICRpY29uLWRhdGFiYXNlLWluc2VydDogXCJcXGVhOWFcIjtcbiAgICAgICAgJGljb24tZGF0YWJhc2UtZXhwb3J0OiBcIlxcZWE5YlwiO1xuICAgICAgICAkaWNvbi1kYXRhYmFzZS11cGxvYWQ6IFwiXFxlYTljXCI7XG4gICAgICAgICRpY29uLWRhdGFiYXNlLXJlZnJlc2g6IFwiXFxlYTlkXCI7XG4gICAgICAgICRpY29uLWRhdGFiYXNlLWRpZmY6IFwiXFxlYTllXCI7XG4gICAgICAgICRpY29uLWRhdGFiYXNlLWVkaXQ6IFwiXFxlYTlmXCI7XG4gICAgICAgICRpY29uLWRhdGFiYXNlLWVkaXQyOiBcIlxcZWFhMFwiO1xuICAgICAgICAkaWNvbi1kYXRhYmFzZS1jaGVjazogXCJcXGVhYTFcIjtcbiAgICAgICAgJGljb24tZGF0YWJhc2UtYXJyb3c6IFwiXFxlYWEyXCI7XG4gICAgICAgICRpY29uLWRhdGFiYXNlLXRpbWU6IFwiXFxlYWEzXCI7XG4gICAgICAgICRpY29uLWRhdGFiYXNlLXRpbWUyOiBcIlxcZWFhNFwiO1xuICAgICAgICAkaWNvbi11bmRvOiBcIlxcZWFhNVwiO1xuICAgICAgICAkaWNvbi1yZWRvOiBcIlxcZWFhNlwiO1xuICAgICAgICAkaWNvbi1yb3RhdGUtY2N3OiBcIlxcZWFhN1wiO1xuICAgICAgICAkaWNvbi1yb3RhdGUtY3c6IFwiXFxlYWE4XCI7XG4gICAgICAgICRpY29uLXJvdGF0ZS1jY3cyOiBcIlxcZWFhOVwiO1xuICAgICAgICAkaWNvbi1yb3RhdGUtY3cyOiBcIlxcZWFhYVwiO1xuICAgICAgICAkaWNvbi1yb3RhdGUtY2N3MzogXCJcXGVhYWJcIjtcbiAgICAgICAgJGljb24tcm90YXRlLWN3MzogXCJcXGVhYWNcIjtcbiAgICAgICAgJGljb24tZmxpcC12ZXJ0aWNhbDogXCJcXGVhYWRcIjtcbiAgICAgICAgJGljb24tZmxpcC12ZXJ0aWNhbDI6IFwiXFxlYWFlXCI7XG4gICAgICAgICRpY29uLWZsaXAtaG9yaXpvbnRhbDogXCJcXGVhYWZcIjtcbiAgICAgICAgJGljb24tZmxpcC1ob3Jpem9udGFsMjogXCJcXGVhYjBcIjtcbiAgICAgICAgJGljb24tZmxpcC12ZXJ0aWNhbDM6IFwiXFxlYWIxXCI7XG4gICAgICAgICRpY29uLWZsaXAtdmVydGljYWw0OiBcIlxcZWFiMlwiO1xuICAgICAgICAkaWNvbi1hbmdsZTogXCJcXGVhYjNcIjtcbiAgICAgICAgJGljb24tc2hlYXI6IFwiXFxlYWI0XCI7XG4gICAgICAgICRpY29uLXVuaXRlOiBcIlxcZWFiNVwiO1xuICAgICAgICAkaWNvbi1zdWJ0cmFjdDogXCJcXGVhYjZcIjtcbiAgICAgICAgJGljb24taW50ZXJzZXQ6IFwiXFxlYWI3XCI7XG4gICAgICAgICRpY29uLWV4Y2x1ZGU6IFwiXFxlYWI4XCI7XG4gICAgICAgICRpY29uLWFsaWduLWxlZnQ6IFwiXFxlYWI5XCI7XG4gICAgICAgICRpY29uLWFsaWduLWNlbnRlci1ob3Jpem9udGFsOiBcIlxcZWFiYVwiO1xuICAgICAgICAkaWNvbi1hbGlnbi1yaWdodDogXCJcXGVhYmJcIjtcbiAgICAgICAgJGljb24tYWxpZ24tdG9wOiBcIlxcZWFiY1wiO1xuICAgICAgICAkaWNvbi1hbGlnbi1jZW50ZXItdmVydGljYWw6IFwiXFxlYWJkXCI7XG4gICAgICAgICRpY29uLWFsaWduLWJvdHRvbTogXCJcXGVhYmVcIjtcbiAgICAgICAgJGljb24tdW5kbzI6IFwiXFxlYWJmXCI7XG4gICAgICAgICRpY29uLXJlZG8yOiBcIlxcZWFjMFwiO1xuICAgICAgICAkaWNvbi1mb3J3YXJkOiBcIlxcZWFjMVwiO1xuICAgICAgICAkaWNvbi1yZXBseTogXCJcXGVhYzJcIjtcbiAgICAgICAgJGljb24tcmVwbHktYWxsOiBcIlxcZWFjM1wiO1xuICAgICAgICAkaWNvbi1idWJibGU6IFwiXFxlYWM0XCI7XG4gICAgICAgICRpY29uLWJ1YmJsZXM6IFwiXFxlYWM1XCI7XG4gICAgICAgICRpY29uLWJ1YmJsZXMyOiBcIlxcZWFjNlwiO1xuICAgICAgICAkaWNvbi1idWJibGUyOiBcIlxcZWFjN1wiO1xuICAgICAgICAkaWNvbi1idWJibGVzMzogXCJcXGVhYzhcIjtcbiAgICAgICAgJGljb24tYnViYmxlczQ6IFwiXFxlYWM5XCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1ub3RpZmljYXRpb246IFwiXFxlYWNhXCI7XG4gICAgICAgICRpY29uLWJ1YmJsZXM1OiBcIlxcZWFjYlwiO1xuICAgICAgICAkaWNvbi1idWJibGVzNjogXCJcXGVhY2NcIjtcbiAgICAgICAgJGljb24tYnViYmxlMzogXCJcXGVhY2RcIjtcbiAgICAgICAgJGljb24tYnViYmxlLWRvdHM6IFwiXFxlYWNlXCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1saW5lczogXCJcXGVhY2ZcIjtcbiAgICAgICAgJGljb24tYnViYmxlNDogXCJcXGVhZDBcIjtcbiAgICAgICAgJGljb24tYnViYmxlLWRvdHMyOiBcIlxcZWFkMVwiO1xuICAgICAgICAkaWNvbi1idWJibGUtbGluZXMyOiBcIlxcZWFkMlwiO1xuICAgICAgICAkaWNvbi1idWJibGU1OiBcIlxcZWFkM1wiO1xuICAgICAgICAkaWNvbi1idWJibGU2OiBcIlxcZWFkNFwiO1xuICAgICAgICAkaWNvbi1idWJibGVzNzogXCJcXGVhZDVcIjtcbiAgICAgICAgJGljb24tYnViYmxlNzogXCJcXGVhZDZcIjtcbiAgICAgICAgJGljb24tYnViYmxlczg6IFwiXFxlYWQ3XCI7XG4gICAgICAgICRpY29uLWJ1YmJsZTg6IFwiXFxlYWQ4XCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1kb3RzMzogXCJcXGVhZDlcIjtcbiAgICAgICAgJGljb24tYnViYmxlLWxpbmVzMzogXCJcXGVhZGFcIjtcbiAgICAgICAgJGljb24tYnViYmxlOTogXCJcXGVhZGJcIjtcbiAgICAgICAgJGljb24tYnViYmxlLWRvdHM0OiBcIlxcZWFkY1wiO1xuICAgICAgICAkaWNvbi1idWJibGUtbGluZXM0OiBcIlxcZWFkZFwiO1xuICAgICAgICAkaWNvbi1idWJibGVzOTogXCJcXGVhZGVcIjtcbiAgICAgICAgJGljb24tYnViYmxlczEwOiBcIlxcZWFkZlwiO1xuICAgICAgICAkaWNvbi1idWJibGUtYmxvY2tlZDogXCJcXGVhZTBcIjtcbiAgICAgICAgJGljb24tYnViYmxlLXF1b3RlOiBcIlxcZWFlMVwiO1xuICAgICAgICAkaWNvbi1idWJibGUtdXNlcjogXCJcXGVhZTJcIjtcbiAgICAgICAgJGljb24tYnViYmxlLXNtaWxleTogXCJcXGVhZTNcIjtcbiAgICAgICAgJGljb24tYnViYmxlLWNoZWNrOiBcIlxcZWFlNFwiO1xuICAgICAgICAkaWNvbi1idWJibGUtdmlkZW86IFwiXFxlYWU1XCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1saW5rOiBcIlxcZWFlNlwiO1xuICAgICAgICAkaWNvbi1idWJibGUtbG9jazogXCJcXGVhZTdcIjtcbiAgICAgICAgJGljb24tYnViYmxlLXN0YXI6IFwiXFxlYWU4XCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1oZWFydDogXCJcXGVhZTlcIjtcbiAgICAgICAgJGljb24tYnViYmxlLXBhcGVyY2xpcDogXCJcXGVhZWFcIjtcbiAgICAgICAgJGljb24tYnViYmxlLWNhbmNlbDogXCJcXGVhZWJcIjtcbiAgICAgICAgJGljb24tYnViYmxlLXBsdXM6IFwiXFxlYWVjXCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1taW51czogXCJcXGVhZWRcIjtcbiAgICAgICAgJGljb24tYnViYmxlLW5vdGlmaWNhdGlvbjI6IFwiXFxlYWVlXCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1sZWZ0OiBcIlxcZWFlZlwiO1xuICAgICAgICAkaWNvbi1idWJibGUtcmlnaHQ6IFwiXFxlYWYwXCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1maXJzdDogXCJcXGVhZjFcIjtcbiAgICAgICAgJGljb24tYnViYmxlLWxhc3Q6IFwiXFxlYWYyXCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1yZXBseTogXCJcXGVhZjNcIjtcbiAgICAgICAgJGljb24tYnViYmxlLWZvcndhcmQ6IFwiXFxlYWY0XCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1yZXBseTI6IFwiXFxlYWY1XCI7XG4gICAgICAgICRpY29uLWJ1YmJsZS1mb3J3YXJkMjogXCJcXGVhZjZcIjtcbiAgICAgICAgJGljb24tdXNlcjogXCJcXGVhZjdcIjtcbiAgICAgICAgJGljb24tdXNlcnM6IFwiXFxlYWY4XCI7XG4gICAgICAgICRpY29uLXVzZXItcGx1czogXCJcXGVhZjlcIjtcbiAgICAgICAgJGljb24tdXNlci1taW51czogXCJcXGVhZmFcIjtcbiAgICAgICAgJGljb24tdXNlci1jYW5jZWw6IFwiXFxlYWZiXCI7XG4gICAgICAgICRpY29uLXVzZXItYmxvY2s6IFwiXFxlYWZjXCI7XG4gICAgICAgICRpY29uLXVzZXItbG9jazogXCJcXGVhZmRcIjtcbiAgICAgICAgJGljb24tdXNlci1jaGVjazogXCJcXGVhZmVcIjtcbiAgICAgICAgJGljb24tdXNlcnMyOiBcIlxcZWFmZlwiO1xuICAgICAgICAkaWNvbi11c2VyMjogXCJcXGViMDBcIjtcbiAgICAgICAgJGljb24tdXNlcnMzOiBcIlxcZWIwMVwiO1xuICAgICAgICAkaWNvbi11c2VyLXBsdXMyOiBcIlxcZWIwMlwiO1xuICAgICAgICAkaWNvbi11c2VyLW1pbnVzMjogXCJcXGViMDNcIjtcbiAgICAgICAgJGljb24tdXNlci1jYW5jZWwyOiBcIlxcZWIwNFwiO1xuICAgICAgICAkaWNvbi11c2VyLWJsb2NrMjogXCJcXGViMDVcIjtcbiAgICAgICAgJGljb24tdXNlci1sb2NrMjogXCJcXGViMDZcIjtcbiAgICAgICAgJGljb24tdXNlci1jaGVjazI6IFwiXFxlYjA3XCI7XG4gICAgICAgICRpY29uLXVzZXIzOiBcIlxcZWIwOFwiO1xuICAgICAgICAkaWNvbi11c2VyNDogXCJcXGViMDlcIjtcbiAgICAgICAgJGljb24tdXNlcjU6IFwiXFxlYjBhXCI7XG4gICAgICAgICRpY29uLXVzZXI2OiBcIlxcZWIwYlwiO1xuICAgICAgICAkaWNvbi11c2VyczQ6IFwiXFxlYjBjXCI7XG4gICAgICAgICRpY29uLXVzZXItdGllOiBcIlxcZWIwZFwiO1xuICAgICAgICAkaWNvbi11c2VyNzogXCJcXGViMGVcIjtcbiAgICAgICAgJGljb24tdXNlcnM1OiBcIlxcZWIwZlwiO1xuICAgICAgICAkaWNvbi1jb2xsYWJvcmF0aW9uOiBcIlxcZWIxMFwiO1xuICAgICAgICAkaWNvbi12Y2FyZDogXCJcXGViMTFcIjtcbiAgICAgICAgJGljb24taGF0OiBcIlxcZWIxMlwiO1xuICAgICAgICAkaWNvbi1ib3d0aWU6IFwiXFxlYjEzXCI7XG4gICAgICAgICRpY29uLXRpZTogXCJcXGViMTRcIjtcbiAgICAgICAgJGljb24taGFuZ2VyOiBcIlxcZWIxNVwiO1xuICAgICAgICAkaWNvbi10c2hpcnQ6IFwiXFxlYjE2XCI7XG4gICAgICAgICRpY29uLXBhbnRzOiBcIlxcZWIxN1wiO1xuICAgICAgICAkaWNvbi1zaG9ydHM6IFwiXFxlYjE4XCI7XG4gICAgICAgICRpY29uLXNvY2s6IFwiXFxlYjE5XCI7XG4gICAgICAgICRpY29uLWxhdW5kcnk6IFwiXFxlYjFhXCI7XG4gICAgICAgICRpY29uLXF1b3Rlcy1sZWZ0OiBcIlxcZWIxYlwiO1xuICAgICAgICAkaWNvbi1xdW90ZXMtcmlnaHQ6IFwiXFxlYjFjXCI7XG4gICAgICAgICRpY29uLXF1b3Rlcy1sZWZ0MjogXCJcXGViMWRcIjtcbiAgICAgICAgJGljb24tcXVvdGVzLXJpZ2h0MjogXCJcXGViMWVcIjtcbiAgICAgICAgJGljb24taG91ci1nbGFzczogXCJcXGViMWZcIjtcbiAgICAgICAgJGljb24taG91ci1nbGFzczI6IFwiXFxlYjIwXCI7XG4gICAgICAgICRpY29uLWhvdXItZ2xhc3MzOiBcIlxcZWIyMVwiO1xuICAgICAgICAkaWNvbi1zcGlubmVyOiBcIlxcZWIyMlwiO1xuICAgICAgICAkaWNvbi1zcGlubmVyMjogXCJcXGViMjNcIjtcbiAgICAgICAgJGljb24tc3Bpbm5lcjM6IFwiXFxlYjI0XCI7XG4gICAgICAgICRpY29uLXNwaW5uZXI0OiBcIlxcZWIyNVwiO1xuICAgICAgICAkaWNvbi1zcGlubmVyNTogXCJcXGViMjZcIjtcbiAgICAgICAgJGljb24tc3Bpbm5lcjY6IFwiXFxlYjI3XCI7XG4gICAgICAgICRpY29uLXNwaW5uZXI3OiBcIlxcZWIyOFwiO1xuICAgICAgICAkaWNvbi1zcGlubmVyODogXCJcXGViMjlcIjtcbiAgICAgICAgJGljb24tc3Bpbm5lcjk6IFwiXFxlYjJhXCI7XG4gICAgICAgICRpY29uLXNwaW5uZXIxMDogXCJcXGViMmJcIjtcbiAgICAgICAgJGljb24tc3Bpbm5lcjExOiBcIlxcZWIyY1wiO1xuICAgICAgICAkaWNvbi1taWNyb3Njb3BlOiBcIlxcZWIyZFwiO1xuICAgICAgICAkaWNvbi1iaW5vY3VsYXJzOiBcIlxcZWIyZVwiO1xuICAgICAgICAkaWNvbi1iaW5vY3VsYXJzMjogXCJcXGViMmZcIjtcbiAgICAgICAgJGljb24tc2VhcmNoOiBcIlxcZWIzMFwiO1xuICAgICAgICAkaWNvbi16b29tLWluOiBcIlxcZWIzMVwiO1xuICAgICAgICAkaWNvbi16b29tLW91dDogXCJcXGViMzJcIjtcbiAgICAgICAgJGljb24tc2VhcmNoMjogXCJcXGViMzNcIjtcbiAgICAgICAgJGljb24tem9vbS1pbjI6IFwiXFxlYjM0XCI7XG4gICAgICAgICRpY29uLXpvb20tb3V0MjogXCJcXGViMzVcIjtcbiAgICAgICAgJGljb24tc2VhcmNoMzogXCJcXGViMzZcIjtcbiAgICAgICAgJGljb24tc2VhcmNoNDogXCJcXGViMzdcIjtcbiAgICAgICAgJGljb24tem9vbS1pbjM6IFwiXFxlYjM4XCI7XG4gICAgICAgICRpY29uLXpvb20tb3V0MzogXCJcXGViMzlcIjtcbiAgICAgICAgJGljb24tc2VhcmNoNTogXCJcXGViM2FcIjtcbiAgICAgICAgJGljb24tc2VhcmNoNjogXCJcXGViM2JcIjtcbiAgICAgICAgJGljb24tZW5sYXJnZTogXCJcXGViM2NcIjtcbiAgICAgICAgJGljb24tc2hyaW5rOiBcIlxcZWIzZFwiO1xuICAgICAgICAkaWNvbi1lbmxhcmdlMjogXCJcXGViM2VcIjtcbiAgICAgICAgJGljb24tc2hyaW5rMjogXCJcXGViM2ZcIjtcbiAgICAgICAgJGljb24tZW5sYXJnZTM6IFwiXFxlYjQwXCI7XG4gICAgICAgICRpY29uLXNocmluazM6IFwiXFxlYjQxXCI7XG4gICAgICAgICRpY29uLWVubGFyZ2U0OiBcIlxcZWI0MlwiO1xuICAgICAgICAkaWNvbi1zaHJpbms0OiBcIlxcZWI0M1wiO1xuICAgICAgICAkaWNvbi1lbmxhcmdlNTogXCJcXGViNDRcIjtcbiAgICAgICAgJGljb24tc2hyaW5rNTogXCJcXGViNDVcIjtcbiAgICAgICAgJGljb24tZW5sYXJnZTY6IFwiXFxlYjQ2XCI7XG4gICAgICAgICRpY29uLXNocmluazY6IFwiXFxlYjQ3XCI7XG4gICAgICAgICRpY29uLWVubGFyZ2U3OiBcIlxcZWI0OFwiO1xuICAgICAgICAkaWNvbi1zaHJpbms3OiBcIlxcZWI0OVwiO1xuICAgICAgICAkaWNvbi1rZXk6IFwiXFxlYjRhXCI7XG4gICAgICAgICRpY29uLWtleTI6IFwiXFxlYjRiXCI7XG4gICAgICAgICRpY29uLWtleTM6IFwiXFxlYjRjXCI7XG4gICAgICAgICRpY29uLWtleTQ6IFwiXFxlYjRkXCI7XG4gICAgICAgICRpY29uLWtleTU6IFwiXFxlYjRlXCI7XG4gICAgICAgICRpY29uLWtleWhvbGU6IFwiXFxlYjRmXCI7XG4gICAgICAgICRpY29uLWxvY2s6IFwiXFxlYjUwXCI7XG4gICAgICAgICRpY29uLWxvY2syOiBcIlxcZWI1MVwiO1xuICAgICAgICAkaWNvbi1sb2NrMzogXCJcXGViNTJcIjtcbiAgICAgICAgJGljb24tbG9jazQ6IFwiXFxlYjUzXCI7XG4gICAgICAgICRpY29uLXVubG9ja2VkOiBcIlxcZWI1NFwiO1xuICAgICAgICAkaWNvbi1sb2NrNTogXCJcXGViNTVcIjtcbiAgICAgICAgJGljb24tdW5sb2NrZWQyOiBcIlxcZWI1NlwiO1xuICAgICAgICAkaWNvbi1zYWZlOiBcIlxcZWI1N1wiO1xuICAgICAgICAkaWNvbi13cmVuY2g6IFwiXFxlYjU4XCI7XG4gICAgICAgICRpY29uLXdyZW5jaDI6IFwiXFxlYjU5XCI7XG4gICAgICAgICRpY29uLXdyZW5jaDM6IFwiXFxlYjVhXCI7XG4gICAgICAgICRpY29uLWVxdWFsaXplcjogXCJcXGViNWJcIjtcbiAgICAgICAgJGljb24tZXF1YWxpemVyMjogXCJcXGViNWNcIjtcbiAgICAgICAgJGljb24tZXF1YWxpemVyMzogXCJcXGViNWRcIjtcbiAgICAgICAgJGljb24tZXF1YWxpemVyNDogXCJcXGViNWVcIjtcbiAgICAgICAgJGljb24tY29nOiBcIlxcZWI1ZlwiO1xuICAgICAgICAkaWNvbi1jb2dzOiBcIlxcZWI2MFwiO1xuICAgICAgICAkaWNvbi1jb2cyOiBcIlxcZWI2MVwiO1xuICAgICAgICAkaWNvbi1jb2czOiBcIlxcZWI2MlwiO1xuICAgICAgICAkaWNvbi1jb2c0OiBcIlxcZWI2M1wiO1xuICAgICAgICAkaWNvbi1jb2c1OiBcIlxcZWI2NFwiO1xuICAgICAgICAkaWNvbi1jb2c2OiBcIlxcZWI2NVwiO1xuICAgICAgICAkaWNvbi1jb2c3OiBcIlxcZWI2NlwiO1xuICAgICAgICAkaWNvbi1mYWN0b3J5OiBcIlxcZWI2N1wiO1xuICAgICAgICAkaWNvbi1oYW1tZXI6IFwiXFxlYjY4XCI7XG4gICAgICAgICRpY29uLWhhbW1lci13cmVuY2g6IFwiXFxlYjY5XCI7XG4gICAgICAgICRpY29uLWtuaWZlOiBcIlxcZWI2YVwiO1xuICAgICAgICAkaWNvbi1zY3Jld2RyaXZlcjogXCJcXGViNmJcIjtcbiAgICAgICAgJGljb24tc2NyZXdkcml2ZXIyOiBcIlxcZWI2Y1wiO1xuICAgICAgICAkaWNvbi1tYWdpYy13YW5kOiBcIlxcZWI2ZFwiO1xuICAgICAgICAkaWNvbi1tYWdpYy13YW5kMjogXCJcXGViNmVcIjtcbiAgICAgICAgJGljb24tcHVsc2U6IFwiXFxlYjZmXCI7XG4gICAgICAgICRpY29uLXB1bHNlMjogXCJcXGViNzBcIjtcbiAgICAgICAgJGljb24tYWlkLWtpdDogXCJcXGViNzFcIjtcbiAgICAgICAgJGljb24tYWlkLWtpdDI6IFwiXFxlYjcyXCI7XG4gICAgICAgICRpY29uLXN0ZXRob3Njb3BlOiBcIlxcZWI3M1wiO1xuICAgICAgICAkaWNvbi1hbWJ1bGFuY2U6IFwiXFxlYjc0XCI7XG4gICAgICAgICRpY29uLWFsYXJtMjogXCJcXGViNzVcIjtcbiAgICAgICAgJGljb24tcGFuZGFnZTogXCJcXGViNzZcIjtcbiAgICAgICAgJGljb24tcGFuZGFnZTI6IFwiXFxlYjc3XCI7XG4gICAgICAgICRpY29uLWJ1ZzogXCJcXGViNzhcIjtcbiAgICAgICAgJGljb24tYnVnMjogXCJcXGViNzlcIjtcbiAgICAgICAgJGljb24tc3lyaW5nZTogXCJcXGViN2FcIjtcbiAgICAgICAgJGljb24tc3lyaW5nZTI6IFwiXFxlYjdiXCI7XG4gICAgICAgICRpY29uLXBpbGw6IFwiXFxlYjdjXCI7XG4gICAgICAgICRpY29uLWNvbnN0cnVjdGlvbjogXCJcXGViN2RcIjtcbiAgICAgICAgJGljb24tdHJhZmZpYy1jb25lOiBcIlxcZWI3ZVwiO1xuICAgICAgICAkaWNvbi10cmFmZmljLWxpZ2h0czogXCJcXGViN2ZcIjtcbiAgICAgICAgJGljb24tcGllLWNoYXJ0OiBcIlxcZWI4MFwiO1xuICAgICAgICAkaWNvbi1waWUtY2hhcnQyOiBcIlxcZWI4MVwiO1xuICAgICAgICAkaWNvbi1waWUtY2hhcnQzOiBcIlxcZWI4MlwiO1xuICAgICAgICAkaWNvbi1waWUtY2hhcnQ0OiBcIlxcZWI4M1wiO1xuICAgICAgICAkaWNvbi1waWUtY2hhcnQ1OiBcIlxcZWI4NFwiO1xuICAgICAgICAkaWNvbi1waWUtY2hhcnQ2OiBcIlxcZWI4NVwiO1xuICAgICAgICAkaWNvbi1waWUtY2hhcnQ3OiBcIlxcZWI4NlwiO1xuICAgICAgICAkaWNvbi1zdGF0cy1kb3RzOiBcIlxcZWI4N1wiO1xuICAgICAgICAkaWNvbi1zdGF0cy1iYXJzOiBcIlxcZWI4OFwiO1xuICAgICAgICAkaWNvbi1waWUtY2hhcnQ4OiBcIlxcZWI4OVwiO1xuICAgICAgICAkaWNvbi1zdGF0cy1iYXJzMjogXCJcXGViOGFcIjtcbiAgICAgICAgJGljb24tc3RhdHMtYmFyczM6IFwiXFxlYjhiXCI7XG4gICAgICAgICRpY29uLXN0YXRzLWJhcnM0OiBcIlxcZWI4Y1wiO1xuICAgICAgICAkaWNvbi1zdGF0cy1iYXJzNTogXCJcXGViOGRcIjtcbiAgICAgICAgJGljb24tc3RhdHMtYmFyczY6IFwiXFxlYjhlXCI7XG4gICAgICAgICRpY29uLWNoYXJ0OiBcIlxcZWI4ZlwiO1xuICAgICAgICAkaWNvbi1zdGF0cy1ncm93dGg6IFwiXFxlYjkwXCI7XG4gICAgICAgICRpY29uLXN0YXRzLWRlY2xpbmU6IFwiXFxlYjkxXCI7XG4gICAgICAgICRpY29uLXN0YXRzLWdyb3d0aDI6IFwiXFxlYjkyXCI7XG4gICAgICAgICRpY29uLXN0YXRzLWRlY2xpbmUyOiBcIlxcZWI5M1wiO1xuICAgICAgICAkaWNvbi1zdGFpcnMtdXA6IFwiXFxlYjk0XCI7XG4gICAgICAgICRpY29uLXN0YWlycy1kb3duOiBcIlxcZWI5NVwiO1xuICAgICAgICAkaWNvbi1zdGFpcnM6IFwiXFxlYjk2XCI7XG4gICAgICAgICRpY29uLXN0YWlyczI6IFwiXFxlYjk3XCI7XG4gICAgICAgICRpY29uLWxhZGRlcjogXCJcXGViOThcIjtcbiAgICAgICAgJGljb24tcmF0aW5nOiBcIlxcZWI5OVwiO1xuICAgICAgICAkaWNvbi1yYXRpbmcyOiBcIlxcZWI5YVwiO1xuICAgICAgICAkaWNvbi1yYXRpbmczOiBcIlxcZWI5YlwiO1xuICAgICAgICAkaWNvbi1jYWtlOiBcIlxcZWI5Y1wiO1xuICAgICAgICAkaWNvbi1wb2RpdW06IFwiXFxlYjlkXCI7XG4gICAgICAgICRpY29uLXN0YXJzOiBcIlxcZWI5ZVwiO1xuICAgICAgICAkaWNvbi1tZWRhbC1zdGFyOiBcIlxcZWI5ZlwiO1xuICAgICAgICAkaWNvbi1tZWRhbDogXCJcXGViYTBcIjtcbiAgICAgICAgJGljb24tbWVkYWwyOiBcIlxcZWJhMVwiO1xuICAgICAgICAkaWNvbi1tZWRhbC1maXJzdDogXCJcXGViYTJcIjtcbiAgICAgICAgJGljb24tbWVkYWwtc2Vjb25kOiBcIlxcZWJhM1wiO1xuICAgICAgICAkaWNvbi1tZWRhbC10aGlyZDogXCJcXGViYTRcIjtcbiAgICAgICAgJGljb24tY3Jvd246IFwiXFxlYmE1XCI7XG4gICAgICAgICRpY29uLXRyb3BoeTogXCJcXGViYTZcIjtcbiAgICAgICAgJGljb24tdHJvcGh5MjogXCJcXGViYTdcIjtcbiAgICAgICAgJGljb24tdHJvcGh5MzogXCJcXGViYThcIjtcbiAgICAgICAgJGljb24tZGlhbW9uZDogXCJcXGViYTlcIjtcbiAgICAgICAgJGljb24tZGlhbW9uZDI6IFwiXFxlYmFhXCI7XG4gICAgICAgICRpY29uLXRyb3BoeTQ6IFwiXFxlYmFiXCI7XG4gICAgICAgICRpY29uLWdpZnQ6IFwiXFxlYmFjXCI7XG4gICAgICAgICRpY29uLWdpZnQyOiBcIlxcZWJhZFwiO1xuICAgICAgICAkaWNvbi1iYWxsb29uOiBcIlxcZWJhZVwiO1xuICAgICAgICAkaWNvbi1waXBlOiBcIlxcZWJhZlwiO1xuICAgICAgICAkaWNvbi1tdXN0YWNoZTogXCJcXGViYjBcIjtcbiAgICAgICAgJGljb24tbXVzdGFjaGUyOiBcIlxcZWJiMVwiO1xuICAgICAgICAkaWNvbi1nbGFzczogXCJcXGViYjJcIjtcbiAgICAgICAgJGljb24tZ2xhc3MyOiBcIlxcZWJiM1wiO1xuICAgICAgICAkaWNvbi1nbGFzczM6IFwiXFxlYmI0XCI7XG4gICAgICAgICRpY29uLWdsYXNzNDogXCJcXGViYjVcIjtcbiAgICAgICAgJGljb24tYm90dGxlOiBcIlxcZWJiNlwiO1xuICAgICAgICAkaWNvbi1ib3R0bGUyOiBcIlxcZWJiN1wiO1xuICAgICAgICAkaWNvbi1ib3R0bGUzOiBcIlxcZWJiOFwiO1xuICAgICAgICAkaWNvbi1ib3R0bGU0OiBcIlxcZWJiOVwiO1xuICAgICAgICAkaWNvbi1tdWc6IFwiXFxlYmJhXCI7XG4gICAgICAgICRpY29uLWZvcmsta25pZmU6IFwiXFxlYmJiXCI7XG4gICAgICAgICRpY29uLXNwb29uLWtuaWZlOiBcIlxcZWJiY1wiO1xuICAgICAgICAkaWNvbi1jb29rOiBcIlxcZWJiZFwiO1xuICAgICAgICAkaWNvbi1wbGF0ZTogXCJcXGViYmVcIjtcbiAgICAgICAgJGljb24tc3RlYWs6IFwiXFxlYmJmXCI7XG4gICAgICAgICRpY29uLWZpc2g6IFwiXFxlYmMwXCI7XG4gICAgICAgICRpY29uLWNoaWNrZW46IFwiXFxlYmMxXCI7XG4gICAgICAgICRpY29uLWhhbWJ1cmdlcjogXCJcXGViYzJcIjtcbiAgICAgICAgJGljb24tcGl6emE6IFwiXFxlYmMzXCI7XG4gICAgICAgICRpY29uLWNoZWVzZTogXCJcXGViYzRcIjtcbiAgICAgICAgJGljb24tYnJlYWQ6IFwiXFxlYmM1XCI7XG4gICAgICAgICRpY29uLWljZWNyZWFtOiBcIlxcZWJjNlwiO1xuICAgICAgICAkaWNvbi1taWxrOiBcIlxcZWJjN1wiO1xuICAgICAgICAkaWNvbi1jdXA6IFwiXFxlYmM4XCI7XG4gICAgICAgICRpY29uLWN1cDI6IFwiXFxlYmM5XCI7XG4gICAgICAgICRpY29uLWNvZmZlZS1iZWFuOiBcIlxcZWJjYVwiO1xuICAgICAgICAkaWNvbi1jb2ZmZWU6IFwiXFxlYmNiXCI7XG4gICAgICAgICRpY29uLXRlYXBvdDogXCJcXGViY2NcIjtcbiAgICAgICAgJGljb24tbGVhZjogXCJcXGViY2RcIjtcbiAgICAgICAgJGljb24tbGVhZjI6IFwiXFxlYmNlXCI7XG4gICAgICAgICRpY29uLWFwcGxlOiBcIlxcZWJjZlwiO1xuICAgICAgICAkaWNvbi1ncmFwZXM6IFwiXFxlYmQwXCI7XG4gICAgICAgICRpY29uLWNoZXJyeTogXCJcXGViZDFcIjtcbiAgICAgICAgJGljb24tdHJlZTogXCJcXGViZDJcIjtcbiAgICAgICAgJGljb24tdHJlZTI6IFwiXFxlYmQzXCI7XG4gICAgICAgICRpY29uLXRyZWUzOiBcIlxcZWJkNFwiO1xuICAgICAgICAkaWNvbi10cmVlNDogXCJcXGViZDVcIjtcbiAgICAgICAgJGljb24tY2FjdHVzOiBcIlxcZWJkNlwiO1xuICAgICAgICAkaWNvbi1tb3VudGFpbnM6IFwiXFxlYmQ3XCI7XG4gICAgICAgICRpY29uLXBhdzogXCJcXGViZDhcIjtcbiAgICAgICAgJGljb24tZm9vdHByaW50OiBcIlxcZWJkOVwiO1xuICAgICAgICAkaWNvbi10ZW50OiBcIlxcZWJkYVwiO1xuICAgICAgICAkaWNvbi1mbG93ZXI6IFwiXFxlYmRiXCI7XG4gICAgICAgICRpY29uLWZsb3dlcjI6IFwiXFxlYmRjXCI7XG4gICAgICAgICRpY29uLXJvY2tldDogXCJcXGViZGRcIjtcbiAgICAgICAgJGljb24tbWV0ZXI6IFwiXFxlYmRlXCI7XG4gICAgICAgICRpY29uLW1ldGVyMjogXCJcXGViZGZcIjtcbiAgICAgICAgJGljb24tbWV0ZXItc2xvdzogXCJcXGViZTBcIjtcbiAgICAgICAgJGljb24tbWV0ZXItbWVkaXVtOiBcIlxcZWJlMVwiO1xuICAgICAgICAkaWNvbi1tZXRlci1mYXN0OiBcIlxcZWJlMlwiO1xuICAgICAgICAkaWNvbi1tZXRlcjM6IFwiXFxlYmUzXCI7XG4gICAgICAgICRpY29uLWhhbW1lcjI6IFwiXFxlYmU0XCI7XG4gICAgICAgICRpY29uLWJhbGFuY2U6IFwiXFxlYmU1XCI7XG4gICAgICAgICRpY29uLXNjYWxlOiBcIlxcZWJlNlwiO1xuICAgICAgICAkaWNvbi1ib21iOiBcIlxcZWJlN1wiO1xuICAgICAgICAkaWNvbi1maXJlOiBcIlxcZWJlOFwiO1xuICAgICAgICAkaWNvbi1maXJlMjogXCJcXGViZTlcIjtcbiAgICAgICAgJGljb24tbGFiOiBcIlxcZWJlYVwiO1xuICAgICAgICAkaWNvbi1hdG9tOiBcIlxcZWJlYlwiO1xuICAgICAgICAkaWNvbi1hdG9tMjogXCJcXGViZWNcIjtcbiAgICAgICAgJGljb24tbWFnbmV0OiBcIlxcZWJlZFwiO1xuICAgICAgICAkaWNvbi1tYWduZXQyOiBcIlxcZWJlZVwiO1xuICAgICAgICAkaWNvbi1kdW1iYmVsbDogXCJcXGViZWZcIjtcbiAgICAgICAgJGljb24tc2t1bGw6IFwiXFxlYmYwXCI7XG4gICAgICAgICRpY29uLXNrdWxsMjogXCJcXGViZjFcIjtcbiAgICAgICAgJGljb24tbGFtcDogXCJcXGViZjJcIjtcbiAgICAgICAgJGljb24tbGFtcDI6IFwiXFxlYmYzXCI7XG4gICAgICAgICRpY29uLWxhbXAzOiBcIlxcZWJmNFwiO1xuICAgICAgICAkaWNvbi1zcG90bGlnaHQ6IFwiXFxlYmY1XCI7XG4gICAgICAgICRpY29uLWxhbXA0OiBcIlxcZWJmNlwiO1xuICAgICAgICAkaWNvbi1sYW1wNTogXCJcXGViZjdcIjtcbiAgICAgICAgJGljb24tbGFtcDY6IFwiXFxlYmY4XCI7XG4gICAgICAgICRpY29uLWxhbXA3OiBcIlxcZWJmOVwiO1xuICAgICAgICAkaWNvbi1sYW1wODogXCJcXGViZmFcIjtcbiAgICAgICAgJGljb24tYnJvb206IFwiXFxlYmZiXCI7XG4gICAgICAgICRpY29uLXRvaWxldHBhcGVyOiBcIlxcZWJmY1wiO1xuICAgICAgICAkaWNvbi1iaW46IFwiXFxlYmZkXCI7XG4gICAgICAgICRpY29uLWJpbjI6IFwiXFxlYmZlXCI7XG4gICAgICAgICRpY29uLWJpbjM6IFwiXFxlYmZmXCI7XG4gICAgICAgICRpY29uLWJpbjQ6IFwiXFxlYzAwXCI7XG4gICAgICAgICRpY29uLWJpbjU6IFwiXFxlYzAxXCI7XG4gICAgICAgICRpY29uLWJyaWVmY2FzZTogXCJcXGVjMDJcIjtcbiAgICAgICAgJGljb24tYnJpZWZjYXNlMjogXCJcXGVjMDNcIjtcbiAgICAgICAgJGljb24tYnJpZWZjYXNlMzogXCJcXGVjMDRcIjtcbiAgICAgICAgJGljb24tYWlycGxhbmU6IFwiXFxlYzA1XCI7XG4gICAgICAgICRpY29uLWFpcnBsYW5lMjogXCJcXGVjMDZcIjtcbiAgICAgICAgJGljb24tYWlycGxhbmUzOiBcIlxcZWMwN1wiO1xuICAgICAgICAkaWNvbi1haXJwbGFuZTQ6IFwiXFxlYzA4XCI7XG4gICAgICAgICRpY29uLXBhcGVycGxhbmU6IFwiXFxlYzA5XCI7XG4gICAgICAgICRpY29uLWNhcjogXCJcXGVjMGFcIjtcbiAgICAgICAgJGljb24tc3RlZXJpbmctd2hlZWw6IFwiXFxlYzBiXCI7XG4gICAgICAgICRpY29uLWNhcjI6IFwiXFxlYzBjXCI7XG4gICAgICAgICRpY29uLWdhczogXCJcXGVjMGRcIjtcbiAgICAgICAgJGljb24tYnVzOiBcIlxcZWMwZVwiO1xuICAgICAgICAkaWNvbi10cnVjazogXCJcXGVjMGZcIjtcbiAgICAgICAgJGljb24tYmlrZTogXCJcXGVjMTBcIjtcbiAgICAgICAgJGljb24tcm9hZDogXCJcXGVjMTFcIjtcbiAgICAgICAgJGljb24tdHJhaW46IFwiXFxlYzEyXCI7XG4gICAgICAgICRpY29uLXRyYWluMjogXCJcXGVjMTNcIjtcbiAgICAgICAgJGljb24tc2hpcDogXCJcXGVjMTRcIjtcbiAgICAgICAgJGljb24tYm9hdDogXCJcXGVjMTVcIjtcbiAgICAgICAgJGljb24tY2hvcHBlcjogXCJcXGVjMTZcIjtcbiAgICAgICAgJGljb24tY2hvcHBlcjI6IFwiXFxlYzE3XCI7XG4gICAgICAgICRpY29uLWN1YmU6IFwiXFxlYzE4XCI7XG4gICAgICAgICRpY29uLWN1YmUyOiBcIlxcZWMxOVwiO1xuICAgICAgICAkaWNvbi1jdWJlMzogXCJcXGVjMWFcIjtcbiAgICAgICAgJGljb24tY3ViZTQ6IFwiXFxlYzFiXCI7XG4gICAgICAgICRpY29uLXB5cmFtaWQ6IFwiXFxlYzFjXCI7XG4gICAgICAgICRpY29uLXB5cmFtaWQyOiBcIlxcZWMxZFwiO1xuICAgICAgICAkaWNvbi1wYWNrYWdlOiBcIlxcZWMxZVwiO1xuICAgICAgICAkaWNvbi1wdXp6bGU6IFwiXFxlYzFmXCI7XG4gICAgICAgICRpY29uLXB1enpsZTI6IFwiXFxlYzIwXCI7XG4gICAgICAgICRpY29uLXB1enpsZTM6IFwiXFxlYzIxXCI7XG4gICAgICAgICRpY29uLXB1enpsZTQ6IFwiXFxlYzIyXCI7XG4gICAgICAgICRpY29uLWdsYXNzZXMtM2Q6IFwiXFxlYzIzXCI7XG4gICAgICAgICRpY29uLWdsYXNzZXMtM2QyOiBcIlxcZWMyNFwiO1xuICAgICAgICAkaWNvbi1nbGFzc2VzOiBcIlxcZWMyNVwiO1xuICAgICAgICAkaWNvbi1nbGFzc2VzMjogXCJcXGVjMjZcIjtcbiAgICAgICAgJGljb24tYnJhaW46IFwiXFxlYzI3XCI7XG4gICAgICAgICRpY29uLWFjY2Vzc2liaWxpdHk6IFwiXFxlYzI4XCI7XG4gICAgICAgICRpY29uLWFjY2Vzc2liaWxpdHkyOiBcIlxcZWMyOVwiO1xuICAgICAgICAkaWNvbi1zdHJhdGVneTogXCJcXGVjMmFcIjtcbiAgICAgICAgJGljb24tdGFyZ2V0OiBcIlxcZWMyYlwiO1xuICAgICAgICAkaWNvbi10YXJnZXQyOiBcIlxcZWMyY1wiO1xuICAgICAgICAkaWNvbi10YXJnZXQzOiBcIlxcZWMyZFwiO1xuICAgICAgICAkaWNvbi1hbW1vOiBcIlxcZWMyZVwiO1xuICAgICAgICAkaWNvbi1ndW46IFwiXFxlYzJmXCI7XG4gICAgICAgICRpY29uLWd1bi1mb3JiaWRkZW46IFwiXFxlYzMwXCI7XG4gICAgICAgICRpY29uLXNoaWVsZDogXCJcXGVjMzFcIjtcbiAgICAgICAgJGljb24tc2hpZWxkLWNoZWNrOiBcIlxcZWMzMlwiO1xuICAgICAgICAkaWNvbi1zaGllbGQtbm90aWNlOiBcIlxcZWMzM1wiO1xuICAgICAgICAkaWNvbi1zaGllbGQyOiBcIlxcZWMzNFwiO1xuICAgICAgICAkaWNvbi1zaGllbGQzOiBcIlxcZWMzNVwiO1xuICAgICAgICAkaWNvbi1zaGllbGQ0OiBcIlxcZWMzNlwiO1xuICAgICAgICAkaWNvbi1zb2NjZXI6IFwiXFxlYzM3XCI7XG4gICAgICAgICRpY29uLWZvb3RiYWxsOiBcIlxcZWMzOFwiO1xuICAgICAgICAkaWNvbi1hcmNoZXJ5OiBcIlxcZWMzOVwiO1xuICAgICAgICAkaWNvbi1ib3c6IFwiXFxlYzNhXCI7XG4gICAgICAgICRpY29uLXN3b3JkOiBcIlxcZWMzYlwiO1xuICAgICAgICAkaWNvbi10ZW5uaXM6IFwiXFxlYzNjXCI7XG4gICAgICAgICRpY29uLXBpbmdwb25nOiBcIlxcZWMzZFwiO1xuICAgICAgICAkaWNvbi1iYXNlYmFsbDogXCJcXGVjM2VcIjtcbiAgICAgICAgJGljb24tYmFza2V0YmFsbDogXCJcXGVjM2ZcIjtcbiAgICAgICAgJGljb24tZ29sZjogXCJcXGVjNDBcIjtcbiAgICAgICAgJGljb24tZ29sZjI6IFwiXFxlYzQxXCI7XG4gICAgICAgICRpY29uLWhvY2tleTogXCJcXGVjNDJcIjtcbiAgICAgICAgJGljb24tcmFjaW5nOiBcIlxcZWM0M1wiO1xuICAgICAgICAkaWNvbi1maW5pc2g6IFwiXFxlYzQ0XCI7XG4gICAgICAgICRpY29uLWVpZ2h0LWJhbGw6IFwiXFxlYzQ1XCI7XG4gICAgICAgICRpY29uLWJvd2xpbmc6IFwiXFxlYzQ2XCI7XG4gICAgICAgICRpY29uLWJvd2xpbmcyOiBcIlxcZWM0N1wiO1xuICAgICAgICAkaWNvbi1wb3dlcjogXCJcXGVjNDhcIjtcbiAgICAgICAgJGljb24tcG93ZXIyOiBcIlxcZWM0OVwiO1xuICAgICAgICAkaWNvbi1wb3dlcjM6IFwiXFxlYzRhXCI7XG4gICAgICAgICRpY29uLXN3aXRjaDogXCJcXGVjNGJcIjtcbiAgICAgICAgJGljb24tc3dpdGNoMjogXCJcXGVjNGNcIjtcbiAgICAgICAgJGljb24tcG93ZXItY29yZDogXCJcXGVjNGRcIjtcbiAgICAgICAgJGljb24tcG93ZXItY29yZDI6IFwiXFxlYzRlXCI7XG4gICAgICAgICRpY29uLW91dGxldDogXCJcXGVjNGZcIjtcbiAgICAgICAgJGljb24tY2xpcGJvYXJkOiBcIlxcZWM1MFwiO1xuICAgICAgICAkaWNvbi1jbGlwYm9hcmQyOiBcIlxcZWM1MVwiO1xuICAgICAgICAkaWNvbi1jbGlwYm9hcmQzOiBcIlxcZWM1MlwiO1xuICAgICAgICAkaWNvbi1jbGlwYm9hcmQ0OiBcIlxcZWM1M1wiO1xuICAgICAgICAkaWNvbi1jbGlwYm9hcmQ1OiBcIlxcZWM1NFwiO1xuICAgICAgICAkaWNvbi1jbGlwYm9hcmQ2OiBcIlxcZWM1NVwiO1xuICAgICAgICAkaWNvbi1wbGF5bGlzdDogXCJcXGVjNTZcIjtcbiAgICAgICAgJGljb24tcGxheWxpc3QtYWRkOiBcIlxcZWM1N1wiO1xuICAgICAgICAkaWNvbi1saXN0LW51bWJlcmVkOiBcIlxcZWM1OFwiO1xuICAgICAgICAkaWNvbi1saXN0OiBcIlxcZWM1OVwiO1xuICAgICAgICAkaWNvbi1saXN0MjogXCJcXGVjNWFcIjtcbiAgICAgICAgJGljb24tbW9yZTogXCJcXGVjNWJcIjtcbiAgICAgICAgJGljb24tbW9yZTI6IFwiXFxlYzVjXCI7XG4gICAgICAgICRpY29uLWdyaWQ6IFwiXFxlYzVkXCI7XG4gICAgICAgICRpY29uLWdyaWQyOiBcIlxcZWM1ZVwiO1xuICAgICAgICAkaWNvbi1ncmlkMzogXCJcXGVjNWZcIjtcbiAgICAgICAgJGljb24tZ3JpZDQ6IFwiXFxlYzYwXCI7XG4gICAgICAgICRpY29uLWdyaWQ1OiBcIlxcZWM2MVwiO1xuICAgICAgICAkaWNvbi1ncmlkNjogXCJcXGVjNjJcIjtcbiAgICAgICAgJGljb24tZ3JpZDc6IFwiXFxlYzYzXCI7XG4gICAgICAgICRpY29uLXRyZWU1OiBcIlxcZWM2NFwiO1xuICAgICAgICAkaWNvbi10cmVlNjogXCJcXGVjNjVcIjtcbiAgICAgICAgJGljb24tdHJlZTc6IFwiXFxlYzY2XCI7XG4gICAgICAgICRpY29uLWxhbjogXCJcXGVjNjdcIjtcbiAgICAgICAgJGljb24tbGFuMjogXCJcXGVjNjhcIjtcbiAgICAgICAgJGljb24tbGFuMzogXCJcXGVjNjlcIjtcbiAgICAgICAgJGljb24tbWVudTogXCJcXGVjNmFcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLXNtYWxsOiBcIlxcZWM2YlwiO1xuICAgICAgICAkaWNvbi1tZW51MjogXCJcXGVjNmNcIjtcbiAgICAgICAgJGljb24tbWVudTM6IFwiXFxlYzZkXCI7XG4gICAgICAgICRpY29uLW1lbnU0OiBcIlxcZWM2ZVwiO1xuICAgICAgICAkaWNvbi1tZW51NTogXCJcXGVjNmZcIjtcbiAgICAgICAgJGljb24tbWVudTY6IFwiXFxlYzcwXCI7XG4gICAgICAgICRpY29uLW1lbnU3OiBcIlxcZWM3MVwiO1xuICAgICAgICAkaWNvbi1tZW51ODogXCJcXGVjNzJcIjtcbiAgICAgICAgJGljb24tbWVudTk6IFwiXFxlYzczXCI7XG4gICAgICAgICRpY29uLW1lbnUxMDogXCJcXGVjNzRcIjtcbiAgICAgICAgJGljb24tY2xvdWQ6IFwiXFxlYzc1XCI7XG4gICAgICAgICRpY29uLWNsb3VkLWRvd25sb2FkOiBcIlxcZWM3NlwiO1xuICAgICAgICAkaWNvbi1jbG91ZC11cGxvYWQ6IFwiXFxlYzc3XCI7XG4gICAgICAgICRpY29uLWNsb3VkLWNoZWNrOiBcIlxcZWM3OFwiO1xuICAgICAgICAkaWNvbi1jbG91ZDI6IFwiXFxlYzc5XCI7XG4gICAgICAgICRpY29uLWNsb3VkLWRvd25sb2FkMjogXCJcXGVjN2FcIjtcbiAgICAgICAgJGljb24tY2xvdWQtdXBsb2FkMjogXCJcXGVjN2JcIjtcbiAgICAgICAgJGljb24tY2xvdWQtY2hlY2syOiBcIlxcZWM3Y1wiO1xuICAgICAgICAkaWNvbi1kb3dubG9hZDI6IFwiXFxlYzdkXCI7XG4gICAgICAgICRpY29uLWRvd25sb2FkMzogXCJcXGVjN2VcIjtcbiAgICAgICAgJGljb24tdXBsb2FkMjogXCJcXGVjN2ZcIjtcbiAgICAgICAgJGljb24tdXBsb2FkMzogXCJcXGVjODBcIjtcbiAgICAgICAgJGljb24taW1wb3J0OiBcIlxcZWM4MVwiO1xuICAgICAgICAkaWNvbi1pbXBvcnQyOiBcIlxcZWM4MlwiO1xuICAgICAgICAkaWNvbi1kb3dubG9hZDQ6IFwiXFxlYzgzXCI7XG4gICAgICAgICRpY29uLXVwbG9hZDQ6IFwiXFxlYzg0XCI7XG4gICAgICAgICRpY29uLWRvd25sb2FkNTogXCJcXGVjODVcIjtcbiAgICAgICAgJGljb24tdXBsb2FkNTogXCJcXGVjODZcIjtcbiAgICAgICAgJGljb24tZG93bmxvYWQ2OiBcIlxcZWM4N1wiO1xuICAgICAgICAkaWNvbi11cGxvYWQ2OiBcIlxcZWM4OFwiO1xuICAgICAgICAkaWNvbi1kb3dubG9hZDc6IFwiXFxlYzg5XCI7XG4gICAgICAgICRpY29uLXVwbG9hZDc6IFwiXFxlYzhhXCI7XG4gICAgICAgICRpY29uLWRvd25sb2FkODogXCJcXGVjOGJcIjtcbiAgICAgICAgJGljb24tdXBsb2FkODogXCJcXGVjOGNcIjtcbiAgICAgICAgJGljb24tZG93bmxvYWQ5OiBcIlxcZWM4ZFwiO1xuICAgICAgICAkaWNvbi11cGxvYWQ5OiBcIlxcZWM4ZVwiO1xuICAgICAgICAkaWNvbi1kb3dubG9hZDEwOiBcIlxcZWM4ZlwiO1xuICAgICAgICAkaWNvbi11cGxvYWQxMDogXCJcXGVjOTBcIjtcbiAgICAgICAgJGljb24tc3BoZXJlOiBcIlxcZWM5MVwiO1xuICAgICAgICAkaWNvbi1zcGhlcmUyOiBcIlxcZWM5MlwiO1xuICAgICAgICAkaWNvbi1zcGhlcmUzOiBcIlxcZWM5M1wiO1xuICAgICAgICAkaWNvbi1wbGFuZXQ6IFwiXFxlYzk0XCI7XG4gICAgICAgICRpY29uLXBsYW5ldDI6IFwiXFxlYzk1XCI7XG4gICAgICAgICRpY29uLWVhcnRoOiBcIlxcZWM5NlwiO1xuICAgICAgICAkaWNvbi1lYXJ0aDI6IFwiXFxlYzk3XCI7XG4gICAgICAgICRpY29uLWVhcnRoMzogXCJcXGVjOThcIjtcbiAgICAgICAgJGljb24tbGluazogXCJcXGVjOTlcIjtcbiAgICAgICAgJGljb24tdW5saW5rOiBcIlxcZWM5YVwiO1xuICAgICAgICAkaWNvbi1saW5rMjogXCJcXGVjOWJcIjtcbiAgICAgICAgJGljb24tdW5saW5rMjogXCJcXGVjOWNcIjtcbiAgICAgICAgJGljb24tbGluazM6IFwiXFxlYzlkXCI7XG4gICAgICAgICRpY29uLXVubGluazM6IFwiXFxlYzllXCI7XG4gICAgICAgICRpY29uLWxpbms0OiBcIlxcZWM5ZlwiO1xuICAgICAgICAkaWNvbi11bmxpbms0OiBcIlxcZWNhMFwiO1xuICAgICAgICAkaWNvbi1saW5rNTogXCJcXGVjYTFcIjtcbiAgICAgICAgJGljb24tdW5saW5rNTogXCJcXGVjYTJcIjtcbiAgICAgICAgJGljb24tYW5jaG9yOiBcIlxcZWNhM1wiO1xuICAgICAgICAkaWNvbi1mbGFnOiBcIlxcZWNhNFwiO1xuICAgICAgICAkaWNvbi1mbGFnMjogXCJcXGVjYTVcIjtcbiAgICAgICAgJGljb24tZmxhZzM6IFwiXFxlY2E2XCI7XG4gICAgICAgICRpY29uLWZsYWc0OiBcIlxcZWNhN1wiO1xuICAgICAgICAkaWNvbi1mbGFnNTogXCJcXGVjYThcIjtcbiAgICAgICAgJGljb24tZmxhZzY6IFwiXFxlY2E5XCI7XG4gICAgICAgICRpY29uLWZsYWc3OiBcIlxcZWNhYVwiO1xuICAgICAgICAkaWNvbi1mbGFnODogXCJcXGVjYWJcIjtcbiAgICAgICAgJGljb24tYXR0YWNobWVudDogXCJcXGVjYWNcIjtcbiAgICAgICAgJGljb24tYXR0YWNobWVudDI6IFwiXFxlY2FkXCI7XG4gICAgICAgICRpY29uLWV5ZTogXCJcXGVjYWVcIjtcbiAgICAgICAgJGljb24tZXllLXBsdXM6IFwiXFxlY2FmXCI7XG4gICAgICAgICRpY29uLWV5ZS1taW51czogXCJcXGVjYjBcIjtcbiAgICAgICAgJGljb24tZXllLWJsb2NrZWQ6IFwiXFxlY2IxXCI7XG4gICAgICAgICRpY29uLWV5ZTI6IFwiXFxlY2IyXCI7XG4gICAgICAgICRpY29uLWV5ZS1ibG9ja2VkMjogXCJcXGVjYjNcIjtcbiAgICAgICAgJGljb24tZXllMzogXCJcXGVjYjRcIjtcbiAgICAgICAgJGljb24tZXllLWJsb2NrZWQzOiBcIlxcZWNiNVwiO1xuICAgICAgICAkaWNvbi1leWU0OiBcIlxcZWNiNlwiO1xuICAgICAgICAkaWNvbi1ib29rbWFyazI6IFwiXFxlY2I3XCI7XG4gICAgICAgICRpY29uLWJvb2ttYXJrMzogXCJcXGVjYjhcIjtcbiAgICAgICAgJGljb24tYm9va21hcmtzOiBcIlxcZWNiOVwiO1xuICAgICAgICAkaWNvbi1ib29rbWFyazQ6IFwiXFxlY2JhXCI7XG4gICAgICAgICRpY29uLXNwb3RsaWdodDI6IFwiXFxlY2JiXCI7XG4gICAgICAgICRpY29uLXN0YXJidXJzdDogXCJcXGVjYmNcIjtcbiAgICAgICAgJGljb24tc25vd2ZsYWtlOiBcIlxcZWNiZFwiO1xuICAgICAgICAkaWNvbi10ZW1wZXJhdHVyZTogXCJcXGVjYmVcIjtcbiAgICAgICAgJGljb24tdGVtcGVyYXR1cmUyOiBcIlxcZWNiZlwiO1xuICAgICAgICAkaWNvbi13ZWF0aGVyLWxpZ2h0bmluZzogXCJcXGVjYzBcIjtcbiAgICAgICAgJGljb24td2VhdGhlci1saWdodG5pbmcyOiBcIlxcZWNjMVwiO1xuICAgICAgICAkaWNvbi13ZWF0aGVyLXJhaW46IFwiXFxlY2MyXCI7XG4gICAgICAgICRpY29uLXdlYXRoZXItcmFpbjI6IFwiXFxlY2MzXCI7XG4gICAgICAgICRpY29uLXdlYXRoZXItc25vdzogXCJcXGVjYzRcIjtcbiAgICAgICAgJGljb24td2VhdGhlci1zbm93MjogXCJcXGVjYzVcIjtcbiAgICAgICAgJGljb24td2VhdGhlci1jbG91ZC13aW5kOiBcIlxcZWNjNlwiO1xuICAgICAgICAkaWNvbi13ZWF0aGVyLWNsb3VkLXdpbmQyOiBcIlxcZWNjN1wiO1xuICAgICAgICAkaWNvbi13ZWF0aGVyLWNsb3VkLXN1bjogXCJcXGVjYzhcIjtcbiAgICAgICAgJGljb24td2VhdGhlci1jbG91ZC1zdW4yOiBcIlxcZWNjOVwiO1xuICAgICAgICAkaWNvbi13ZWF0aGVyLWNsb3VkeTogXCJcXGVjY2FcIjtcbiAgICAgICAgJGljb24td2VhdGhlci1jbG91ZHkyOiBcIlxcZWNjYlwiO1xuICAgICAgICAkaWNvbi13ZWF0aGVyLXN1bi13aW5kOiBcIlxcZWNjY1wiO1xuICAgICAgICAkaWNvbi13ZWF0aGVyLXN1bi13aW5kMjogXCJcXGVjY2RcIjtcbiAgICAgICAgJGljb24tc3VuOiBcIlxcZWNjZVwiO1xuICAgICAgICAkaWNvbi1zdW4yOiBcIlxcZWNjZlwiO1xuICAgICAgICAkaWNvbi1tb29uOiBcIlxcZWNkMFwiO1xuICAgICAgICAkaWNvbi1kYXktbmlnaHQ6IFwiXFxlY2QxXCI7XG4gICAgICAgICRpY29uLWRheS1uaWdodDI6IFwiXFxlY2QyXCI7XG4gICAgICAgICRpY29uLXdlYXRoZXItd2luZHk6IFwiXFxlY2QzXCI7XG4gICAgICAgICRpY29uLWZhbjogXCJcXGVjZDRcIjtcbiAgICAgICAgJGljb24tdW1icmVsbGE6IFwiXFxlY2Q1XCI7XG4gICAgICAgICRpY29uLXN1bjM6IFwiXFxlY2Q2XCI7XG4gICAgICAgICRpY29uLWNvbnRyYXN0OiBcIlxcZWNkN1wiO1xuICAgICAgICAkaWNvbi1icmlnaHRuZXNzLWNvbnRyYXN0OiBcIlxcZWNkOFwiO1xuICAgICAgICAkaWNvbi1icmlnaHRuZXNzLWhpZ2g6IFwiXFxlY2Q5XCI7XG4gICAgICAgICRpY29uLWJyaWdodG5lc3MtbWVkaXVtOiBcIlxcZWNkYVwiO1xuICAgICAgICAkaWNvbi1icmlnaHRuZXNzLWxvdzogXCJcXGVjZGJcIjtcbiAgICAgICAgJGljb24tYmVkOiBcIlxcZWNkY1wiO1xuICAgICAgICAkaWNvbi1iZWQyOiBcIlxcZWNkZFwiO1xuICAgICAgICAkaWNvbi1mdXJuaXR1cmU6IFwiXFxlY2RlXCI7XG4gICAgICAgICRpY29uLWNoYWlyOiBcIlxcZWNkZlwiO1xuICAgICAgICAkaWNvbi1zdGFyLWVtcHR5OiBcIlxcZWNlMFwiO1xuICAgICAgICAkaWNvbi1zdGFyLWVtcHR5MjogXCJcXGVjZTFcIjtcbiAgICAgICAgJGljb24tc3Rhci1mdWxsOiBcIlxcZWNlMlwiO1xuICAgICAgICAkaWNvbi1zdGFyLWVtcHR5MzogXCJcXGVjZTNcIjtcbiAgICAgICAgJGljb24tc3Rhci1oYWxmOiBcIlxcZWNlNFwiO1xuICAgICAgICAkaWNvbi1zdGFyLWZ1bGwyOiBcIlxcZWNlNVwiO1xuICAgICAgICAkaWNvbi1zdGFyOiBcIlxcZWNlNlwiO1xuICAgICAgICAkaWNvbi1oZWFydDogXCJcXGVjZTdcIjtcbiAgICAgICAgJGljb24taGVhcnQyOiBcIlxcZWNlOFwiO1xuICAgICAgICAkaWNvbi1oZWFydDM6IFwiXFxlY2U5XCI7XG4gICAgICAgICRpY29uLWhlYXJ0NDogXCJcXGVjZWFcIjtcbiAgICAgICAgJGljb24taGVhcnQtYnJva2VuOiBcIlxcZWNlYlwiO1xuICAgICAgICAkaWNvbi1oZWFydDU6IFwiXFxlY2VjXCI7XG4gICAgICAgICRpY29uLWhlYXJ0NjogXCJcXGVjZWRcIjtcbiAgICAgICAgJGljb24taGVhcnQtYnJva2VuMjogXCJcXGVjZWVcIjtcbiAgICAgICAgJGljb24taGVhcnQ3OiBcIlxcZWNlZlwiO1xuICAgICAgICAkaWNvbi1oZWFydDg6IFwiXFxlY2YwXCI7XG4gICAgICAgICRpY29uLWhlYXJ0LWJyb2tlbjM6IFwiXFxlY2YxXCI7XG4gICAgICAgICRpY29uLWxpcHM6IFwiXFxlY2YyXCI7XG4gICAgICAgICRpY29uLWxpcHMyOiBcIlxcZWNmM1wiO1xuICAgICAgICAkaWNvbi10aHVtYnMtdXA6IFwiXFxlY2Y0XCI7XG4gICAgICAgICRpY29uLXRodW1icy11cDI6IFwiXFxlY2Y1XCI7XG4gICAgICAgICRpY29uLXRodW1icy1kb3duOiBcIlxcZWNmNlwiO1xuICAgICAgICAkaWNvbi10aHVtYnMtZG93bjI6IFwiXFxlY2Y3XCI7XG4gICAgICAgICRpY29uLXRodW1icy11cDM6IFwiXFxlY2Y4XCI7XG4gICAgICAgICRpY29uLXRodW1icy1kb3duMzogXCJcXGVjZjlcIjtcbiAgICAgICAgJGljb24taGVpZ2h0OiBcIlxcZWNmYVwiO1xuICAgICAgICAkaWNvbi1tYW46IFwiXFxlY2ZiXCI7XG4gICAgICAgICRpY29uLXdvbWFuOiBcIlxcZWNmY1wiO1xuICAgICAgICAkaWNvbi1tYW4td29tYW46IFwiXFxlY2ZkXCI7XG4gICAgICAgICRpY29uLW1hbGU6IFwiXFxlY2ZlXCI7XG4gICAgICAgICRpY29uLWZlbWFsZTogXCJcXGVjZmZcIjtcbiAgICAgICAgJGljb24tcGVhY2U6IFwiXFxlZDAwXCI7XG4gICAgICAgICRpY29uLXlpbi15YW5nOiBcIlxcZWQwMVwiO1xuICAgICAgICAkaWNvbi1oYXBweTogXCJcXGVkMDJcIjtcbiAgICAgICAgJGljb24taGFwcHkyOiBcIlxcZWQwM1wiO1xuICAgICAgICAkaWNvbi1zbWlsZTogXCJcXGVkMDRcIjtcbiAgICAgICAgJGljb24tc21pbGUyOiBcIlxcZWQwNVwiO1xuICAgICAgICAkaWNvbi10b25ndWU6IFwiXFxlZDA2XCI7XG4gICAgICAgICRpY29uLXRvbmd1ZTI6IFwiXFxlZDA3XCI7XG4gICAgICAgICRpY29uLXNhZDogXCJcXGVkMDhcIjtcbiAgICAgICAgJGljb24tc2FkMjogXCJcXGVkMDlcIjtcbiAgICAgICAgJGljb24td2luazogXCJcXGVkMGFcIjtcbiAgICAgICAgJGljb24td2luazI6IFwiXFxlZDBiXCI7XG4gICAgICAgICRpY29uLWdyaW46IFwiXFxlZDBjXCI7XG4gICAgICAgICRpY29uLWdyaW4yOiBcIlxcZWQwZFwiO1xuICAgICAgICAkaWNvbi1jb29sOiBcIlxcZWQwZVwiO1xuICAgICAgICAkaWNvbi1jb29sMjogXCJcXGVkMGZcIjtcbiAgICAgICAgJGljb24tYW5ncnk6IFwiXFxlZDEwXCI7XG4gICAgICAgICRpY29uLWFuZ3J5MjogXCJcXGVkMTFcIjtcbiAgICAgICAgJGljb24tZXZpbDogXCJcXGVkMTJcIjtcbiAgICAgICAgJGljb24tZXZpbDI6IFwiXFxlZDEzXCI7XG4gICAgICAgICRpY29uLXNob2NrZWQ6IFwiXFxlZDE0XCI7XG4gICAgICAgICRpY29uLXNob2NrZWQyOiBcIlxcZWQxNVwiO1xuICAgICAgICAkaWNvbi1iYWZmbGVkOiBcIlxcZWQxNlwiO1xuICAgICAgICAkaWNvbi1iYWZmbGVkMjogXCJcXGVkMTdcIjtcbiAgICAgICAgJGljb24tY29uZnVzZWQ6IFwiXFxlZDE4XCI7XG4gICAgICAgICRpY29uLWNvbmZ1c2VkMjogXCJcXGVkMTlcIjtcbiAgICAgICAgJGljb24tbmV1dHJhbDogXCJcXGVkMWFcIjtcbiAgICAgICAgJGljb24tbmV1dHJhbDI6IFwiXFxlZDFiXCI7XG4gICAgICAgICRpY29uLWhpcHN0ZXI6IFwiXFxlZDFjXCI7XG4gICAgICAgICRpY29uLWhpcHN0ZXIyOiBcIlxcZWQxZFwiO1xuICAgICAgICAkaWNvbi13b25kZXJpbmc6IFwiXFxlZDFlXCI7XG4gICAgICAgICRpY29uLXdvbmRlcmluZzI6IFwiXFxlZDFmXCI7XG4gICAgICAgICRpY29uLXNsZWVweTogXCJcXGVkMjBcIjtcbiAgICAgICAgJGljb24tc2xlZXB5MjogXCJcXGVkMjFcIjtcbiAgICAgICAgJGljb24tZnJ1c3RyYXRlZDogXCJcXGVkMjJcIjtcbiAgICAgICAgJGljb24tZnJ1c3RyYXRlZDI6IFwiXFxlZDIzXCI7XG4gICAgICAgICRpY29uLWNyeWluZzogXCJcXGVkMjRcIjtcbiAgICAgICAgJGljb24tY3J5aW5nMjogXCJcXGVkMjVcIjtcbiAgICAgICAgJGljb24tY3Vyc29yOiBcIlxcZWQyNlwiO1xuICAgICAgICAkaWNvbi1jdXJzb3IyOiBcIlxcZWQyN1wiO1xuICAgICAgICAkaWNvbi1sYXNzbzogXCJcXGVkMjhcIjtcbiAgICAgICAgJGljb24tbGFzc28yOiBcIlxcZWQyOVwiO1xuICAgICAgICAkaWNvbi1zZWxlY3Q6IFwiXFxlZDJhXCI7XG4gICAgICAgICRpY29uLXNlbGVjdDI6IFwiXFxlZDJiXCI7XG4gICAgICAgICRpY29uLXBvaW50LXVwOiBcIlxcZWQyY1wiO1xuICAgICAgICAkaWNvbi1wb2ludC1yaWdodDogXCJcXGVkMmRcIjtcbiAgICAgICAgJGljb24tcG9pbnQtZG93bjogXCJcXGVkMmVcIjtcbiAgICAgICAgJGljb24tcG9pbnQtbGVmdDogXCJcXGVkMmZcIjtcbiAgICAgICAgJGljb24tcG9pbnRlcjogXCJcXGVkMzBcIjtcbiAgICAgICAgJGljb24tcmVtaW5kZXI6IFwiXFxlZDMxXCI7XG4gICAgICAgICRpY29uLWRyYWctbGVmdC1yaWdodDogXCJcXGVkMzJcIjtcbiAgICAgICAgJGljb24tZHJhZy1sZWZ0OiBcIlxcZWQzM1wiO1xuICAgICAgICAkaWNvbi1kcmFnLXJpZ2h0OiBcIlxcZWQzNFwiO1xuICAgICAgICAkaWNvbi10b3VjaDogXCJcXGVkMzVcIjtcbiAgICAgICAgJGljb24tbXVsdGl0b3VjaDogXCJcXGVkMzZcIjtcbiAgICAgICAgJGljb24tdG91Y2gtem9vbTogXCJcXGVkMzdcIjtcbiAgICAgICAgJGljb24tdG91Y2gtcGluY2g6IFwiXFxlZDM4XCI7XG4gICAgICAgICRpY29uLWhhbmQ6IFwiXFxlZDM5XCI7XG4gICAgICAgICRpY29uLWdyYWI6IFwiXFxlZDNhXCI7XG4gICAgICAgICRpY29uLXN0YWNrLWVtcHR5OiBcIlxcZWQzYlwiO1xuICAgICAgICAkaWNvbi1zdGFjay1wbHVzOiBcIlxcZWQzY1wiO1xuICAgICAgICAkaWNvbi1zdGFjay1taW51czogXCJcXGVkM2RcIjtcbiAgICAgICAgJGljb24tc3RhY2stc3RhcjogXCJcXGVkM2VcIjtcbiAgICAgICAgJGljb24tc3RhY2stcGljdHVyZTogXCJcXGVkM2ZcIjtcbiAgICAgICAgJGljb24tc3RhY2stZG93bjogXCJcXGVkNDBcIjtcbiAgICAgICAgJGljb24tc3RhY2stdXA6IFwiXFxlZDQxXCI7XG4gICAgICAgICRpY29uLXN0YWNrLWNhbmNlbDogXCJcXGVkNDJcIjtcbiAgICAgICAgJGljb24tc3RhY2stY2hlY2s6IFwiXFxlZDQzXCI7XG4gICAgICAgICRpY29uLXN0YWNrLXRleHQ6IFwiXFxlZDQ0XCI7XG4gICAgICAgICRpY29uLXN0YWNrLWNsdWJzOiBcIlxcZWQ0NVwiO1xuICAgICAgICAkaWNvbi1zdGFjay1zcGFkZXM6IFwiXFxlZDQ2XCI7XG4gICAgICAgICRpY29uLXN0YWNrLWhlYXJ0czogXCJcXGVkNDdcIjtcbiAgICAgICAgJGljb24tc3RhY2stZGlhbW9uZHM6IFwiXFxlZDQ4XCI7XG4gICAgICAgICRpY29uLXN0YWNrLXVzZXI6IFwiXFxlZDQ5XCI7XG4gICAgICAgICRpY29uLXN0YWNrNDogXCJcXGVkNGFcIjtcbiAgICAgICAgJGljb24tc3RhY2stbXVzaWM6IFwiXFxlZDRiXCI7XG4gICAgICAgICRpY29uLXN0YWNrLXBsYXk6IFwiXFxlZDRjXCI7XG4gICAgICAgICRpY29uLW1vdmU6IFwiXFxlZDRkXCI7XG4gICAgICAgICRpY29uLWRvdHM6IFwiXFxlZDRlXCI7XG4gICAgICAgICRpY29uLXdhcm5pbmc6IFwiXFxlZDRmXCI7XG4gICAgICAgICRpY29uLXdhcm5pbmcyOiBcIlxcZWQ1MFwiO1xuICAgICAgICAkaWNvbi1ub3RpZmljYXRpb246IFwiXFxlZDUxXCI7XG4gICAgICAgICRpY29uLW5vdGlmaWNhdGlvbjI6IFwiXFxlZDUyXCI7XG4gICAgICAgICRpY29uLXF1ZXN0aW9uOiBcIlxcZWQ1M1wiO1xuICAgICAgICAkaWNvbi1xdWVzdGlvbjI6IFwiXFxlZDU0XCI7XG4gICAgICAgICRpY29uLXF1ZXN0aW9uMzogXCJcXGVkNTVcIjtcbiAgICAgICAgJGljb24tcXVlc3Rpb240OiBcIlxcZWQ1NlwiO1xuICAgICAgICAkaWNvbi1xdWVzdGlvbjU6IFwiXFxlZDU3XCI7XG4gICAgICAgICRpY29uLXF1ZXN0aW9uNjogXCJcXGVkNThcIjtcbiAgICAgICAgJGljb24tcGx1czogXCJcXGVkNTlcIjtcbiAgICAgICAgJGljb24tbWludXM6IFwiXFxlZDVhXCI7XG4gICAgICAgICRpY29uLXBsdXMyOiBcIlxcZWQ1YlwiO1xuICAgICAgICAkaWNvbi1taW51czI6IFwiXFxlZDVjXCI7XG4gICAgICAgICRpY29uLXBsdXMzOiBcIlxcZWQ1ZFwiO1xuICAgICAgICAkaWNvbi1taW51czM6IFwiXFxlZDVlXCI7XG4gICAgICAgICRpY29uLXBsdXMtY2lyY2xlOiBcIlxcZWQ1ZlwiO1xuICAgICAgICAkaWNvbi1taW51cy1jaXJjbGU6IFwiXFxlZDYwXCI7XG4gICAgICAgICRpY29uLXBsdXMtY2lyY2xlMjogXCJcXGVkNjFcIjtcbiAgICAgICAgJGljb24tbWludXMtY2lyY2xlMjogXCJcXGVkNjJcIjtcbiAgICAgICAgJGljb24taW5mbzogXCJcXGVkNjNcIjtcbiAgICAgICAgJGljb24taW5mbzI6IFwiXFxlZDY0XCI7XG4gICAgICAgICRpY29uLWNhbmNlbC1jaXJjbGU6IFwiXFxlZDY1XCI7XG4gICAgICAgICRpY29uLWNhbmNlbC1jaXJjbGUyOiBcIlxcZWQ2NlwiO1xuICAgICAgICAkaWNvbi1ibG9ja2VkOiBcIlxcZWQ2N1wiO1xuICAgICAgICAkaWNvbi1jYW5jZWwtc3F1YXJlOiBcIlxcZWQ2OFwiO1xuICAgICAgICAkaWNvbi1jYW5jZWwtc3F1YXJlMjogXCJcXGVkNjlcIjtcbiAgICAgICAgJGljb24tY2FuY2VsOiBcIlxcZWQ2YVwiO1xuICAgICAgICAkaWNvbi1zcGFtOiBcIlxcZWQ2YlwiO1xuICAgICAgICAkaWNvbi1jcm9zczogXCJcXGVkNmNcIjtcbiAgICAgICAgJGljb24tY3Jvc3MyOiBcIlxcZWQ2ZFwiO1xuICAgICAgICAkaWNvbi1jcm9zczM6IFwiXFxlZDZlXCI7XG4gICAgICAgICRpY29uLWNoZWNrbWFyazogXCJcXGVkNmZcIjtcbiAgICAgICAgJGljb24tY2hlY2ttYXJrMjogXCJcXGVkNzBcIjtcbiAgICAgICAgJGljb24tY2hlY2ttYXJrMzogXCJcXGVkNzFcIjtcbiAgICAgICAgJGljb24tY2hlY2ttYXJrNDogXCJcXGVkNzJcIjtcbiAgICAgICAgJGljb24tY2hlY2ttYXJrNTogXCJcXGVkNzNcIjtcbiAgICAgICAgJGljb24tc3BlbGwtY2hlY2s6IFwiXFxlZDc0XCI7XG4gICAgICAgICRpY29uLXNwZWxsLWNoZWNrMjogXCJcXGVkNzVcIjtcbiAgICAgICAgJGljb24tZW50ZXI6IFwiXFxlZDc2XCI7XG4gICAgICAgICRpY29uLWV4aXQ6IFwiXFxlZDc3XCI7XG4gICAgICAgICRpY29uLWVudGVyMjogXCJcXGVkNzhcIjtcbiAgICAgICAgJGljb24tZXhpdDI6IFwiXFxlZDc5XCI7XG4gICAgICAgICRpY29uLWVudGVyMzogXCJcXGVkN2FcIjtcbiAgICAgICAgJGljb24tZXhpdDM6IFwiXFxlZDdiXCI7XG4gICAgICAgICRpY29uLXdhbGw6IFwiXFxlZDdjXCI7XG4gICAgICAgICRpY29uLWZlbmNlOiBcIlxcZWQ3ZFwiO1xuICAgICAgICAkaWNvbi1wbGF5MzogXCJcXGVkN2VcIjtcbiAgICAgICAgJGljb24tcGF1c2U6IFwiXFxlZDdmXCI7XG4gICAgICAgICRpY29uLXN0b3A6IFwiXFxlZDgwXCI7XG4gICAgICAgICRpY29uLXByZXZpb3VzOiBcIlxcZWQ4MVwiO1xuICAgICAgICAkaWNvbi1uZXh0OiBcIlxcZWQ4MlwiO1xuICAgICAgICAkaWNvbi1iYWNrd2FyZDogXCJcXGVkODNcIjtcbiAgICAgICAgJGljb24tZm9yd2FyZDI6IFwiXFxlZDg0XCI7XG4gICAgICAgICRpY29uLXBsYXk0OiBcIlxcZWQ4NVwiO1xuICAgICAgICAkaWNvbi1wYXVzZTI6IFwiXFxlZDg2XCI7XG4gICAgICAgICRpY29uLXN0b3AyOiBcIlxcZWQ4N1wiO1xuICAgICAgICAkaWNvbi1iYWNrd2FyZDI6IFwiXFxlZDg4XCI7XG4gICAgICAgICRpY29uLWZvcndhcmQzOiBcIlxcZWQ4OVwiO1xuICAgICAgICAkaWNvbi1maXJzdDogXCJcXGVkOGFcIjtcbiAgICAgICAgJGljb24tbGFzdDogXCJcXGVkOGJcIjtcbiAgICAgICAgJGljb24tcHJldmlvdXMyOiBcIlxcZWQ4Y1wiO1xuICAgICAgICAkaWNvbi1uZXh0MjogXCJcXGVkOGRcIjtcbiAgICAgICAgJGljb24tZWplY3Q6IFwiXFxlZDhlXCI7XG4gICAgICAgICRpY29uLXZvbHVtZS1oaWdoOiBcIlxcZWQ4ZlwiO1xuICAgICAgICAkaWNvbi12b2x1bWUtbWVkaXVtOiBcIlxcZWQ5MFwiO1xuICAgICAgICAkaWNvbi12b2x1bWUtbG93OiBcIlxcZWQ5MVwiO1xuICAgICAgICAkaWNvbi12b2x1bWUtbXV0ZTogXCJcXGVkOTJcIjtcbiAgICAgICAgJGljb24tc3BlYWtlci1sZWZ0OiBcIlxcZWQ5M1wiO1xuICAgICAgICAkaWNvbi1zcGVha2VyLXJpZ2h0OiBcIlxcZWQ5NFwiO1xuICAgICAgICAkaWNvbi12b2x1bWUtbXV0ZTI6IFwiXFxlZDk1XCI7XG4gICAgICAgICRpY29uLXZvbHVtZS1pbmNyZWFzZTogXCJcXGVkOTZcIjtcbiAgICAgICAgJGljb24tdm9sdW1lLWRlY3JlYXNlOiBcIlxcZWQ5N1wiO1xuICAgICAgICAkaWNvbi12b2x1bWUtaGlnaDI6IFwiXFxlZDk4XCI7XG4gICAgICAgICRpY29uLXZvbHVtZS1tZWRpdW0yOiBcIlxcZWQ5OVwiO1xuICAgICAgICAkaWNvbi12b2x1bWUtbWVkaXVtMzogXCJcXGVkOWFcIjtcbiAgICAgICAgJGljb24tdm9sdW1lLWxvdzI6IFwiXFxlZDliXCI7XG4gICAgICAgICRpY29uLXZvbHVtZS1tdXRlMzogXCJcXGVkOWNcIjtcbiAgICAgICAgJGljb24tdm9sdW1lLWluY3JlYXNlMjogXCJcXGVkOWRcIjtcbiAgICAgICAgJGljb24tdm9sdW1lLWRlY3JlYXNlMjogXCJcXGVkOWVcIjtcbiAgICAgICAgJGljb24tdm9sdW1lLWRlY3JlYXNlMzogXCJcXGVkOWZcIjtcbiAgICAgICAgJGljb24tdm9sdW1lLTU6IFwiXFxlZGEwXCI7XG4gICAgICAgICRpY29uLXZvbHVtZS00OiBcIlxcZWRhMVwiO1xuICAgICAgICAkaWNvbi12b2x1bWUtMzogXCJcXGVkYTJcIjtcbiAgICAgICAgJGljb24tdm9sdW1lLTI6IFwiXFxlZGEzXCI7XG4gICAgICAgICRpY29uLXZvbHVtZS0xOiBcIlxcZWRhNFwiO1xuICAgICAgICAkaWNvbi12b2x1bWUtMDogXCJcXGVkYTVcIjtcbiAgICAgICAgJGljb24tdm9sdW1lLW11dGU0OiBcIlxcZWRhNlwiO1xuICAgICAgICAkaWNvbi12b2x1bWUtbXV0ZTU6IFwiXFxlZGE3XCI7XG4gICAgICAgICRpY29uLWxvb3A6IFwiXFxlZGE4XCI7XG4gICAgICAgICRpY29uLWxvb3AyOiBcIlxcZWRhOVwiO1xuICAgICAgICAkaWNvbi1sb29wMzogXCJcXGVkYWFcIjtcbiAgICAgICAgJGljb24taW5maW5pdGUtc3F1YXJlOiBcIlxcZWRhYlwiO1xuICAgICAgICAkaWNvbi1pbmZpbml0ZTogXCJcXGVkYWNcIjtcbiAgICAgICAgJGljb24taW5maW5pdGUyOiBcIlxcZWRhZFwiO1xuICAgICAgICAkaWNvbi1sb29wNDogXCJcXGVkYWVcIjtcbiAgICAgICAgJGljb24tc2h1ZmZsZTogXCJcXGVkYWZcIjtcbiAgICAgICAgJGljb24tc2h1ZmZsZTI6IFwiXFxlZGIwXCI7XG4gICAgICAgICRpY29uLXdhdmU6IFwiXFxlZGIxXCI7XG4gICAgICAgICRpY29uLXdhdmUyOiBcIlxcZWRiMlwiO1xuICAgICAgICAkaWNvbi1zcGxpdDogXCJcXGVkYjNcIjtcbiAgICAgICAgJGljb24tbWVyZ2U6IFwiXFxlZGI0XCI7XG4gICAgICAgICRpY29uLWZpcnN0MjogXCJcXGVkYjVcIjtcbiAgICAgICAgJGljb24tbGFzdDI6IFwiXFxlZGI2XCI7XG4gICAgICAgICRpY29uLWFycm93LXVwOiBcIlxcZWRiN1wiO1xuICAgICAgICAkaWNvbi1hcnJvdy11cDI6IFwiXFxlZGI4XCI7XG4gICAgICAgICRpY29uLWFycm93LXVwMzogXCJcXGVkYjlcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXA0OiBcIlxcZWRiYVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1yaWdodDogXCJcXGVkYmJcIjtcbiAgICAgICAgJGljb24tYXJyb3ctcmlnaHQyOiBcIlxcZWRiY1wiO1xuICAgICAgICAkaWNvbi1hcnJvdy1yaWdodDM6IFwiXFxlZGJkXCI7XG4gICAgICAgICRpY29uLWFycm93LXJpZ2h0NDogXCJcXGVkYmVcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bjogXCJcXGVkYmZcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bjI6IFwiXFxlZGMwXCI7XG4gICAgICAgICRpY29uLWFycm93LWRvd24zOiBcIlxcZWRjMVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duNDogXCJcXGVkYzJcIjtcbiAgICAgICAgJGljb24tYXJyb3ctbGVmdDogXCJcXGVkYzNcIjtcbiAgICAgICAgJGljb24tYXJyb3ctbGVmdDI6IFwiXFxlZGM0XCI7XG4gICAgICAgICRpY29uLWFycm93LWxlZnQzOiBcIlxcZWRjNVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1sZWZ0NDogXCJcXGVkYzZcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXA1OiBcIlxcZWRjN1wiO1xuICAgICAgICAkaWNvbi1hcnJvdy1yaWdodDU6IFwiXFxlZGM4XCI7XG4gICAgICAgICRpY29uLWFycm93LWRvd241OiBcIlxcZWRjOVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1sZWZ0NTogXCJcXGVkY2FcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXAtbGVmdDogXCJcXGVkY2JcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXA2OiBcIlxcZWRjY1wiO1xuICAgICAgICAkaWNvbi1hcnJvdy11cC1yaWdodDogXCJcXGVkY2RcIjtcbiAgICAgICAgJGljb24tYXJyb3ctcmlnaHQ2OiBcIlxcZWRjZVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duLXJpZ2h0OiBcIlxcZWRjZlwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duNjogXCJcXGVkZDBcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bi1sZWZ0OiBcIlxcZWRkMVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1sZWZ0NjogXCJcXGVkZDJcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXAtbGVmdDI6IFwiXFxlZGQzXCI7XG4gICAgICAgICRpY29uLWFycm93LXVwNzogXCJcXGVkZDRcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXAtcmlnaHQyOiBcIlxcZWRkNVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1yaWdodDc6IFwiXFxlZGQ2XCI7XG4gICAgICAgICRpY29uLWFycm93LWRvd24tcmlnaHQyOiBcIlxcZWRkN1wiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duNzogXCJcXGVkZDhcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bi1sZWZ0MjogXCJcXGVkZDlcIjtcbiAgICAgICAgJGljb24tYXJyb3ctbGVmdDc6IFwiXFxlZGRhXCI7XG4gICAgICAgICRpY29uLWFycm93LXVwLWxlZnQzOiBcIlxcZWRkYlwiO1xuICAgICAgICAkaWNvbi1hcnJvdy11cDg6IFwiXFxlZGRjXCI7XG4gICAgICAgICRpY29uLWFycm93LXVwLXJpZ2h0MzogXCJcXGVkZGRcIjtcbiAgICAgICAgJGljb24tYXJyb3ctcmlnaHQ4OiBcIlxcZWRkZVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duLXJpZ2h0MzogXCJcXGVkZGZcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bjg6IFwiXFxlZGUwXCI7XG4gICAgICAgICRpY29uLWFycm93LWRvd24tbGVmdDM6IFwiXFxlZGUxXCI7XG4gICAgICAgICRpY29uLWFycm93LWxlZnQ4OiBcIlxcZWRlMlwiO1xuICAgICAgICAkaWNvbi1jaXJjbGUtdXA6IFwiXFxlZGUzXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1yaWdodDogXCJcXGVkZTRcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLWRvd246IFwiXFxlZGU1XCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1sZWZ0OiBcIlxcZWRlNlwiO1xuICAgICAgICAkaWNvbi1jaXJjbGUtdXAyOiBcIlxcZWRlN1wiO1xuICAgICAgICAkaWNvbi1jaXJjbGUtcmlnaHQyOiBcIlxcZWRlOFwiO1xuICAgICAgICAkaWNvbi1jaXJjbGUtZG93bjI6IFwiXFxlZGU5XCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1sZWZ0MjogXCJcXGVkZWFcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLXVwLWxlZnQ6IFwiXFxlZGViXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS11cDM6IFwiXFxlZGVjXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS11cC1yaWdodDogXCJcXGVkZWRcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLXJpZ2h0MzogXCJcXGVkZWVcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLWRvd24tcmlnaHQ6IFwiXFxlZGVmXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1kb3duMzogXCJcXGVkZjBcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLWRvd24tbGVmdDogXCJcXGVkZjFcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLWxlZnQzOiBcIlxcZWRmMlwiO1xuICAgICAgICAkaWNvbi1jaXJjbGUtdXAtbGVmdDI6IFwiXFxlZGYzXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS11cDQ6IFwiXFxlZGY0XCI7XG4gICAgICAgICRpY29uLWNpcmNsZS11cC1yaWdodDI6IFwiXFxlZGY1XCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1yaWdodDQ6IFwiXFxlZGY2XCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1kb3duLXJpZ2h0MjogXCJcXGVkZjdcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLWRvd240OiBcIlxcZWRmOFwiO1xuICAgICAgICAkaWNvbi1jaXJjbGUtZG93bi1sZWZ0MjogXCJcXGVkZjlcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLWxlZnQ0OiBcIlxcZWRmYVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1yZXNpemU6IFwiXFxlZGZiXCI7XG4gICAgICAgICRpY29uLWFycm93LXJlc2l6ZTI6IFwiXFxlZGZjXCI7XG4gICAgICAgICRpY29uLWFycm93LXJlc2l6ZTM6IFwiXFxlZGZkXCI7XG4gICAgICAgICRpY29uLWFycm93LXJlc2l6ZTQ6IFwiXFxlZGZlXCI7XG4gICAgICAgICRpY29uLWFycm93LXJlc2l6ZTU6IFwiXFxlZGZmXCI7XG4gICAgICAgICRpY29uLWFycm93LXJlc2l6ZTY6IFwiXFxlZTAwXCI7XG4gICAgICAgICRpY29uLWFycm93LXJlc2l6ZTc6IFwiXFxlZTAxXCI7XG4gICAgICAgICRpY29uLWFycm93LXJlc2l6ZTg6IFwiXFxlZTAyXCI7XG4gICAgICAgICRpY29uLXNxdWFyZS11cC1sZWZ0OiBcIlxcZWUwM1wiO1xuICAgICAgICAkaWNvbi1zcXVhcmUtdXA6IFwiXFxlZTA0XCI7XG4gICAgICAgICRpY29uLXNxdWFyZS11cC1yaWdodDogXCJcXGVlMDVcIjtcbiAgICAgICAgJGljb24tc3F1YXJlLXJpZ2h0OiBcIlxcZWUwNlwiO1xuICAgICAgICAkaWNvbi1zcXVhcmUtZG93bi1yaWdodDogXCJcXGVlMDdcIjtcbiAgICAgICAgJGljb24tc3F1YXJlLWRvd246IFwiXFxlZTA4XCI7XG4gICAgICAgICRpY29uLXNxdWFyZS1kb3duLWxlZnQ6IFwiXFxlZTA5XCI7XG4gICAgICAgICRpY29uLXNxdWFyZS1sZWZ0OiBcIlxcZWUwYVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy11cDk6IFwiXFxlZTBiXCI7XG4gICAgICAgICRpY29uLWFycm93LXJpZ2h0OTogXCJcXGVlMGNcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bjk6IFwiXFxlZTBkXCI7XG4gICAgICAgICRpY29uLWFycm93LWxlZnQ5OiBcIlxcZWUwZVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy11cDEwOiBcIlxcZWUwZlwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1yaWdodDEwOiBcIlxcZWUxMFwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duMTA6IFwiXFxlZTExXCI7XG4gICAgICAgICRpY29uLWFycm93LWxlZnQxMDogXCJcXGVlMTJcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXAtbGVmdDQ6IFwiXFxlZTEzXCI7XG4gICAgICAgICRpY29uLWFycm93LXVwMTE6IFwiXFxlZTE0XCI7XG4gICAgICAgICRpY29uLWFycm93LXVwLXJpZ2h0NDogXCJcXGVlMTVcIjtcbiAgICAgICAgJGljb24tYXJyb3ctcmlnaHQxMTogXCJcXGVlMTZcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bi1yaWdodDQ6IFwiXFxlZTE3XCI7XG4gICAgICAgICRpY29uLWFycm93LWRvd24xMTogXCJcXGVlMThcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bi1sZWZ0NDogXCJcXGVlMTlcIjtcbiAgICAgICAgJGljb24tYXJyb3ctbGVmdDExOiBcIlxcZWUxYVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy11cC1sZWZ0NTogXCJcXGVlMWJcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXAxMjogXCJcXGVlMWNcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXAtcmlnaHQ1OiBcIlxcZWUxZFwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1yaWdodDEyOiBcIlxcZWUxZVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duLXJpZ2h0NTogXCJcXGVlMWZcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bjEyOiBcIlxcZWUyMFwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duLWxlZnQ1OiBcIlxcZWUyMVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1sZWZ0MTI6IFwiXFxlZTIyXCI7XG4gICAgICAgICRpY29uLWFycm93LXVwMTM6IFwiXFxlZTIzXCI7XG4gICAgICAgICRpY29uLWFycm93LXJpZ2h0MTM6IFwiXFxlZTI0XCI7XG4gICAgICAgICRpY29uLWFycm93LWRvd24xMzogXCJcXGVlMjVcIjtcbiAgICAgICAgJGljb24tYXJyb3ctbGVmdDEzOiBcIlxcZWUyNlwiO1xuICAgICAgICAkaWNvbi1hcnJvdy11cDE0OiBcIlxcZWUyN1wiO1xuICAgICAgICAkaWNvbi1hcnJvdy1yaWdodDE0OiBcIlxcZWUyOFwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duMTQ6IFwiXFxlZTI5XCI7XG4gICAgICAgICRpY29uLWFycm93LWxlZnQxNDogXCJcXGVlMmFcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLXVwNTogXCJcXGVlMmJcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLXJpZ2h0NTogXCJcXGVlMmNcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLWRvd241OiBcIlxcZWUyZFwiO1xuICAgICAgICAkaWNvbi1jaXJjbGUtbGVmdDU6IFwiXFxlZTJlXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS11cDY6IFwiXFxlZTJmXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1yaWdodDY6IFwiXFxlZTMwXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1kb3duNjogXCJcXGVlMzFcIjtcbiAgICAgICAgJGljb24tY2lyY2xlLWxlZnQ2OiBcIlxcZWUzMlwiO1xuICAgICAgICAkaWNvbi1hcnJvdy11cDE1OiBcIlxcZWUzM1wiO1xuICAgICAgICAkaWNvbi1hcnJvdy1yaWdodDE1OiBcIlxcZWUzNFwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1kb3duMTU6IFwiXFxlZTM1XCI7XG4gICAgICAgICRpY29uLWFycm93LWxlZnQxNTogXCJcXGVlMzZcIjtcbiAgICAgICAgJGljb24tYXJyb3ctdXAxNjogXCJcXGVlMzdcIjtcbiAgICAgICAgJGljb24tYXJyb3ctcmlnaHQxNjogXCJcXGVlMzhcIjtcbiAgICAgICAgJGljb24tYXJyb3ctZG93bjE2OiBcIlxcZWUzOVwiO1xuICAgICAgICAkaWNvbi1hcnJvdy1sZWZ0MTY6IFwiXFxlZTNhXCI7XG4gICAgICAgICRpY29uLW1lbnUtb3BlbjogXCJcXGVlM2JcIjtcbiAgICAgICAgJGljb24tbWVudS1vcGVuMjogXCJcXGVlM2NcIjtcbiAgICAgICAgJGljb24tbWVudS1jbG9zZTogXCJcXGVlM2RcIjtcbiAgICAgICAgJGljb24tbWVudS1jbG9zZTI6IFwiXFxlZTNlXCI7XG4gICAgICAgICRpY29uLWVudGVyNDogXCJcXGVlM2ZcIjtcbiAgICAgICAgJGljb24tZW50ZXI1OiBcIlxcZWU0MFwiO1xuICAgICAgICAkaWNvbi1lc2M6IFwiXFxlZTQxXCI7XG4gICAgICAgICRpY29uLWVudGVyNjogXCJcXGVlNDJcIjtcbiAgICAgICAgJGljb24tYmFja3NwYWNlOiBcIlxcZWU0M1wiO1xuICAgICAgICAkaWNvbi1iYWNrc3BhY2UyOiBcIlxcZWU0NFwiO1xuICAgICAgICAkaWNvbi10YWI6IFwiXFxlZTQ1XCI7XG4gICAgICAgICRpY29uLXRyYW5zbWlzc2lvbjogXCJcXGVlNDZcIjtcbiAgICAgICAgJGljb24tdHJhbnNtaXNzaW9uMjogXCJcXGVlNDdcIjtcbiAgICAgICAgJGljb24tc29ydDogXCJcXGVlNDhcIjtcbiAgICAgICAgJGljb24tc29ydDI6IFwiXFxlZTQ5XCI7XG4gICAgICAgICRpY29uLW1vdmUtdXA6IFwiXFxlZTRhXCI7XG4gICAgICAgICRpY29uLW1vdmUtZG93bjogXCJcXGVlNGJcIjtcbiAgICAgICAgJGljb24tc29ydC1hbHBoYS1hc2M6IFwiXFxlZTRjXCI7XG4gICAgICAgICRpY29uLXNvcnQtYWxwaGEtZGVzYzogXCJcXGVlNGRcIjtcbiAgICAgICAgJGljb24tc29ydC1udW1lcmljLWFzYzogXCJcXGVlNGVcIjtcbiAgICAgICAgJGljb24tc29ydC1udW1iZXJpYy1kZXNjOiBcIlxcZWU0ZlwiO1xuICAgICAgICAkaWNvbi1zb3J0LWFtb3VudC1hc2M6IFwiXFxlZTUwXCI7XG4gICAgICAgICRpY29uLXNvcnQtYW1vdW50LWRlc2M6IFwiXFxlZTUxXCI7XG4gICAgICAgICRpY29uLXNvcnQtdGltZS1hc2M6IFwiXFxlZTUyXCI7XG4gICAgICAgICRpY29uLXNvcnQtdGltZS1kZXNjOiBcIlxcZWU1M1wiO1xuICAgICAgICAkaWNvbi1iYXR0ZXJ5LTY6IFwiXFxlZTU0XCI7XG4gICAgICAgICRpY29uLWJhdHRlcnktNTogXCJcXGVlNTVcIjtcbiAgICAgICAgJGljb24tYmF0dGVyeS00OiBcIlxcZWU1NlwiO1xuICAgICAgICAkaWNvbi1iYXR0ZXJ5LTM6IFwiXFxlZTU3XCI7XG4gICAgICAgICRpY29uLWJhdHRlcnktMjogXCJcXGVlNThcIjtcbiAgICAgICAgJGljb24tYmF0dGVyeS0xOiBcIlxcZWU1OVwiO1xuICAgICAgICAkaWNvbi1iYXR0ZXJ5LTA6IFwiXFxlZTVhXCI7XG4gICAgICAgICRpY29uLWJhdHRlcnktY2hhcmdpbmc6IFwiXFxlZTViXCI7XG4gICAgICAgICRpY29uLWtleS1rZXlib2FyZDogXCJcXGVlNWNcIjtcbiAgICAgICAgJGljb24ta2V5LUE6IFwiXFxlZTVkXCI7XG4gICAgICAgICRpY29uLWtleS11cDogXCJcXGVlNWVcIjtcbiAgICAgICAgJGljb24ta2V5LXJpZ2h0OiBcIlxcZWU1ZlwiO1xuICAgICAgICAkaWNvbi1rZXktZG93bjogXCJcXGVlNjBcIjtcbiAgICAgICAgJGljb24ta2V5LWxlZnQ6IFwiXFxlZTYxXCI7XG4gICAgICAgICRpY29uLWNvbW1hbmQ6IFwiXFxlZTYyXCI7XG4gICAgICAgICRpY29uLXNoaWZ0OiBcIlxcZWU2M1wiO1xuICAgICAgICAkaWNvbi1jdHJsOiBcIlxcZWU2NFwiO1xuICAgICAgICAkaWNvbi1vcHQ6IFwiXFxlZTY1XCI7XG4gICAgICAgICRpY29uLWNoZWNrYm94LWNoZWNrZWQ6IFwiXFxlZTY2XCI7XG4gICAgICAgICRpY29uLWNoZWNrYm94LXVuY2hlY2tlZDogXCJcXGVlNjdcIjtcbiAgICAgICAgJGljb24tY2hlY2tib3gtcGFydGlhbDogXCJcXGVlNjhcIjtcbiAgICAgICAgJGljb24tc3F1YXJlOiBcIlxcZWU2OVwiO1xuICAgICAgICAkaWNvbi10cmlhbmdsZTogXCJcXGVlNmFcIjtcbiAgICAgICAgJGljb24tdHJpYW5nbGUyOiBcIlxcZWU2YlwiO1xuICAgICAgICAkaWNvbi1kaWFtb25kMzogXCJcXGVlNmNcIjtcbiAgICAgICAgJGljb24tZGlhbW9uZDQ6IFwiXFxlZTZkXCI7XG4gICAgICAgICRpY29uLWNoZWNrYm94LWNoZWNrZWQyOiBcIlxcZWU2ZVwiO1xuICAgICAgICAkaWNvbi1jaGVja2JveC11bmNoZWNrZWQyOiBcIlxcZWU2ZlwiO1xuICAgICAgICAkaWNvbi1jaGVja2JveC1wYXJ0aWFsMjogXCJcXGVlNzBcIjtcbiAgICAgICAgJGljb24tcmFkaW8tY2hlY2tlZDogXCJcXGVlNzFcIjtcbiAgICAgICAgJGljb24tcmFkaW8tY2hlY2tlZDI6IFwiXFxlZTcyXCI7XG4gICAgICAgICRpY29uLXJhZGlvLXVuY2hlY2tlZDogXCJcXGVlNzNcIjtcbiAgICAgICAgJGljb24tdG9nZ2xlLW9uOiBcIlxcZWU3NFwiO1xuICAgICAgICAkaWNvbi10b2dnbGUtb2ZmOiBcIlxcZWU3NVwiO1xuICAgICAgICAkaWNvbi1jaGVja21hcmstY2lyY2xlOiBcIlxcZWU3NlwiO1xuICAgICAgICAkaWNvbi1jaXJjbGU6IFwiXFxlZTc3XCI7XG4gICAgICAgICRpY29uLWNpcmNsZTI6IFwiXFxlZTc4XCI7XG4gICAgICAgICRpY29uLWNpcmNsZXM6IFwiXFxlZTc5XCI7XG4gICAgICAgICRpY29uLWNpcmNsZXMyOiBcIlxcZWU3YVwiO1xuICAgICAgICAkaWNvbi1jcm9wOiBcIlxcZWU3YlwiO1xuICAgICAgICAkaWNvbi1jcm9wMjogXCJcXGVlN2NcIjtcbiAgICAgICAgJGljb24tbWFrZS1ncm91cDogXCJcXGVlN2RcIjtcbiAgICAgICAgJGljb24tdW5ncm91cDogXCJcXGVlN2VcIjtcbiAgICAgICAgJGljb24tdmVjdG9yOiBcIlxcZWU3ZlwiO1xuICAgICAgICAkaWNvbi12ZWN0b3IyOiBcIlxcZWU4MFwiO1xuICAgICAgICAkaWNvbi1ydWxlcnM6IFwiXFxlZTgxXCI7XG4gICAgICAgICRpY29uLXJ1bGVyOiBcIlxcZWU4MlwiO1xuICAgICAgICAkaWNvbi1wZW5jaWwtcnVsZXI6IFwiXFxlZTgzXCI7XG4gICAgICAgICRpY29uLXNjaXNzb3JzOiBcIlxcZWU4NFwiO1xuICAgICAgICAkaWNvbi1zY2lzc29yczI6IFwiXFxlZTg1XCI7XG4gICAgICAgICRpY29uLXNjaXNzb3JzMzogXCJcXGVlODZcIjtcbiAgICAgICAgJGljb24taGFpcmN1dDogXCJcXGVlODdcIjtcbiAgICAgICAgJGljb24tY29tYjogXCJcXGVlODhcIjtcbiAgICAgICAgJGljb24tZmlsdGVyOiBcIlxcZWU4OVwiO1xuICAgICAgICAkaWNvbi1maWx0ZXIyOiBcIlxcZWU4YVwiO1xuICAgICAgICAkaWNvbi1maWx0ZXIzOiBcIlxcZWU4YlwiO1xuICAgICAgICAkaWNvbi1maWx0ZXI0OiBcIlxcZWU4Y1wiO1xuICAgICAgICAkaWNvbi1mb250OiBcIlxcZWU4ZFwiO1xuICAgICAgICAkaWNvbi1hbXBlcnNhbmQ6IFwiXFxlZThlXCI7XG4gICAgICAgICRpY29uLWxpZ2F0dXJlOiBcIlxcZWU4ZlwiO1xuICAgICAgICAkaWNvbi1saWdhdHVyZTI6IFwiXFxlZTkwXCI7XG4gICAgICAgICRpY29uLWZvbnQtc2l6ZTogXCJcXGVlOTFcIjtcbiAgICAgICAgJGljb24tdHlwb2dyYXBoeTogXCJcXGVlOTJcIjtcbiAgICAgICAgJGljb24tdGV4dC1oZWlnaHQ6IFwiXFxlZTkzXCI7XG4gICAgICAgICRpY29uLXRleHQtd2lkdGg6IFwiXFxlZTk0XCI7XG4gICAgICAgICRpY29uLWhlaWdodDI6IFwiXFxlZTk1XCI7XG4gICAgICAgICRpY29uLXdpZHRoOiBcIlxcZWU5NlwiO1xuICAgICAgICAkaWNvbi1ib2xkOiBcIlxcZWU5N1wiO1xuICAgICAgICAkaWNvbi11bmRlcmxpbmU6IFwiXFxlZTk4XCI7XG4gICAgICAgICRpY29uLWl0YWxpYzogXCJcXGVlOTlcIjtcbiAgICAgICAgJGljb24tc3RyaWtldGhyb3VnaDogXCJcXGVlOWFcIjtcbiAgICAgICAgJGljb24tc3RyaWtldGhyb3VnaDI6IFwiXFxlZTliXCI7XG4gICAgICAgICRpY29uLWZvbnQtc2l6ZTI6IFwiXFxlZTljXCI7XG4gICAgICAgICRpY29uLWJvbGQyOiBcIlxcZWU5ZFwiO1xuICAgICAgICAkaWNvbi11bmRlcmxpbmUyOiBcIlxcZWU5ZVwiO1xuICAgICAgICAkaWNvbi1pdGFsaWMyOiBcIlxcZWU5ZlwiO1xuICAgICAgICAkaWNvbi1zdHJpa2V0aHJvdWdoMzogXCJcXGVlYTBcIjtcbiAgICAgICAgJGljb24tb21lZ2E6IFwiXFxlZWExXCI7XG4gICAgICAgICRpY29uLXNpZ21hOiBcIlxcZWVhMlwiO1xuICAgICAgICAkaWNvbi1uYnNwOiBcIlxcZWVhM1wiO1xuICAgICAgICAkaWNvbi1wYWdlLWJyZWFrOiBcIlxcZWVhNFwiO1xuICAgICAgICAkaWNvbi1wYWdlLWJyZWFrMjogXCJcXGVlYTVcIjtcbiAgICAgICAgJGljb24tc3VwZXJzY3JpcHQ6IFwiXFxlZWE2XCI7XG4gICAgICAgICRpY29uLXN1YnNjcmlwdDogXCJcXGVlYTdcIjtcbiAgICAgICAgJGljb24tc3VwZXJzY3JpcHQyOiBcIlxcZWVhOFwiO1xuICAgICAgICAkaWNvbi1zdWJzY3JpcHQyOiBcIlxcZWVhOVwiO1xuICAgICAgICAkaWNvbi10ZXh0LWNvbG9yOiBcIlxcZWVhYVwiO1xuICAgICAgICAkaWNvbi1oaWdobGlnaHQ6IFwiXFxlZWFiXCI7XG4gICAgICAgICRpY29uLXBhZ2VicmVhazogXCJcXGVlYWNcIjtcbiAgICAgICAgJGljb24tY2xlYXItZm9ybWF0dGluZzogXCJcXGVlYWRcIjtcbiAgICAgICAgJGljb24tdGFibGU6IFwiXFxlZWFlXCI7XG4gICAgICAgICRpY29uLXRhYmxlMjogXCJcXGVlYWZcIjtcbiAgICAgICAgJGljb24taW5zZXJ0LXRlbXBsYXRlOiBcIlxcZWViMFwiO1xuICAgICAgICAkaWNvbi1waWxjcm93OiBcIlxcZWViMVwiO1xuICAgICAgICAkaWNvbi1sdHI6IFwiXFxlZWIyXCI7XG4gICAgICAgICRpY29uLXJ0bDogXCJcXGVlYjNcIjtcbiAgICAgICAgJGljb24tbHRyMjogXCJcXGVlYjRcIjtcbiAgICAgICAgJGljb24tcnRsMjogXCJcXGVlYjVcIjtcbiAgICAgICAgJGljb24tc2VjdGlvbjogXCJcXGVlYjZcIjtcbiAgICAgICAgJGljb24tcGFyYWdyYXBoLWxlZnQ6IFwiXFxlZWI3XCI7XG4gICAgICAgICRpY29uLXBhcmFncmFwaC1jZW50ZXI6IFwiXFxlZWI4XCI7XG4gICAgICAgICRpY29uLXBhcmFncmFwaC1yaWdodDogXCJcXGVlYjlcIjtcbiAgICAgICAgJGljb24tcGFyYWdyYXBoLWp1c3RpZnk6IFwiXFxlZWJhXCI7XG4gICAgICAgICRpY29uLXBhcmFncmFwaC1sZWZ0MjogXCJcXGVlYmJcIjtcbiAgICAgICAgJGljb24tcGFyYWdyYXBoLWNlbnRlcjI6IFwiXFxlZWJjXCI7XG4gICAgICAgICRpY29uLXBhcmFncmFwaC1yaWdodDI6IFwiXFxlZWJkXCI7XG4gICAgICAgICRpY29uLXBhcmFncmFwaC1qdXN0aWZ5MjogXCJcXGVlYmVcIjtcbiAgICAgICAgJGljb24taW5kZW50LWluY3JlYXNlOiBcIlxcZWViZlwiO1xuICAgICAgICAkaWNvbi1pbmRlbnQtZGVjcmVhc2U6IFwiXFxlZWMwXCI7XG4gICAgICAgICRpY29uLXBhcmFncmFwaC1sZWZ0MzogXCJcXGVlYzFcIjtcbiAgICAgICAgJGljb24tcGFyYWdyYXBoLWNlbnRlcjM6IFwiXFxlZWMyXCI7XG4gICAgICAgICRpY29uLXBhcmFncmFwaC1yaWdodDM6IFwiXFxlZWMzXCI7XG4gICAgICAgICRpY29uLXBhcmFncmFwaC1qdXN0aWZ5MzogXCJcXGVlYzRcIjtcbiAgICAgICAgJGljb24taW5kZW50LWluY3JlYXNlMjogXCJcXGVlYzVcIjtcbiAgICAgICAgJGljb24taW5kZW50LWRlY3JlYXNlMjogXCJcXGVlYzZcIjtcbiAgICAgICAgJGljb24tc2hhcmU6IFwiXFxlZWM3XCI7XG4gICAgICAgICRpY29uLXNoYXJlMjogXCJcXGVlYzhcIjtcbiAgICAgICAgJGljb24tbmV3LXRhYjogXCJcXGVlYzlcIjtcbiAgICAgICAgJGljb24tbmV3LXRhYjI6IFwiXFxlZWNhXCI7XG4gICAgICAgICRpY29uLXBvcG91dDogXCJcXGVlY2JcIjtcbiAgICAgICAgJGljb24tZW1iZWQ6IFwiXFxlZWNjXCI7XG4gICAgICAgICRpY29uLWVtYmVkMjogXCJcXGVlY2RcIjtcbiAgICAgICAgJGljb24tbWFya3VwOiBcIlxcZWVjZVwiO1xuICAgICAgICAkaWNvbi1yZWdleHA6IFwiXFxlZWNmXCI7XG4gICAgICAgICRpY29uLXJlZ2V4cDI6IFwiXFxlZWQwXCI7XG4gICAgICAgICRpY29uLWNvZGU6IFwiXFxlZWQxXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1jc3M6IFwiXFxlZWQyXCI7XG4gICAgICAgICRpY29uLWNpcmNsZS1jb2RlOiBcIlxcZWVkM1wiO1xuICAgICAgICAkaWNvbi10ZXJtaW5hbDogXCJcXGVlZDRcIjtcbiAgICAgICAgJGljb24tdW5pY29kZTogXCJcXGVlZDVcIjtcbiAgICAgICAgJGljb24tc2V2ZW4tc2VnbWVudC0wOiBcIlxcZWVkNlwiO1xuICAgICAgICAkaWNvbi1zZXZlbi1zZWdtZW50LTE6IFwiXFxlZWQ3XCI7XG4gICAgICAgICRpY29uLXNldmVuLXNlZ21lbnQtMjogXCJcXGVlZDhcIjtcbiAgICAgICAgJGljb24tc2V2ZW4tc2VnbWVudC0zOiBcIlxcZWVkOVwiO1xuICAgICAgICAkaWNvbi1zZXZlbi1zZWdtZW50LTQ6IFwiXFxlZWRhXCI7XG4gICAgICAgICRpY29uLXNldmVuLXNlZ21lbnQtNTogXCJcXGVlZGJcIjtcbiAgICAgICAgJGljb24tc2V2ZW4tc2VnbWVudC02OiBcIlxcZWVkY1wiO1xuICAgICAgICAkaWNvbi1zZXZlbi1zZWdtZW50LTc6IFwiXFxlZWRkXCI7XG4gICAgICAgICRpY29uLXNldmVuLXNlZ21lbnQtODogXCJcXGVlZGVcIjtcbiAgICAgICAgJGljb24tc2V2ZW4tc2VnbWVudC05OiBcIlxcZWVkZlwiO1xuICAgICAgICAkaWNvbi1zaGFyZTM6IFwiXFxlZWUwXCI7XG4gICAgICAgICRpY29uLXNoYXJlNDogXCJcXGVlZTFcIjtcbiAgICAgICAgJGljb24tbWFpbDogXCJcXGVlZTJcIjtcbiAgICAgICAgJGljb24tbWFpbDI6IFwiXFxlZWUzXCI7XG4gICAgICAgICRpY29uLW1haWwzOiBcIlxcZWVlNFwiO1xuICAgICAgICAkaWNvbi1tYWlsNDogXCJcXGVlZTVcIjtcbiAgICAgICAgJGljb24tYW1hem9uOiBcIlxcZWVlNlwiO1xuICAgICAgICAkaWNvbi1nb29nbGU6IFwiXFxlZWU3XCI7XG4gICAgICAgICRpY29uLWdvb2dsZTI6IFwiXFxlZWU4XCI7XG4gICAgICAgICRpY29uLWdvb2dsZTM6IFwiXFxlZWU5XCI7XG4gICAgICAgICRpY29uLWdvb2dsZS1wbHVzOiBcIlxcZWVlYVwiO1xuICAgICAgICAkaWNvbi1nb29nbGUtcGx1czI6IFwiXFxlZWViXCI7XG4gICAgICAgICRpY29uLWdvb2dsZS1wbHVzMzogXCJcXGVlZWNcIjtcbiAgICAgICAgJGljb24taGFuZ291dHM6IFwiXFxlZWVkXCI7XG4gICAgICAgICRpY29uLWdvb2dsZS1kcml2ZTogXCJcXGVlZWVcIjtcbiAgICAgICAgJGljb24tZmFjZWJvb2s6IFwiXFxlZWVmXCI7XG4gICAgICAgICRpY29uLWZhY2Vib29rMjogXCJcXGVlZjBcIjtcbiAgICAgICAgJGljb24taW5zdGFncmFtOiBcIlxcZWVmMVwiO1xuICAgICAgICAkaWNvbi13aGF0c2FwcDogXCJcXGVlZjJcIjtcbiAgICAgICAgJGljb24tc3BvdGlmeTogXCJcXGVlZjNcIjtcbiAgICAgICAgJGljb24tdGVsZWdyYW06IFwiXFxlZWY0XCI7XG4gICAgICAgICRpY29uLXR3aXR0ZXI6IFwiXFxlZWY1XCI7XG4gICAgICAgICRpY29uLXZpbmU6IFwiXFxlZWY2XCI7XG4gICAgICAgICRpY29uLXZrOiBcIlxcZWVmN1wiO1xuICAgICAgICAkaWNvbi1yZW5yZW46IFwiXFxlZWY4XCI7XG4gICAgICAgICRpY29uLXNpbmEtd2VpYm86IFwiXFxlZWY5XCI7XG4gICAgICAgICRpY29uLXJzczogXCJcXGVlZmFcIjtcbiAgICAgICAgJGljb24tcnNzMjogXCJcXGVlZmJcIjtcbiAgICAgICAgJGljb24teW91dHViZTogXCJcXGVlZmNcIjtcbiAgICAgICAgJGljb24teW91dHViZTI6IFwiXFxlZWZkXCI7XG4gICAgICAgICRpY29uLXR3aXRjaDogXCJcXGVlZmVcIjtcbiAgICAgICAgJGljb24tdmltZW86IFwiXFxlZWZmXCI7XG4gICAgICAgICRpY29uLXZpbWVvMjogXCJcXGVmMDBcIjtcbiAgICAgICAgJGljb24tbGFueXJkOiBcIlxcZWYwMVwiO1xuICAgICAgICAkaWNvbi1mbGlja3I6IFwiXFxlZjAyXCI7XG4gICAgICAgICRpY29uLWZsaWNrcjI6IFwiXFxlZjAzXCI7XG4gICAgICAgICRpY29uLWZsaWNrcjM6IFwiXFxlZjA0XCI7XG4gICAgICAgICRpY29uLWZsaWNrcjQ6IFwiXFxlZjA1XCI7XG4gICAgICAgICRpY29uLWRyaWJiYmxlOiBcIlxcZWYwNlwiO1xuICAgICAgICAkaWNvbi1iZWhhbmNlOiBcIlxcZWYwN1wiO1xuICAgICAgICAkaWNvbi1iZWhhbmNlMjogXCJcXGVmMDhcIjtcbiAgICAgICAgJGljb24tZGV2aWFudGFydDogXCJcXGVmMDlcIjtcbiAgICAgICAgJGljb24tNTAwcHg6IFwiXFxlZjBhXCI7XG4gICAgICAgICRpY29uLXN0ZWFtOiBcIlxcZWYwYlwiO1xuICAgICAgICAkaWNvbi1zdGVhbTI6IFwiXFxlZjBjXCI7XG4gICAgICAgICRpY29uLWRyb3Bib3g6IFwiXFxlZjBkXCI7XG4gICAgICAgICRpY29uLW9uZWRyaXZlOiBcIlxcZWYwZVwiO1xuICAgICAgICAkaWNvbi1naXRodWI6IFwiXFxlZjBmXCI7XG4gICAgICAgICRpY29uLW5wbTogXCJcXGVmMTBcIjtcbiAgICAgICAgJGljb24tYmFzZWNhbXA6IFwiXFxlZjExXCI7XG4gICAgICAgICRpY29uLXRyZWxsbzogXCJcXGVmMTJcIjtcbiAgICAgICAgJGljb24td29yZHByZXNzOiBcIlxcZWYxM1wiO1xuICAgICAgICAkaWNvbi1qb29tbGE6IFwiXFxlZjE0XCI7XG4gICAgICAgICRpY29uLWVsbG86IFwiXFxlZjE1XCI7XG4gICAgICAgICRpY29uLWJsb2dnZXI6IFwiXFxlZjE2XCI7XG4gICAgICAgICRpY29uLWJsb2dnZXIyOiBcIlxcZWYxN1wiO1xuICAgICAgICAkaWNvbi10dW1ibHI6IFwiXFxlZjE4XCI7XG4gICAgICAgICRpY29uLXR1bWJscjI6IFwiXFxlZjE5XCI7XG4gICAgICAgICRpY29uLXlhaG9vOiBcIlxcZWYxYVwiO1xuICAgICAgICAkaWNvbi15YWhvbzI6IFwiXFxlZjFiXCI7XG4gICAgICAgICRpY29uLXR1eDogXCJcXGVmMWNcIjtcbiAgICAgICAgJGljb24tYXBwbGVpbmM6IFwiXFxlZjFkXCI7XG4gICAgICAgICRpY29uLWZpbmRlcjogXCJcXGVmMWVcIjtcbiAgICAgICAgJGljb24tYW5kcm9pZDogXCJcXGVmMWZcIjtcbiAgICAgICAgJGljb24td2luZG93czogXCJcXGVmMjBcIjtcbiAgICAgICAgJGljb24td2luZG93czg6IFwiXFxlZjIxXCI7XG4gICAgICAgICRpY29uLXNvdW5kY2xvdWQ6IFwiXFxlZjIyXCI7XG4gICAgICAgICRpY29uLXNvdW5kY2xvdWQyOiBcIlxcZWYyM1wiO1xuICAgICAgICAkaWNvbi1za3lwZTogXCJcXGVmMjRcIjtcbiAgICAgICAgJGljb24tcmVkZGl0OiBcIlxcZWYyNVwiO1xuICAgICAgICAkaWNvbi1oYWNrZXJuZXdzOiBcIlxcZWYyNlwiO1xuICAgICAgICAkaWNvbi13aWtpcGVkaWE6IFwiXFxlZjI3XCI7XG4gICAgICAgICRpY29uLWxpbmtlZGluOiBcIlxcZWYyOFwiO1xuICAgICAgICAkaWNvbi1saW5rZWRpbjI6IFwiXFxlZjI5XCI7XG4gICAgICAgICRpY29uLWxhc3RmbTogXCJcXGVmMmFcIjtcbiAgICAgICAgJGljb24tbGFzdGZtMjogXCJcXGVmMmJcIjtcbiAgICAgICAgJGljb24tZGVsaWNpb3VzOiBcIlxcZWYyY1wiO1xuICAgICAgICAkaWNvbi1zdHVtYmxldXBvbjogXCJcXGVmMmRcIjtcbiAgICAgICAgJGljb24tc3R1bWJsZXVwb24yOiBcIlxcZWYyZVwiO1xuICAgICAgICAkaWNvbi1zdGFja292ZXJmbG93OiBcIlxcZWYyZlwiO1xuICAgICAgICAkaWNvbi1waW50ZXJlc3Q6IFwiXFxlZjMwXCI7XG4gICAgICAgICRpY29uLXBpbnRlcmVzdDI6IFwiXFxlZjMxXCI7XG4gICAgICAgICRpY29uLXhpbmc6IFwiXFxlZjMyXCI7XG4gICAgICAgICRpY29uLXhpbmcyOiBcIlxcZWYzM1wiO1xuICAgICAgICAkaWNvbi1mbGF0dHI6IFwiXFxlZjM0XCI7XG4gICAgICAgICRpY29uLWZvdXJzcXVhcmU6IFwiXFxlZjM1XCI7XG4gICAgICAgICRpY29uLXllbHA6IFwiXFxlZjM2XCI7XG4gICAgICAgICRpY29uLXBheXBhbDogXCJcXGVmMzdcIjtcbiAgICAgICAgJGljb24tY2hyb21lOiBcIlxcZWYzOFwiO1xuICAgICAgICAkaWNvbi1maXJlZm94OiBcIlxcZWYzOVwiO1xuICAgICAgICAkaWNvbi1JRTogXCJcXGVmM2FcIjtcbiAgICAgICAgJGljb24tZWRnZTogXCJcXGVmM2JcIjtcbiAgICAgICAgJGljb24tc2FmYXJpOiBcIlxcZWYzY1wiO1xuICAgICAgICAkaWNvbi1vcGVyYTogXCJcXGVmM2RcIjtcbiAgICAgICAgJGljb24tZmlsZS1wZGY6IFwiXFxlZjNlXCI7XG4gICAgICAgICRpY29uLWZpbGUtb3Blbm9mZmljZTogXCJcXGVmM2ZcIjtcbiAgICAgICAgJGljb24tZmlsZS13b3JkOiBcIlxcZWY0MFwiO1xuICAgICAgICAkaWNvbi1maWxlLWV4Y2VsOiBcIlxcZWY0MVwiO1xuICAgICAgICAkaWNvbi1saWJyZW9mZmljZTogXCJcXGVmNDJcIjtcbiAgICAgICAgJGljb24taHRtbC1maXZlOiBcIlxcZWY0M1wiO1xuICAgICAgICAkaWNvbi1odG1sLWZpdmUyOiBcIlxcZWY0NFwiO1xuICAgICAgICAkaWNvbi1jc3MzOiBcIlxcZWY0NVwiO1xuICAgICAgICAkaWNvbi1naXQ6IFwiXFxlZjQ2XCI7XG4gICAgICAgICRpY29uLWNvZGVwZW46IFwiXFxlZjQ3XCI7XG4gICAgICAgICRpY29uLXN2ZzogXCJcXGVmNDhcIjtcbiAgICAgICAgJGljb24tSWNvTW9vbjogXCJcXGVmNDlcIjtcblxuICAgICAgICAuaWNvbi1ob21lIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ob21lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ob21lMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taG9tZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhvbWUzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ob21lMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taG9tZTQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhvbWU0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ob21lNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taG9tZTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhvbWU2IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ob21lNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taG9tZTcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhvbWU3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ob21lOCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taG9tZTg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhvbWU5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ob21lOTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tb2ZmaWNlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1vZmZpY2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpdHkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpdHk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW5ld3NwYXBlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbmV3c3BhcGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tYWdhemluZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFnYXppbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRlc2lnbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGVzaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wZW5jaWwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBlbmNpbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVuY2lsMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGVuY2lsMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVuY2lsMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGVuY2lsMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVuY2lsNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGVuY2lsNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVuY2lsNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGVuY2lsNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVuY2lsNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGVuY2lsNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVuY2lsNyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGVuY2lsNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZXJhc2VyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lcmFzZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVyYXNlcjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWVyYXNlcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVyYXNlcjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWVyYXNlcjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXF1aWxsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1xdWlsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcXVpbGwyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1xdWlsbDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXF1aWxsMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcXVpbGwzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1xdWlsbDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXF1aWxsNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBlbi1wbHVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wZW4tcGx1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVuLW1pbnVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wZW4tbWludXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBlbjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBlbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBlbjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBlbjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBlbjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBlbjQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBlbjUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBlbjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1hcmtlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFya2VyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tYXJrZXIyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tYXJrZXIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ibG9nIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ibG9nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ibG9nMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmxvZzI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBlbjYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBlbjY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJydXNoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1icnVzaDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3ByYXkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwcmF5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYWxldHRlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wYWxldHRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYWxldHRlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFsZXR0ZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvbG9yLXNhbXBsZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvbG9yLXNhbXBsZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRvZ2dsZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdG9nZ2xlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWNrZXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1Y2tldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnVja2V0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnVja2V0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ3JhZGllbnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdyYWRpZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1leWVkcm9wcGVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1leWVkcm9wcGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1leWVkcm9wcGVyMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXllZHJvcHBlcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWV5ZWRyb3BwZXIzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1leWVkcm9wcGVyMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZHJvcGxldCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZHJvcGxldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZHJvcGxldDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRyb3BsZXQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kcm9wbGV0LWNvbnRyYXN0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kcm9wbGV0LWNvbnRyYXN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb2xvci1jbGVhciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29sb3ItY2xlYXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhaW50LWZvcm1hdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFpbnQtZm9ybWF0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFtcCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhbXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWltYWdlcyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taW1hZ2VzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbWFnZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taW1hZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWltYWdlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taW1hZ2UyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbWFnZS1jb21wYXJlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1pbWFnZS1jb21wYXJlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbWFnZXMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1pbWFnZXMyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbWFnZTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWltYWdlMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taW1hZ2VzMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taW1hZ2VzMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taW1hZ2U0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1pbWFnZTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWltYWdlNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taW1hZ2U1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbWFnZTYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWltYWdlNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FtZXJhIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYW1lcmE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhbWVyYTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhbWVyYTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhbWVyYTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhbWVyYTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNodXR0ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNodXR0ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhlYWRwaG9uZXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhlYWRwaG9uZXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhlYWRzZXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhlYWRzZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW11c2ljIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tdXNpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbXVzaWMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tdXNpYzI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW11c2ljMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbXVzaWMzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tdXNpYzQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW11c2ljNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbXVzaWM1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tdXNpYzU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW11c2ljNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbXVzaWM2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hbGJ1bSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWxidW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhc3NldHRlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYXNzZXR0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGFwZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGFwZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGlhbm8ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBpYW5vO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ndWl0YXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWd1aXRhcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHJ1bXBldCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHJ1bXBldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3BlYWtlcnMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwZWFrZXJzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wbGF5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbGF5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wbGF5MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGxheTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNsYXBib2FyZC1wbGF5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jbGFwYm9hcmQtcGxheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xhcGJvYXJkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jbGFwYm9hcmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1lZGlhIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tZWRpYTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcHJlc2VudGF0aW9uIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wcmVzZW50YXRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1vdmllIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tb3ZpZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsbSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsbTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbG0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxtMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsbTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbG00IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxtNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdmlkZW8tY2FtZXJhIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12aWRlby1jYW1lcmE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZpZGVvLWNhbWVyYTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZpZGVvLWNhbWVyYTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZpZGVvLWNhbWVyYS1zbGFzaCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdmlkZW8tY2FtZXJhLXNsYXNoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12aWRlby1jYW1lcmEzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12aWRlby1jYW1lcmEzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12aWRlby1jYW1lcmE0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12aWRlby1jYW1lcmE0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12aWRlby1jYW1lcmEtc2xhc2gyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12aWRlby1jYW1lcmEtc2xhc2gyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12aWRlby1jYW1lcmE1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12aWRlby1jYW1lcmE1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yZWNvcmRpbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXJlY29yZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGljZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGljZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ2FtZXBhZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ2FtZXBhZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ2FtZXBhZDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdhbWVwYWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1nYW1lcGFkMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ2FtZXBhZDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhY21hbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFjbWFuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcGFkZXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwYWRlcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2x1YnMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNsdWJzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kaWFtb25kcyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGlhbW9uZHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZXNzLWtpbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoZXNzLWtpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZXNzLXF1ZWVuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVzcy1xdWVlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2hlc3Mtcm9vayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hlc3Mtcm9vaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2hlc3MtYmlzaG9wIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVzcy1iaXNob3A7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZXNzLWtuaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hlc3Mta25pZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaGVzcy1wYXduIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVzcy1wYXduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaGVzcyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hlc3M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1bGxob3JuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWxsaG9ybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWVnYXBob25lIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tZWdhcGhvbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW5ldyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbmV3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb25uZWN0aW9uIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb25uZWN0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb25uZWN0aW9uMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29ubmVjdGlvbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvbm5lY3Rpb24zIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb25uZWN0aW9uMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29ubmVjdGlvbjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvbm5lY3Rpb240O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wb2RjYXN0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wb2RjYXN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGF0aW9uIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGF0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGF0aW9uMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhdGlvbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFudGVubmEge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFudGVubmE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNhdGVsbGl0ZS1kaXNoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zYXRlbGxpdGUtZGlzaDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2F0ZWxsaXRlLWRpc2gyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zYXRlbGxpdGUtZGlzaDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZlZWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZlZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBvZGNhc3QyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wb2RjYXN0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYW50ZW5uYTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFudGVubmEyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1taWMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1pYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWljLW9mZiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWljLW9mZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWljMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWljMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWljLW9mZjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1pYy1vZmYyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1taWMzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1taWMzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1taWM0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1taWM0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1taWM1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1taWM1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ib29rIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib29rO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ib29rMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYm9vazI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJvb2stcGxheSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYm9vay1wbGF5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ib29rMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYm9vazM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJvb2ttYXJrIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib29rbWFyaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm9va3Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJvb2tzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcmNoaXZlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcmNoaXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yZWFkaW5nIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yZWFkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1saWJyYXJ5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saWJyYXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1saWJyYXJ5MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGlicmFyeTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdyYWR1YXRpb24ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdyYWR1YXRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtdGV4dCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS10ZXh0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wcm9maWxlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wcm9maWxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLWVtcHR5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLWVtcHR5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLWVtcHR5MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1lbXB0eTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGVzLWVtcHR5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlcy1lbXB0eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZXMtZW1wdHkyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlcy1lbXB0eTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtcGx1cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1wbHVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLXBsdXMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXBsdXMyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLW1pbnVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLW1pbnVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLW1pbnVzMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1taW51czI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtZG93bmxvYWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtZG93bmxvYWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtZG93bmxvYWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLWRvd25sb2FkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS11cGxvYWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtdXBsb2FkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLXVwbG9hZDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtdXBsb2FkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1jaGVjayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1jaGVjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1jaGVjazIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtY2hlY2syO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLWV5ZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1leWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtZXllMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1leWUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLXRleHQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXRleHQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLXRleHQzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXRleHQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLXBpY3R1cmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtcGljdHVyZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1waWN0dXJlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1waWN0dXJlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1tdXNpYyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1tdXNpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1tdXNpYzIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtbXVzaWMyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLXBsYXkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtcGxheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1wbGF5MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1wbGF5MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS12aWRlbyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS12aWRlbztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS12aWRlbzIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtdmlkZW8yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb3B5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb3B5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb3B5MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29weTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtemlwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXppcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS16aXAyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXppcDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUteG1sIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXhtbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS14bWwyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXhtbDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtY3NzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLWNzcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1jc3MyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLWNzczI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtcHJlc2VudGF0aW9uIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXByZXNlbnRhdGlvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1wcmVzZW50YXRpb24yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXByZXNlbnRhdGlvbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtc3RhdHMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtc3RhdHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtc3RhdHMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maWxlLXN0YXRzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1sb2NrZWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtbG9ja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLWxvY2tlZDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtbG9ja2VkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1zcHJlYWRzaGVldCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1zcHJlYWRzaGVldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1zcHJlYWRzaGVldDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtc3ByZWFkc2hlZXQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb3B5MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29weTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvcHk0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb3B5NDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGFzdGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBhc3RlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYXN0ZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBhc3RlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGFzdGUzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wYXN0ZTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhc3RlNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFzdGU0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFjayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWNrMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2syO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFjazMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YWNrMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZm9sZGVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb2xkZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbGRlci1zZWFyY2gge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvbGRlci1zZWFyY2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbGRlci1kb3dubG9hZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLWRvd25sb2FkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItdXBsb2FkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb2xkZXItdXBsb2FkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItcGx1cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLXBsdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbGRlci1wbHVzMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLXBsdXMyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItbWludXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvbGRlci1taW51cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZm9sZGVyLW1pbnVzMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLW1pbnVzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZm9sZGVyLWNoZWNrIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb2xkZXItY2hlY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbGRlci1oZWFydCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLWhlYXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItcmVtb3ZlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb2xkZXItcmVtb3ZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXIyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb2xkZXIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItb3BlbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLW9wZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbGRlcjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvbGRlcjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbGRlcjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvbGRlcjQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbGRlci1wbHVzMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLXBsdXMzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItbWludXMzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb2xkZXItbWludXMzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItcGx1czQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvbGRlci1wbHVzNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZm9sZGVyLW1pbnVzNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLW1pbnVzNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZm9sZGVyLWRvd25sb2FkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLWRvd25sb2FkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZm9sZGVyLXVwbG9hZDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvbGRlci11cGxvYWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItZG93bmxvYWQzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb2xkZXItZG93bmxvYWQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItdXBsb2FkMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLXVwbG9hZDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbGRlcjUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvbGRlcjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbGRlci1vcGVuMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9sZGVyLW9wZW4yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXI2IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb2xkZXI2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb2xkZXItb3BlbjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvbGRlci1vcGVuMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2VydGlmaWNhdGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNlcnRpZmljYXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXByaWNlLXRhZyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcHJpY2UtdGFnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wcmljZS10YWcyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wcmljZS10YWcyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wcmljZS10YWdzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wcmljZS10YWdzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wcmljZS10YWczIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wcmljZS10YWczO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wcmljZS10YWdzMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcHJpY2UtdGFnczI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXByaWNlLXRhZzQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXByaWNlLXRhZzQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXByaWNlLXRhZ3MzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wcmljZS10YWdzMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcHJpY2UtdGFnNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcHJpY2UtdGFnNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcHJpY2UtdGFnczQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXByaWNlLXRhZ3M0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iYXJjb2RlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iYXJjb2RlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iYXJjb2RlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmFyY29kZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXFyY29kZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcXJjb2RlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10aWNrZXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRpY2tldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGlja2V0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGlja2V0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGhlYXRlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGhlYXRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RvcmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0b3JlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdG9yZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0b3JlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FydCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FydDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FydDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhcnQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYXJ0MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FydDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhcnQ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYXJ0NDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FydDUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhcnQ1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYXJ0LWFkZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FydC1hZGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhcnQtYWRkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FydC1hZGQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYXJ0LXJlbW92ZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FydC1yZW1vdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJhc2tldCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmFza2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iYWcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmFnMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmFnMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVyY2VudCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGVyY2VudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29pbnMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvaW5zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb2luLWRvbGxhciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29pbi1kb2xsYXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvaW4tZXVybyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29pbi1ldXJvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb2luLXBvdW5kIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb2luLXBvdW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb2luLXllbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29pbi15ZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBpZ2d5LWJhbmsge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBpZ2d5LWJhbms7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdhbGxldCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24td2FsbGV0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYXNoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYXNoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYXNoMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FzaDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhc2gzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYXNoMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FzaDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhc2g0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jcmVkaXQtY2FyZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY3JlZGl0LWNhcmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNyZWRpdC1jYXJkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY3JlZGl0LWNhcmQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYWxjdWxhdG9yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYWxjdWxhdG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYWxjdWxhdG9yMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FsY3VsYXRvcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhbGN1bGF0b3IzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYWxjdWxhdG9yMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2hpcCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hpcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGlmZWJ1b3kge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxpZmVidW95O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1waG9uZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGhvbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBob25lMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGhvbmUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1waG9uZS1zbGFzaCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGhvbmUtc2xhc2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBob25lLXdhdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBob25lLXdhdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBob25lLXBsdXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBob25lLXBsdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBob25lLW1pbnVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1waG9uZS1taW51cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGhvbmUtcGx1czIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBob25lLXBsdXMyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1waG9uZS1taW51czIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBob25lLW1pbnVzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGhvbmUtaW5jb21pbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBob25lLWluY29taW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1waG9uZS1vdXRnb2luZyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGhvbmUtb3V0Z29pbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBob25lMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGhvbmUzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1waG9uZS1zbGFzaDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBob25lLXNsYXNoMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGhvbmUtd2F2ZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBob25lLXdhdmUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1waG9uZS1oYW5nLXVwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1waG9uZS1oYW5nLXVwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1waG9uZS1oYW5nLXVwMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGhvbmUtaGFuZy11cDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFkZHJlc3MtYm9vayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWRkcmVzcy1ib29rO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hZGRyZXNzLWJvb2syIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hZGRyZXNzLWJvb2syO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hZGRyZXNzLWJvb2szIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hZGRyZXNzLWJvb2szO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ub3RlYm9vayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbm90ZWJvb2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWF0LXNpZ24ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWF0LXNpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVudmVsb3Age1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWVudmVsb3A7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVudmVsb3AyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lbnZlbG9wMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZW52ZWxvcDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWVudmVsb3AzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lbnZlbG9wNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW52ZWxvcDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVudmVsb3A1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lbnZlbG9wNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFpbGJveCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFpbGJveDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcHVzaHBpbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcHVzaHBpbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcHVzaHBpbjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXB1c2hwaW4yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sb2NhdGlvbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbG9jYXRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxvY2F0aW9uMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbG9jYXRpb24yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sb2NhdGlvbjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxvY2F0aW9uMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbG9jYXRpb240IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sb2NhdGlvbjQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxvY2F0aW9uNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbG9jYXRpb241O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sb2NhdGlvbjYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxvY2F0aW9uNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbG9jYXRpb243IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sb2NhdGlvbjc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvbXBhc3Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvbXBhc3M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvbXBhc3MyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb21wYXNzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29tcGFzczMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvbXBhc3MzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb21wYXNzNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29tcGFzczQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvbXBhc3M1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb21wYXNzNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29tcGFzczYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvbXBhc3M2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tYXAge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1hcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFwMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFwMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFwMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFwMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFwNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFwNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFwNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFwNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGlyZWN0aW9uIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kaXJlY3Rpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXJlc2V0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yZXNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taGlzdG9yeSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taGlzdG9yeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xvY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jbG9jazIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNsb2NrMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xvY2szIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jbG9jazM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNsb2NrNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2xvY2s0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13YXRjaCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24td2F0Y2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdhdGNoMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24td2F0Y2gyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hbGFybSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWxhcm07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFsYXJtLWFkZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWxhcm0tYWRkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hbGFybS1jaGVjayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWxhcm0tY2hlY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFsYXJtLWNhbmNlbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWxhcm0tY2FuY2VsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iZWxsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iZWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iZWxsMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmVsbDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJlbGwzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iZWxsMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmVsbC1wbHVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iZWxsLXBsdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJlbGwtbWludXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJlbGwtbWludXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJlbGwtY2hlY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJlbGwtY2hlY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJlbGwtY3Jvc3Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJlbGwtY3Jvc3M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0b3B3YXRjaCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RvcHdhdGNoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYWxlbmRhciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FsZW5kYXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhbGVuZGFyMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FsZW5kYXIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYWxlbmRhcjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhbGVuZGFyMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FsZW5kYXI0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYWxlbmRhcjQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhbGVuZGFyNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FsZW5kYXI1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYWxlbmRhci1lbXB0eSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FsZW5kYXItZW1wdHk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhbGVuZGFyLWRheSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FsZW5kYXItZGF5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYWxlbmRhci13ZWVrIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYWxlbmRhci13ZWVrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wcmludGVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wcmludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wcmludGVyMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcHJpbnRlcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXByaW50ZXIzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wcmludGVyMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcHJpbnRlcjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXByaW50ZXI0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaHJlZGRlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hyZWRkZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1vdXNlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tb3VzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbW91c2UyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tb3VzZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1vdXNlLWxlZnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1vdXNlLWxlZnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1vdXNlLXJpZ2h0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tb3VzZS1yaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24ta2V5Ym9hcmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWtleWJvYXJkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1rZXlib2FyZDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWtleWJvYXJkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHlwZXdyaXRlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHlwZXdyaXRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGlzcGxheSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGlzcGxheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGlzcGxheTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRpc3BsYXkyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kaXNwbGF5MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGlzcGxheTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRpc3BsYXk0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kaXNwbGF5NDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGFwdG9wIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sYXB0b3A7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1vYmlsZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbW9iaWxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tb2JpbGUyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tb2JpbGUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10YWJsZXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRhYmxldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbW9iaWxlMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbW9iaWxlMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXR2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yYWRpbyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcmFkaW87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhYmluZXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhYmluZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRyYXdlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZHJhd2VyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kcmF3ZXIyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kcmF3ZXIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kcmF3ZXItb3V0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kcmF3ZXItb3V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kcmF3ZXItaW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRyYXdlci1pbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZHJhd2VyMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZHJhd2VyMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm94IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJveC1hZGQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJveC1hZGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJveC1yZW1vdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJveC1yZW1vdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRvd25sb2FkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kb3dubG9hZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXBsb2FkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11cGxvYWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsb3BweS1kaXNrIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbG9wcHktZGlzaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmxvcHB5LWRpc2tzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbG9wcHktZGlza3M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsb3BweS1kaXNrczIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZsb3BweS1kaXNrczI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsb3BweS1kaXNrMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmxvcHB5LWRpc2syO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mbG9wcHktZGlzazMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZsb3BweS1kaXNrMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGlzayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGlzaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGlzazIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRpc2syO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2Itc3RpY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzYi1zdGljaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZHJpdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRyaXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZXJ2ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNlcnZlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGF0YWJhc2Uge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRhdGFiYXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kYXRhYmFzZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRhdGFiYXNlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGF0YWJhc2UzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kYXRhYmFzZTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRhdGFiYXNlNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGF0YWJhc2U0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kYXRhYmFzZS1tZW51IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kYXRhYmFzZS1tZW51O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kYXRhYmFzZS1hZGQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRhdGFiYXNlLWFkZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGF0YWJhc2UtcmVtb3ZlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kYXRhYmFzZS1yZW1vdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRhdGFiYXNlLWluc2VydCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGF0YWJhc2UtaW5zZXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kYXRhYmFzZS1leHBvcnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRhdGFiYXNlLWV4cG9ydDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGF0YWJhc2UtdXBsb2FkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kYXRhYmFzZS11cGxvYWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRhdGFiYXNlLXJlZnJlc2gge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRhdGFiYXNlLXJlZnJlc2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRhdGFiYXNlLWRpZmYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRhdGFiYXNlLWRpZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRhdGFiYXNlLWVkaXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRhdGFiYXNlLWVkaXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRhdGFiYXNlLWVkaXQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kYXRhYmFzZS1lZGl0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGF0YWJhc2UtY2hlY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRhdGFiYXNlLWNoZWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kYXRhYmFzZS1hcnJvdyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGF0YWJhc2UtYXJyb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRhdGFiYXNlLXRpbWUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRhdGFiYXNlLXRpbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRhdGFiYXNlLXRpbWUyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kYXRhYmFzZS10aW1lMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdW5kbyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdW5kbztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcmVkbyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcmVkbztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcm90YXRlLWNjdyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcm90YXRlLWNjdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcm90YXRlLWN3IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yb3RhdGUtY3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXJvdGF0ZS1jY3cyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yb3RhdGUtY2N3MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcm90YXRlLWN3MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcm90YXRlLWN3MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcm90YXRlLWNjdzMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXJvdGF0ZS1jY3czO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yb3RhdGUtY3czIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yb3RhdGUtY3czO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mbGlwLXZlcnRpY2FsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbGlwLXZlcnRpY2FsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mbGlwLXZlcnRpY2FsMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmxpcC12ZXJ0aWNhbDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsaXAtaG9yaXpvbnRhbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmxpcC1ob3Jpem9udGFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mbGlwLWhvcml6b250YWwyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbGlwLWhvcml6b250YWwyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mbGlwLXZlcnRpY2FsMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmxpcC12ZXJ0aWNhbDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsaXAtdmVydGljYWw0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbGlwLXZlcnRpY2FsNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYW5nbGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFuZ2xlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaGVhciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hlYXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVuaXRlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11bml0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3VidHJhY3Qge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN1YnRyYWN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbnRlcnNldCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taW50ZXJzZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWV4Y2x1ZGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWV4Y2x1ZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFsaWduLWxlZnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFsaWduLWxlZnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFsaWduLWNlbnRlci1ob3Jpem9udGFsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hbGlnbi1jZW50ZXItaG9yaXpvbnRhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYWxpZ24tcmlnaHQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFsaWduLXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hbGlnbi10b3Age1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFsaWduLXRvcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYWxpZ24tY2VudGVyLXZlcnRpY2FsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hbGlnbi1jZW50ZXItdmVydGljYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFsaWduLWJvdHRvbSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWxpZ24tYm90dG9tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11bmRvMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdW5kbzI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXJlZG8yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yZWRvMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZm9yd2FyZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9yd2FyZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcmVwbHkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXJlcGx5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yZXBseS1hbGwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXJlcGx5LWFsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZXMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGVzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlczMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZXMzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGVzNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlczQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1ub3RpZmljYXRpb24ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZS1ub3RpZmljYXRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZXM1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGVzNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlczYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZXM2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGUzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtZG90cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWRvdHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1saW5lcyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWxpbmVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGU0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGU0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtZG90czIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZS1kb3RzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlLWxpbmVzMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWxpbmVzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlczcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZXM3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGU3IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGU3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGVzOCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlczg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZTgge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZTg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1kb3RzMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWRvdHMzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtbGluZXMzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGUtbGluZXMzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGU5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGU5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtZG90czQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZS1kb3RzNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlLWxpbmVzNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWxpbmVzNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlczkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZXM5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGVzMTAge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZXMxMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlLWJsb2NrZWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZS1ibG9ja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtcXVvdGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZS1xdW90ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlLXVzZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZS11c2VyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtc21pbGV5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGUtc21pbGV5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtY2hlY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZS1jaGVjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlLXZpZGVvIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGUtdmlkZW87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1saW5rIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGUtbGluaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlLWxvY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZS1sb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtc3RhciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLXN0YXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1oZWFydCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWhlYXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtcGFwZXJjbGlwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGUtcGFwZXJjbGlwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtY2FuY2VsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGUtY2FuY2VsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtcGx1cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLXBsdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1taW51cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLW1pbnVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtbm90aWZpY2F0aW9uMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLW5vdGlmaWNhdGlvbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1sZWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGUtbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnViYmxlLXJpZ2h0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWJibGUtcmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1maXJzdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWZpcnN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtbGFzdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWxhc3Q7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1yZXBseSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLXJlcGx5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWJibGUtZm9yd2FyZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWZvcndhcmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1yZXBseTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1YmJsZS1yZXBseTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1YmJsZS1mb3J3YXJkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnViYmxlLWZvcndhcmQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11c2VyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VycyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdXNlcnM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVzZXItcGx1cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdXNlci1wbHVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyLW1pbnVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11c2VyLW1pbnVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyLWNhbmNlbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdXNlci1jYW5jZWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVzZXItYmxvY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXItYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVzZXItbG9jayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdXNlci1sb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyLWNoZWNrIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11c2VyLWNoZWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyczIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXJzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXNlcjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyczMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXJzMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXNlci1wbHVzMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdXNlci1wbHVzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXNlci1taW51czIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXItbWludXMyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyLWNhbmNlbDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXItY2FuY2VsMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXNlci1ibG9jazIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXItYmxvY2syO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyLWxvY2syIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11c2VyLWxvY2syO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyLWNoZWNrMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdXNlci1jaGVjazI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVzZXIzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11c2VyMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXNlcjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXI0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdXNlcjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVzZXI2IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11c2VyNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXNlcnM0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11c2VyczQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVzZXItdGllIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11c2VyLXRpZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXNlcjcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXI3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11c2VyczUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVzZXJzNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29sbGFib3JhdGlvbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29sbGFib3JhdGlvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdmNhcmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZjYXJkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oYXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhhdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm93dGllIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib3d0aWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRpZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGllO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oYW5nZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhhbmdlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHNoaXJ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10c2hpcnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhbnRzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wYW50cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2hvcnRzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zaG9ydHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNvY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxhdW5kcnkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxhdW5kcnk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXF1b3Rlcy1sZWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1xdW90ZXMtbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcXVvdGVzLXJpZ2h0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1xdW90ZXMtcmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXF1b3Rlcy1sZWZ0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcXVvdGVzLWxlZnQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1xdW90ZXMtcmlnaHQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1xdW90ZXMtcmlnaHQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ob3VyLWdsYXNzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ob3VyLWdsYXNzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ob3VyLWdsYXNzMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taG91ci1nbGFzczI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhvdXItZ2xhc3MzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ob3VyLWdsYXNzMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3Bpbm5lciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3Bpbm5lcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3Bpbm5lcjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwaW5uZXIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcGlubmVyMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3Bpbm5lcjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNwaW5uZXI0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zcGlubmVyNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3Bpbm5lcjUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwaW5uZXI1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcGlubmVyNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3Bpbm5lcjY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNwaW5uZXI3IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zcGlubmVyNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3Bpbm5lcjgge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwaW5uZXI4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcGlubmVyOSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3Bpbm5lcjk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNwaW5uZXIxMCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3Bpbm5lcjEwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcGlubmVyMTEge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwaW5uZXIxMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWljcm9zY29wZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWljcm9zY29wZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmlub2N1bGFycyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmlub2N1bGFycztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmlub2N1bGFyczIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJpbm9jdWxhcnMyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZWFyY2gge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNlYXJjaDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tem9vbS1pbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tem9vbS1pbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tem9vbS1vdXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXpvb20tb3V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZWFyY2gyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZWFyY2gyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi16b29tLWluMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tem9vbS1pbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXpvb20tb3V0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tem9vbS1vdXQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZWFyY2gzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZWFyY2gzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZWFyY2g0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZWFyY2g0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi16b29tLWluMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tem9vbS1pbjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXpvb20tb3V0MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tem9vbS1vdXQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZWFyY2g1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZWFyY2g1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZWFyY2g2IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZWFyY2g2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lbmxhcmdlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lbmxhcmdlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaHJpbmsge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNocmluaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZW5sYXJnZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWVubGFyZ2UyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaHJpbmsyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zaHJpbmsyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lbmxhcmdlMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW5sYXJnZTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNocmluazMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNocmluazM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVubGFyZ2U0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lbmxhcmdlNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2hyaW5rNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hyaW5rNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZW5sYXJnZTUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWVubGFyZ2U1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaHJpbms1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zaHJpbms1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lbmxhcmdlNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW5sYXJnZTY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNocmluazYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNocmluazY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVubGFyZ2U3IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lbmxhcmdlNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2hyaW5rNyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hyaW5rNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24ta2V5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1rZXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWtleTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWtleTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWtleTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWtleTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWtleTQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWtleTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWtleTUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWtleTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWtleWhvbGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWtleWhvbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxvY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxvY2syIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sb2NrMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbG9jazMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxvY2szO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sb2NrNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbG9jazQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVubG9ja2VkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11bmxvY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbG9jazUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxvY2s1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11bmxvY2tlZDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVubG9ja2VkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2FmZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2FmZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td3JlbmNoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13cmVuY2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdyZW5jaDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdyZW5jaDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdyZW5jaDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdyZW5jaDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVxdWFsaXplciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXF1YWxpemVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lcXVhbGl6ZXIyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lcXVhbGl6ZXIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lcXVhbGl6ZXIzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lcXVhbGl6ZXIzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lcXVhbGl6ZXI0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lcXVhbGl6ZXI0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb2cge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29ncyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29ncztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29nMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29nMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29nMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29nMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29nNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29nNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29nNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29nNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29nNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29nNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29nNyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29nNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmFjdG9yeSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmFjdG9yeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taGFtbWVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1oYW1tZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhhbW1lci13cmVuY2gge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhhbW1lci13cmVuY2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWtuaWZlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1rbmlmZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2NyZXdkcml2ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNjcmV3ZHJpdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zY3Jld2RyaXZlcjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNjcmV3ZHJpdmVyMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFnaWMtd2FuZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFnaWMtd2FuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFnaWMtd2FuZDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1hZ2ljLXdhbmQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wdWxzZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcHVsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXB1bHNlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcHVsc2UyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1haWQta2l0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1haWQta2l0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1haWQta2l0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWlkLWtpdDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0ZXRob3Njb3BlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGV0aG9zY29wZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYW1idWxhbmNlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hbWJ1bGFuY2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFsYXJtMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWxhcm0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYW5kYWdlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wYW5kYWdlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYW5kYWdlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFuZGFnZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJ1ZyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnVnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idWcyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1idWcyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zeXJpbmdlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zeXJpbmdlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zeXJpbmdlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3lyaW5nZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBpbGwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBpbGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvbnN0cnVjdGlvbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29uc3RydWN0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10cmFmZmljLWNvbmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRyYWZmaWMtY29uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHJhZmZpYy1saWdodHMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRyYWZmaWMtbGlnaHRzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1waWUtY2hhcnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBpZS1jaGFydDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGllLWNoYXJ0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGllLWNoYXJ0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGllLWNoYXJ0MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGllLWNoYXJ0MztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGllLWNoYXJ0NCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGllLWNoYXJ0NDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGllLWNoYXJ0NSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGllLWNoYXJ0NTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGllLWNoYXJ0NiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGllLWNoYXJ0NjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGllLWNoYXJ0NyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGllLWNoYXJ0NztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhdHMtZG90cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhdHMtZG90cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhdHMtYmFycyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhdHMtYmFycztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGllLWNoYXJ0OCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGllLWNoYXJ0ODtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhdHMtYmFyczIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YXRzLWJhcnMyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGF0cy1iYXJzMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhdHMtYmFyczM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YXRzLWJhcnM0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGF0cy1iYXJzNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhdHMtYmFyczUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YXRzLWJhcnM1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGF0cy1iYXJzNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhdHMtYmFyczY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoYXJ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGFydDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhdHMtZ3Jvd3RoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGF0cy1ncm93dGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YXRzLWRlY2xpbmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YXRzLWRlY2xpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YXRzLWdyb3d0aDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YXRzLWdyb3d0aDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YXRzLWRlY2xpbmUyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGF0cy1kZWNsaW5lMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhaXJzLXVwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFpcnMtdXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWlycy1kb3duIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFpcnMtZG93bjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhaXJzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFpcnM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWlyczIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YWlyczI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxhZGRlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGFkZGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yYXRpbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXJhdGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcmF0aW5nMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcmF0aW5nMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcmF0aW5nMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcmF0aW5nMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FrZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FrZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcG9kaXVtIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wb2RpdW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YXJzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFycztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWVkYWwtc3RhciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWVkYWwtc3RhcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWVkYWwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1lZGFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZWRhbDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1lZGFsMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWVkYWwtZmlyc3Qge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1lZGFsLWZpcnN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZWRhbC1zZWNvbmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1lZGFsLXNlY29uZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWVkYWwtdGhpcmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1lZGFsLXRoaXJkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jcm93biB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY3Jvd247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRyb3BoeSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHJvcGh5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10cm9waHkyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10cm9waHkyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10cm9waHkzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10cm9waHkzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kaWFtb25kIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kaWFtb25kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kaWFtb25kMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGlhbW9uZDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRyb3BoeTQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRyb3BoeTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdpZnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdpZnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdpZnQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1naWZ0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmFsbG9vbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmFsbG9vbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGlwZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGlwZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbXVzdGFjaGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW11c3RhY2hlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tdXN0YWNoZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW11c3RhY2hlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ2xhc3Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdsYXNzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1nbGFzczIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdsYXNzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ2xhc3MzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1nbGFzczM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdsYXNzNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ2xhc3M0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ib3R0bGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJvdHRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm90dGxlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYm90dGxlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm90dGxlMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYm90dGxlMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm90dGxlNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYm90dGxlNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbXVnIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tdWc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvcmsta25pZmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvcmsta25pZmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNwb29uLWtuaWZlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zcG9vbi1rbmlmZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29vayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29vaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGxhdGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBsYXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGVhayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpc2gge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpc2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoaWNrZW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoaWNrZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhhbWJ1cmdlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taGFtYnVyZ2VyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1waXp6YSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGl6emE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZWVzZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hlZXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1icmVhZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnJlYWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWljZWNyZWFtIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1pY2VjcmVhbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWlsayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWlsaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY3VwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jdXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWN1cDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWN1cDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvZmZlZS1iZWFuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb2ZmZWUtYmVhbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29mZmVlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb2ZmZWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRlYXBvdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGVhcG90O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sZWFmIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sZWFmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sZWFmMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGVhZjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFwcGxlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcHBsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ3JhcGVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ncmFwZXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZXJyeSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hlcnJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10cmVlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10cmVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10cmVlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHJlZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRyZWUzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10cmVlMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHJlZTQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRyZWU0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYWN0dXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhY3R1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbW91bnRhaW5zIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tb3VudGFpbnM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhdyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGF3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb290cHJpbnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvb3RwcmludDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGVudCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmxvd2VyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbG93ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsb3dlcjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZsb3dlcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXJvY2tldCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcm9ja2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZXRlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWV0ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1ldGVyMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWV0ZXIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZXRlci1zbG93IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tZXRlci1zbG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZXRlci1tZWRpdW0ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1ldGVyLW1lZGl1bTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWV0ZXItZmFzdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWV0ZXItZmFzdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWV0ZXIzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tZXRlcjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhhbW1lcjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhhbW1lcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJhbGFuY2Uge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhbGFuY2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNjYWxlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zY2FsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm9tYiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYm9tYjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlyZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlyZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlyZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpcmUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYWIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxhYjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXRvbSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXRvbTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWF0b20yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tYWduZXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1hZ25ldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFnbmV0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFnbmV0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZHVtYmJlbGwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWR1bWJiZWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1za3VsbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2t1bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNrdWxsMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2t1bGwyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYW1wIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sYW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYW1wMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGFtcDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxhbXAzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sYW1wMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3BvdGxpZ2h0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zcG90bGlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxhbXA0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sYW1wNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGFtcDUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxhbXA1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYW1wNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGFtcDY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxhbXA3IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sYW1wNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGFtcDgge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxhbXA4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1icm9vbSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnJvb207XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRvaWxldHBhcGVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10b2lsZXRwYXBlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmluIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iaW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJpbjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJpbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJpbjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJpbjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJpbjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJpbjQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJpbjUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJpbjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJyaWVmY2FzZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnJpZWZjYXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1icmllZmNhc2UyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1icmllZmNhc2UyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1icmllZmNhc2UzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1icmllZmNhc2UzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1haXJwbGFuZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWlycGxhbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFpcnBsYW5lMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYWlycGxhbmUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1haXJwbGFuZTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFpcnBsYW5lMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYWlycGxhbmU0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1haXJwbGFuZTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhcGVycGxhbmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBhcGVycGxhbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGVlcmluZy13aGVlbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RlZXJpbmctd2hlZWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhcjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdhcyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ2FzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1idXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJ1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHJ1Y2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRydWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iaWtlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iaWtlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yb2FkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yb2FkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10cmFpbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHJhaW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRyYWluMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHJhaW4yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaGlwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zaGlwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ib2F0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib2F0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaG9wcGVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaG9wcGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaG9wcGVyMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hvcHBlcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWN1YmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWN1YmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWN1YmUyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jdWJlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY3ViZTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWN1YmUzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jdWJlNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY3ViZTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXB5cmFtaWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXB5cmFtaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXB5cmFtaWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1weXJhbWlkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGFja2FnZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFja2FnZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcHV6emxlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wdXp6bGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXB1enpsZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXB1enpsZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXB1enpsZTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXB1enpsZTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXB1enpsZTQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXB1enpsZTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdsYXNzZXMtM2Qge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdsYXNzZXMtM2Q7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdsYXNzZXMtM2QyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1nbGFzc2VzLTNkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ2xhc3NlcyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ2xhc3NlcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ2xhc3NlczIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdsYXNzZXMyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1icmFpbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnJhaW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFjY2Vzc2liaWxpdHkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFjY2Vzc2liaWxpdHk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFjY2Vzc2liaWxpdHkyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hY2Nlc3NpYmlsaXR5MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RyYXRlZ3kge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0cmF0ZWd5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10YXJnZXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRhcmdldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGFyZ2V0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGFyZ2V0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGFyZ2V0MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGFyZ2V0MztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYW1tbyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYW1tbztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ3VuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ndW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWd1bi1mb3JiaWRkZW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWd1bi1mb3JiaWRkZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNoaWVsZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hpZWxkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaGllbGQtY2hlY2sge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNoaWVsZC1jaGVjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2hpZWxkLW5vdGljZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hpZWxkLW5vdGljZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2hpZWxkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hpZWxkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2hpZWxkMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hpZWxkMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2hpZWxkNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hpZWxkNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc29jY2VyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zb2NjZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvb3RiYWxsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb290YmFsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJjaGVyeSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJjaGVyeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm93IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN3b3JkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zd29yZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGVubmlzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10ZW5uaXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBpbmdwb25nIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1waW5ncG9uZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmFzZWJhbGwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhc2ViYWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iYXNrZXRiYWxsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iYXNrZXRiYWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1nb2xmIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1nb2xmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1nb2xmMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ29sZjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhvY2tleSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taG9ja2V5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yYWNpbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXJhY2luZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmluaXNoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1maW5pc2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVpZ2h0LWJhbGwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWVpZ2h0LWJhbGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJvd2xpbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJvd2xpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJvd2xpbmcyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib3dsaW5nMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcG93ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBvd2VyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wb3dlcjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBvd2VyMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcG93ZXIzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wb3dlcjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN3aXRjaCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3dpdGNoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zd2l0Y2gyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zd2l0Y2gyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wb3dlci1jb3JkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wb3dlci1jb3JkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wb3dlci1jb3JkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcG93ZXItY29yZDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW91dGxldCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tb3V0bGV0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jbGlwYm9hcmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNsaXBib2FyZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xpcGJvYXJkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2xpcGJvYXJkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xpcGJvYXJkMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2xpcGJvYXJkMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xpcGJvYXJkNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2xpcGJvYXJkNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xpcGJvYXJkNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2xpcGJvYXJkNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xpcGJvYXJkNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2xpcGJvYXJkNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGxheWxpc3Qge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBsYXlsaXN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wbGF5bGlzdC1hZGQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBsYXlsaXN0LWFkZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGlzdC1udW1iZXJlZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGlzdC1udW1iZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGlzdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGlzdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGlzdDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxpc3QyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tb3JlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tb3JlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tb3JlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbW9yZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdyaWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdyaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdyaWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ncmlkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ3JpZDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdyaWQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ncmlkNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ3JpZDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdyaWQ1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ncmlkNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ3JpZDYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdyaWQ2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ncmlkNyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ3JpZDc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRyZWU1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10cmVlNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHJlZTYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRyZWU2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10cmVlNyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHJlZTc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxhbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGFuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYW4yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sYW4yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYW4zIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sYW4zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZW51IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tZW51O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtc21hbGwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1zbWFsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWVudTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1lbnUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZW51MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWVudTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1lbnU0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tZW51NDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWVudTUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1lbnU1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZW51NiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWVudTY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1lbnU3IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tZW51NztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWVudTgge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1lbnU4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZW51OSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWVudTk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1lbnUxMCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWVudTEwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jbG91ZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2xvdWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNsb3VkLWRvd25sb2FkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jbG91ZC1kb3dubG9hZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xvdWQtdXBsb2FkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jbG91ZC11cGxvYWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNsb3VkLWNoZWNrIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jbG91ZC1jaGVjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2xvdWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jbG91ZDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNsb3VkLWRvd25sb2FkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2xvdWQtZG93bmxvYWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jbG91ZC11cGxvYWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jbG91ZC11cGxvYWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jbG91ZC1jaGVjazIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNsb3VkLWNoZWNrMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZG93bmxvYWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kb3dubG9hZDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRvd25sb2FkMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZG93bmxvYWQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11cGxvYWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11cGxvYWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11cGxvYWQzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11cGxvYWQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbXBvcnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWltcG9ydDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taW1wb3J0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taW1wb3J0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZG93bmxvYWQ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kb3dubG9hZDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVwbG9hZDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVwbG9hZDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRvd25sb2FkNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZG93bmxvYWQ1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11cGxvYWQ1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11cGxvYWQ1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kb3dubG9hZDYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRvd25sb2FkNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXBsb2FkNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdXBsb2FkNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZG93bmxvYWQ3IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kb3dubG9hZDc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVwbG9hZDcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVwbG9hZDc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRvd25sb2FkOCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZG93bmxvYWQ4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11cGxvYWQ4IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11cGxvYWQ4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kb3dubG9hZDkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRvd25sb2FkOTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXBsb2FkOSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdXBsb2FkOTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZG93bmxvYWQxMCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZG93bmxvYWQxMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdXBsb2FkMTAge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVwbG9hZDEwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcGhlcmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwaGVyZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3BoZXJlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3BoZXJlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3BoZXJlMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3BoZXJlMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGxhbmV0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbGFuZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBsYW5ldDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBsYW5ldDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVhcnRoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lYXJ0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZWFydGgyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lYXJ0aDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVhcnRoMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZWFydGgzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1saW5rIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saW5rO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11bmxpbmsge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVubGluaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGluazIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxpbmsyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11bmxpbmsyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11bmxpbmsyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1saW5rMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGluazM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXVubGluazMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVubGluazM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxpbms0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saW5rNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdW5saW5rNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdW5saW5rNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGluazUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxpbms1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11bmxpbms1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11bmxpbms1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hbmNob3Ige1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFuY2hvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmxhZyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmxhZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmxhZzIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZsYWcyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mbGFnMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmxhZzM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsYWc0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbGFnNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmxhZzUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZsYWc1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mbGFnNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmxhZzY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsYWc3IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbGFnNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmxhZzgge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZsYWc4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hdHRhY2htZW50IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hdHRhY2htZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hdHRhY2htZW50MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXR0YWNobWVudDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWV5ZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXllO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1leWUtcGx1cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXllLXBsdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWV5ZS1taW51cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXllLW1pbnVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1leWUtYmxvY2tlZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXllLWJsb2NrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWV5ZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWV5ZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWV5ZS1ibG9ja2VkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXllLWJsb2NrZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1leWUzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1leWUzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1leWUtYmxvY2tlZDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWV5ZS1ibG9ja2VkMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZXllNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXllNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm9va21hcmsyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib29rbWFyazI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJvb2ttYXJrMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYm9va21hcmszO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ib29rbWFya3Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJvb2ttYXJrcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm9va21hcms0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib29rbWFyazQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNwb3RsaWdodDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwb3RsaWdodDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YXJidXJzdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhcmJ1cnN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zbm93Zmxha2Uge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNub3dmbGFrZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGVtcGVyYXR1cmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRlbXBlcmF0dXJlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10ZW1wZXJhdHVyZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRlbXBlcmF0dXJlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td2VhdGhlci1saWdodG5pbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItbGlnaHRuaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13ZWF0aGVyLWxpZ2h0bmluZzIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItbGlnaHRuaW5nMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td2VhdGhlci1yYWluIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13ZWF0aGVyLXJhaW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdlYXRoZXItcmFpbjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItcmFpbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdlYXRoZXItc25vdyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24td2VhdGhlci1zbm93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13ZWF0aGVyLXNub3cyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13ZWF0aGVyLXNub3cyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13ZWF0aGVyLWNsb3VkLXdpbmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItY2xvdWQtd2luZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td2VhdGhlci1jbG91ZC13aW5kMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24td2VhdGhlci1jbG91ZC13aW5kMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td2VhdGhlci1jbG91ZC1zdW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItY2xvdWQtc3VuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13ZWF0aGVyLWNsb3VkLXN1bjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItY2xvdWQtc3VuMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td2VhdGhlci1jbG91ZHkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItY2xvdWR5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13ZWF0aGVyLWNsb3VkeTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItY2xvdWR5MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td2VhdGhlci1zdW4td2luZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24td2VhdGhlci1zdW4td2luZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td2VhdGhlci1zdW4td2luZDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItc3VuLXdpbmQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN1bjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3VuMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3VuMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbW9vbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbW9vbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGF5LW5pZ2h0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kYXktbmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRheS1uaWdodDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRheS1uaWdodDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdlYXRoZXItd2luZHkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdlYXRoZXItd2luZHk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZhbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmFuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11bWJyZWxsYSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdW1icmVsbGE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN1bjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN1bjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvbnRyYXN0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb250cmFzdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnJpZ2h0bmVzcy1jb250cmFzdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYnJpZ2h0bmVzcy1jb250cmFzdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnJpZ2h0bmVzcy1oaWdoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1icmlnaHRuZXNzLWhpZ2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJyaWdodG5lc3MtbWVkaXVtIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1icmlnaHRuZXNzLW1lZGl1bTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYnJpZ2h0bmVzcy1sb3cge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJyaWdodG5lc3MtbG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iZWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmVkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmVkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZnVybml0dXJlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mdXJuaXR1cmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoYWlyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGFpcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3Rhci1lbXB0eSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3Rhci1lbXB0eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3Rhci1lbXB0eTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YXItZW1wdHkyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFyLWZ1bGwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YXItZnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3Rhci1lbXB0eTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YXItZW1wdHkzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFyLWhhbGYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YXItaGFsZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3Rhci1mdWxsMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3Rhci1mdWxsMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taGVhcnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhlYXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oZWFydDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhlYXJ0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taGVhcnQzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1oZWFydDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhlYXJ0NCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taGVhcnQ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oZWFydC1icm9rZW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhlYXJ0LWJyb2tlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taGVhcnQ1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1oZWFydDU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhlYXJ0NiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taGVhcnQ2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oZWFydC1icm9rZW4yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1oZWFydC1icm9rZW4yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oZWFydDcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhlYXJ0NztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taGVhcnQ4IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1oZWFydDg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhlYXJ0LWJyb2tlbjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhlYXJ0LWJyb2tlbjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxpcHMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxpcHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxpcHMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saXBzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGh1bWJzLXVwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10aHVtYnMtdXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRodW1icy11cDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRodW1icy11cDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRodW1icy1kb3duIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10aHVtYnMtZG93bjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGh1bWJzLWRvd24yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10aHVtYnMtZG93bjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRodW1icy11cDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRodW1icy11cDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRodW1icy1kb3duMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGh1bWJzLWRvd24zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oZWlnaHQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhlaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tYW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdvbWFuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13b21hbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFuLXdvbWFuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tYW4td29tYW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1hbGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1hbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZlbWFsZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmVtYWxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wZWFjZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGVhY2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXlpbi15YW5nIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi15aW4teWFuZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taGFwcHkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhhcHB5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oYXBweTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhhcHB5MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc21pbGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNtaWxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zbWlsZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNtaWxlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdG9uZ3VlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10b25ndWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRvbmd1ZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRvbmd1ZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNhZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2FkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zYWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zYWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13aW5rIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13aW5rO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13aW5rMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24td2luazI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdyaW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdyaW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdyaW4yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ncmluMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29vbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29vbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY29vbDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvb2wyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hbmdyeSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYW5ncnk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFuZ3J5MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYW5ncnkyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ldmlsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ldmlsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ldmlsMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXZpbDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNob2NrZWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNob2NrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNob2NrZWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zaG9ja2VkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmFmZmxlZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmFmZmxlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmFmZmxlZDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhZmZsZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb25mdXNlZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29uZnVzZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvbmZ1c2VkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY29uZnVzZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1uZXV0cmFsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1uZXV0cmFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1uZXV0cmFsMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbmV1dHJhbDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhpcHN0ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhpcHN0ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhpcHN0ZXIyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1oaXBzdGVyMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td29uZGVyaW5nIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13b25kZXJpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdvbmRlcmluZzIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdvbmRlcmluZzI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNsZWVweSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2xlZXB5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zbGVlcHkyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zbGVlcHkyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mcnVzdHJhdGVkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mcnVzdHJhdGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mcnVzdHJhdGVkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZnJ1c3RyYXRlZDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNyeWluZyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY3J5aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jcnlpbmcyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jcnlpbmcyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jdXJzb3Ige1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWN1cnNvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY3Vyc29yMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY3Vyc29yMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGFzc28ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxhc3NvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYXNzbzIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxhc3NvMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2VsZWN0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZWxlY3Q7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNlbGVjdDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNlbGVjdDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBvaW50LXVwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wb2ludC11cDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcG9pbnQtcmlnaHQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBvaW50LXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wb2ludC1kb3duIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wb2ludC1kb3duO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wb2ludC1sZWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wb2ludC1sZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wb2ludGVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wb2ludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yZW1pbmRlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcmVtaW5kZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRyYWctbGVmdC1yaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZHJhZy1sZWZ0LXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kcmFnLWxlZnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRyYWctbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZHJhZy1yaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZHJhZy1yaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdG91Y2gge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRvdWNoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tdWx0aXRvdWNoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tdWx0aXRvdWNoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10b3VjaC16b29tIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10b3VjaC16b29tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10b3VjaC1waW5jaCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdG91Y2gtcGluY2g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhhbmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdyYWIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdyYWI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWNrLWVtcHR5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFjay1lbXB0eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhY2stcGx1cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2stcGx1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhY2stbWludXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YWNrLW1pbnVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFjay1zdGFyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFjay1zdGFyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFjay1waWN0dXJlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFjay1waWN0dXJlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFjay1kb3duIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFjay1kb3duO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFjay11cCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2stdXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWNrLWNhbmNlbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2stY2FuY2VsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFjay1jaGVjayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2stY2hlY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWNrLXRleHQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YWNrLXRleHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWNrLWNsdWJzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFjay1jbHVicztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhY2stc3BhZGVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGFjay1zcGFkZXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWNrLWhlYXJ0cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2staGVhcnRzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFjay1kaWFtb25kcyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2stZGlhbW9uZHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWNrLXVzZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YWNrLXVzZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWNrNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2s0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdGFjay1tdXNpYyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2stbXVzaWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0YWNrLXBsYXkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YWNrLXBsYXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1vdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1vdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRvdHMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRvdHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdhcm5pbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdhcm5pbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdhcm5pbmcyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13YXJuaW5nMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbm90aWZpY2F0aW9uIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ub3RpZmljYXRpb247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW5vdGlmaWNhdGlvbjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW5vdGlmaWNhdGlvbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXF1ZXN0aW9uIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1xdWVzdGlvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcXVlc3Rpb24yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1xdWVzdGlvbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXF1ZXN0aW9uMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcXVlc3Rpb24zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1xdWVzdGlvbjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXF1ZXN0aW9uNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcXVlc3Rpb241IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1xdWVzdGlvbjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXF1ZXN0aW9uNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcXVlc3Rpb242O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wbHVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbHVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1taW51cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWludXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBsdXMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbHVzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWludXMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1taW51czI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBsdXMzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbHVzMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWludXMzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1taW51czM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBsdXMtY2lyY2xlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbHVzLWNpcmNsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWludXMtY2lyY2xlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1taW51cy1jaXJjbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBsdXMtY2lyY2xlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGx1cy1jaXJjbGUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1taW51cy1jaXJjbGUyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1taW51cy1jaXJjbGUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbmZvIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1pbmZvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbmZvMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taW5mbzI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhbmNlbC1jaXJjbGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhbmNlbC1jaXJjbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhbmNlbC1jaXJjbGUyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jYW5jZWwtY2lyY2xlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmxvY2tlZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmxvY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FuY2VsLXNxdWFyZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2FuY2VsLXNxdWFyZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FuY2VsLXNxdWFyZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhbmNlbC1zcXVhcmUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jYW5jZWwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhbmNlbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3BhbSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3BhbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY3Jvc3Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNyb3NzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jcm9zczIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNyb3NzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY3Jvc3MzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jcm9zczM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZWNrbWFyayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hlY2ttYXJrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaGVja21hcmsyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVja21hcmsyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaGVja21hcmszIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVja21hcmszO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaGVja21hcms0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVja21hcms0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaGVja21hcms1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVja21hcms1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcGVsbC1jaGVjayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3BlbGwtY2hlY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNwZWxsLWNoZWNrMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3BlbGwtY2hlY2syO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lbnRlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWV4aXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWV4aXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVudGVyMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW50ZXIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1leGl0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXhpdDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVudGVyMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW50ZXIzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1leGl0MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZXhpdDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdhbGwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdhbGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZlbmNlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mZW5jZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGxheTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBsYXkzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYXVzZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGF1c2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0b3Age1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0b3A7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXByZXZpb3VzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wcmV2aW91cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbmV4dCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbmV4dDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmFja3dhcmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhY2t3YXJkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mb3J3YXJkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9yd2FyZDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBsYXk0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wbGF5NDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGF1c2UyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wYXVzZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0b3AyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdG9wMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmFja3dhcmQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iYWNrd2FyZDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvcndhcmQzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mb3J3YXJkMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlyc3Qge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpcnN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYXN0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sYXN0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wcmV2aW91czIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXByZXZpb3VzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbmV4dDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW5leHQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lamVjdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZWplY3Q7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZvbHVtZS1oaWdoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtaGlnaDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdm9sdW1lLW1lZGl1bSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdm9sdW1lLW1lZGl1bTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdm9sdW1lLWxvdyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdm9sdW1lLWxvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdm9sdW1lLW11dGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZvbHVtZS1tdXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcGVha2VyLWxlZnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwZWFrZXItbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3BlYWtlci1yaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3BlYWtlci1yaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdm9sdW1lLW11dGUyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtbXV0ZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZvbHVtZS1pbmNyZWFzZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdm9sdW1lLWluY3JlYXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12b2x1bWUtZGVjcmVhc2Uge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZvbHVtZS1kZWNyZWFzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdm9sdW1lLWhpZ2gyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtaGlnaDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZvbHVtZS1tZWRpdW0yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtbWVkaXVtMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdm9sdW1lLW1lZGl1bTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZvbHVtZS1tZWRpdW0zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12b2x1bWUtbG93MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdm9sdW1lLWxvdzI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZvbHVtZS1tdXRlMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdm9sdW1lLW11dGUzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12b2x1bWUtaW5jcmVhc2UyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtaW5jcmVhc2UyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12b2x1bWUtZGVjcmVhc2UyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtZGVjcmVhc2UyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12b2x1bWUtZGVjcmVhc2UzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtZGVjcmVhc2UzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12b2x1bWUtNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdm9sdW1lLTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZvbHVtZS00IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdm9sdW1lLTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZvbHVtZS0zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12b2x1bWUtMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdm9sdW1lLTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZvbHVtZS0xIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdm9sdW1lLTAge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZvbHVtZS0wO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12b2x1bWUtbXV0ZTQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZvbHVtZS1tdXRlNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdm9sdW1lLW11dGU1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12b2x1bWUtbXV0ZTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxvb3Age1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxvb3A7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxvb3AyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sb29wMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbG9vcDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxvb3AzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbmZpbml0ZS1zcXVhcmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWluZmluaXRlLXNxdWFyZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taW5maW5pdGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWluZmluaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbmZpbml0ZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWluZmluaXRlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbG9vcDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxvb3A0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaHVmZmxlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zaHVmZmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaHVmZmxlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2h1ZmZsZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdhdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdhdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdhdmUyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13YXZlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3BsaXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNwbGl0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZXJnZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWVyZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpcnN0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlyc3QyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYXN0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGFzdDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXVwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctdXAyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXVwMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctcmlnaHQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1yaWdodDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctcmlnaHQzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1yaWdodDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJpZ2h0NCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kb3duO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZG93bjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWRvd24zIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kb3duMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd240O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1sZWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1sZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1sZWZ0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctbGVmdDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWxlZnQzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1sZWZ0MztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctbGVmdDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWxlZnQ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cDUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctcmlnaHQ1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1yaWdodDU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWRvd241IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kb3duNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctbGVmdDUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWxlZnQ1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cC1sZWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cC1sZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cDYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctdXAtcmlnaHQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwLXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1yaWdodDYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0NjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bi1yaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZG93bi1yaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bjYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd242O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duLWxlZnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd24tbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctbGVmdDYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWxlZnQ2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cC1sZWZ0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAtbGVmdDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXVwNyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXA3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cC1yaWdodDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwLXJpZ2h0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctcmlnaHQ3IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1yaWdodDc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWRvd24tcmlnaHQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kb3duLXJpZ2h0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bjcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd243O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duLWxlZnQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kb3duLWxlZnQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1sZWZ0NyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctbGVmdDc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXVwLWxlZnQzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cC1sZWZ0MztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctdXA4IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cDg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXVwLXJpZ2h0MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAtcmlnaHQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1yaWdodDgge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0ODtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bi1yaWdodDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd24tcmlnaHQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duOCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZG93bjg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWRvd24tbGVmdDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd24tbGVmdDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWxlZnQ4IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1sZWZ0ODtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2lyY2xlLXVwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtdXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1yaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtZG93biB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLWRvd247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1sZWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2lyY2xlLXVwMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLXVwMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2lyY2xlLXJpZ2h0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLXJpZ2h0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2lyY2xlLWRvd24yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtZG93bjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1sZWZ0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLWxlZnQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtdXAtbGVmdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLXVwLWxlZnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS11cDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS11cDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS11cC1yaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLXVwLXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtcmlnaHQzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtcmlnaHQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtZG93bi1yaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLWRvd24tcmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1kb3duMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLWRvd24zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtZG93bi1sZWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtZG93bi1sZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtbGVmdDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1sZWZ0MztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2lyY2xlLXVwLWxlZnQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtdXAtbGVmdDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS11cDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS11cDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS11cC1yaWdodDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS11cC1yaWdodDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1yaWdodDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1yaWdodDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1kb3duLXJpZ2h0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLWRvd24tcmlnaHQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtZG93bjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1kb3duNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2lyY2xlLWRvd24tbGVmdDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1kb3duLWxlZnQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtbGVmdDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1sZWZ0NDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctcmVzaXplIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1yZXNpemU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJlc2l6ZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJlc2l6ZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJlc2l6ZTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJlc2l6ZTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJlc2l6ZTQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJlc2l6ZTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJlc2l6ZTUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJlc2l6ZTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJlc2l6ZTYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJlc2l6ZTY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJlc2l6ZTcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJlc2l6ZTc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJlc2l6ZTgge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJlc2l6ZTg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNxdWFyZS11cC1sZWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zcXVhcmUtdXAtbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3F1YXJlLXVwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zcXVhcmUtdXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNxdWFyZS11cC1yaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3F1YXJlLXVwLXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcXVhcmUtcmlnaHQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNxdWFyZS1yaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3F1YXJlLWRvd24tcmlnaHQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNxdWFyZS1kb3duLXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcXVhcmUtZG93biB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3F1YXJlLWRvd247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNxdWFyZS1kb3duLWxlZnQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNxdWFyZS1kb3duLWxlZnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNxdWFyZS1sZWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zcXVhcmUtbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctdXA5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cDk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJpZ2h0OSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duOSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZG93bjk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWxlZnQ5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1sZWZ0OTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctdXAxMCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAxMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctcmlnaHQxMCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQxMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bjEwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kb3duMTA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWxlZnQxMCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctbGVmdDEwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cC1sZWZ0NCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAtbGVmdDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXVwMTEge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwMTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXVwLXJpZ2h0NCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAtcmlnaHQ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1yaWdodDExIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1yaWdodDExO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duLXJpZ2h0NCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZG93bi1yaWdodDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWRvd24xMSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZG93bjExO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duLWxlZnQ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kb3duLWxlZnQ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1sZWZ0MTEge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWxlZnQxMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctdXAtbGVmdDUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwLWxlZnQ1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cDEyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cDEyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cC1yaWdodDUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwLXJpZ2h0NTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctcmlnaHQxMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQxMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bi1yaWdodDUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd24tcmlnaHQ1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duMTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd24xMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bi1sZWZ0NSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZG93bi1sZWZ0NTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctbGVmdDEyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1sZWZ0MTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXVwMTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwMTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LXJpZ2h0MTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0MTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWRvd24xMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctZG93bjEzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1sZWZ0MTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWxlZnQxMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctdXAxNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAxNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctcmlnaHQxNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQxNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bjE0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kb3duMTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWxlZnQxNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctbGVmdDE0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtdXA1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtdXA1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtcmlnaHQ1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtcmlnaHQ1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtZG93bjUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1kb3duNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2lyY2xlLWxlZnQ1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtbGVmdDU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS11cDYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS11cDY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1yaWdodDYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1yaWdodDY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1kb3duNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2lyY2xlLWRvd242O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaXJjbGUtbGVmdDYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1sZWZ0NjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctdXAxNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctdXAxNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctcmlnaHQxNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQxNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctZG93bjE1IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1kb3duMTU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWFycm93LWxlZnQxNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXJyb3ctbGVmdDE1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy11cDE2IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cDE2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1yaWdodDE2IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1yaWdodDE2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcnJvdy1kb3duMTYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd24xNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYXJyb3ctbGVmdDE2IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1sZWZ0MTY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1lbnUtb3BlbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWVudS1vcGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZW51LW9wZW4yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tZW51LW9wZW4yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZW51LWNsb3NlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tZW51LWNsb3NlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tZW51LWNsb3NlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWVudS1jbG9zZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVudGVyNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW50ZXI0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lbnRlcjUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWVudGVyNTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZXNjIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lc2M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVudGVyNiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW50ZXI2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iYWNrc3BhY2Uge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhY2tzcGFjZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmFja3NwYWNlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmFja3NwYWNlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGFiIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10YWI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRyYW5zbWlzc2lvbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHJhbnNtaXNzaW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10cmFuc21pc3Npb24yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10cmFuc21pc3Npb24yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zb3J0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zb3J0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zb3J0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc29ydDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1vdmUtdXAge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1vdmUtdXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1vdmUtZG93biB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbW92ZS1kb3duO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zb3J0LWFscGhhLWFzYyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc29ydC1hbHBoYS1hc2M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNvcnQtYWxwaGEtZGVzYyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc29ydC1hbHBoYS1kZXNjO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zb3J0LW51bWVyaWMtYXNjIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zb3J0LW51bWVyaWMtYXNjO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zb3J0LW51bWJlcmljLWRlc2Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNvcnQtbnVtYmVyaWMtZGVzYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc29ydC1hbW91bnQtYXNjIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zb3J0LWFtb3VudC1hc2M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNvcnQtYW1vdW50LWRlc2Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNvcnQtYW1vdW50LWRlc2M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNvcnQtdGltZS1hc2Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNvcnQtdGltZS1hc2M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNvcnQtdGltZS1kZXNjIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zb3J0LXRpbWUtZGVzYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmF0dGVyeS02IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iYXR0ZXJ5LTY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJhdHRlcnktNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmF0dGVyeS01O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iYXR0ZXJ5LTQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhdHRlcnktNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmF0dGVyeS0zIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iYXR0ZXJ5LTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJhdHRlcnktMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmF0dGVyeS0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iYXR0ZXJ5LTEge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhdHRlcnktMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmF0dGVyeS0wIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iYXR0ZXJ5LTA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJhdHRlcnktY2hhcmdpbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhdHRlcnktY2hhcmdpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWtleS1rZXlib2FyZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24ta2V5LWtleWJvYXJkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1rZXktQSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24ta2V5LUE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWtleS11cCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24ta2V5LXVwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1rZXktcmlnaHQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWtleS1yaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24ta2V5LWRvd24ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWtleS1kb3duO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1rZXktbGVmdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24ta2V5LWxlZnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvbW1hbmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvbW1hbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNoaWZ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zaGlmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY3RybCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY3RybDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tb3B0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1vcHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZWNrYm94LWNoZWNrZWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoZWNrYm94LWNoZWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZWNrYm94LXVuY2hlY2tlZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hlY2tib3gtdW5jaGVja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaGVja2JveC1wYXJ0aWFsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVja2JveC1wYXJ0aWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcXVhcmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNxdWFyZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHJpYW5nbGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRyaWFuZ2xlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10cmlhbmdsZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRyaWFuZ2xlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZGlhbW9uZDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRpYW1vbmQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kaWFtb25kNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZGlhbW9uZDQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNoZWNrYm94LWNoZWNrZWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVja2JveC1jaGVja2VkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2hlY2tib3gtdW5jaGVja2VkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hlY2tib3gtdW5jaGVja2VkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2hlY2tib3gtcGFydGlhbDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoZWNrYm94LXBhcnRpYWwyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yYWRpby1jaGVja2VkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yYWRpby1jaGVja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yYWRpby1jaGVja2VkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcmFkaW8tY2hlY2tlZDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXJhZGlvLXVuY2hlY2tlZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcmFkaW8tdW5jaGVja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10b2dnbGUtb24ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRvZ2dsZS1vbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdG9nZ2xlLW9mZiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdG9nZ2xlLW9mZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2hlY2ttYXJrLWNpcmNsZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY2hlY2ttYXJrLWNpcmNsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2lyY2xlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZXMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGVzMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY3JvcCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY3JvcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY3JvcDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNyb3AyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tYWtlLWdyb3VwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tYWtlLWdyb3VwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11bmdyb3VwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11bmdyb3VwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12ZWN0b3Ige1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZlY3RvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdmVjdG9yMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdmVjdG9yMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcnVsZXJzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ydWxlcnM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXJ1bGVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ydWxlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGVuY2lsLXJ1bGVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1wZW5jaWwtcnVsZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNjaXNzb3JzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zY2lzc29ycztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2Npc3NvcnMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zY2lzc29yczI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNjaXNzb3JzMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2Npc3NvcnMzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oYWlyY3V0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1oYWlyY3V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jb21iIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb21iO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWx0ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbHRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsdGVyMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsdGVyMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsdGVyMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsdGVyMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsdGVyNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsdGVyNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZm9udCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9udDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYW1wZXJzYW5kIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hbXBlcnNhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxpZ2F0dXJlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saWdhdHVyZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGlnYXR1cmUyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saWdhdHVyZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZm9udC1zaXplO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10eXBvZ3JhcGh5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10eXBvZ3JhcGh5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10ZXh0LWhlaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGV4dC1oZWlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRleHQtd2lkdGgge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRleHQtd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWhlaWdodDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWhlaWdodDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdpZHRoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYm9sZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYm9sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdW5kZXJsaW5lIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWl0YWxpYyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdHJpa2V0aHJvdWdoIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdHJpa2V0aHJvdWdoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdHJpa2V0aHJvdWdoMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RyaWtldGhyb3VnaDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvbnQtc2l6ZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvbnQtc2l6ZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJvbGQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ib2xkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdW5kZXJsaW5lMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdW5kZXJsaW5lMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taXRhbGljMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taXRhbGljMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RyaWtldGhyb3VnaDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0cmlrZXRocm91Z2gzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1vbWVnYSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tb21lZ2E7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNpZ21hIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zaWdtYTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbmJzcCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbmJzcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGFnZS1icmVhayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFnZS1icmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGFnZS1icmVhazIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBhZ2UtYnJlYWsyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdXBlcnNjcmlwdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3VwZXJzY3JpcHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN1YnNjcmlwdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3Vic2NyaXB0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdXBlcnNjcmlwdDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN1cGVyc2NyaXB0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3Vic2NyaXB0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3Vic2NyaXB0MjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGV4dC1jb2xvciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGV4dC1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taGlnaGxpZ2h0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1oaWdobGlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhZ2VicmVhayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFnZWJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jbGVhci1mb3JtYXR0aW5nIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jbGVhci1mb3JtYXR0aW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10YWJsZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGFibGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRhYmxlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGFibGUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbnNlcnQtdGVtcGxhdGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWluc2VydC10ZW1wbGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGlsY3JvdyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGlsY3JvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbHRyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sdHI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXJ0bCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcnRsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sdHIyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sdHIyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1ydGwyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ydGwyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZWN0aW9uIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZWN0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYXJhZ3JhcGgtbGVmdCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFyYWdyYXBoLWxlZnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhcmFncmFwaC1jZW50ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBhcmFncmFwaC1jZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhcmFncmFwaC1yaWdodCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFyYWdyYXBoLXJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYXJhZ3JhcGgtanVzdGlmeSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFyYWdyYXBoLWp1c3RpZnk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhcmFncmFwaC1sZWZ0MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFyYWdyYXBoLWxlZnQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYXJhZ3JhcGgtY2VudGVyMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFyYWdyYXBoLWNlbnRlcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhcmFncmFwaC1yaWdodDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBhcmFncmFwaC1yaWdodDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhcmFncmFwaC1qdXN0aWZ5MiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFyYWdyYXBoLWp1c3RpZnkyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbmRlbnQtaW5jcmVhc2Uge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWluZGVudC1pbmNyZWFzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taW5kZW50LWRlY3JlYXNlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1pbmRlbnQtZGVjcmVhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhcmFncmFwaC1sZWZ0MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFyYWdyYXBoLWxlZnQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1wYXJhZ3JhcGgtY2VudGVyMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFyYWdyYXBoLWNlbnRlcjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhcmFncmFwaC1yaWdodDMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBhcmFncmFwaC1yaWdodDM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBhcmFncmFwaC1qdXN0aWZ5MyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGFyYWdyYXBoLWp1c3RpZnkzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbmRlbnQtaW5jcmVhc2UyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1pbmRlbnQtaW5jcmVhc2UyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbmRlbnQtZGVjcmVhc2UyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1pbmRlbnQtZGVjcmVhc2UyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zaGFyZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hhcmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNoYXJlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hhcmUyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1uZXctdGFiIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1uZXctdGFiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1uZXctdGFiMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbmV3LXRhYjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBvcG91dCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcG9wb3V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lbWJlZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW1iZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVtYmVkMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZW1iZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tYXJrdXAge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1hcmt1cDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcmVnZXhwIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yZWdleHA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXJlZ2V4cDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXJlZ2V4cDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvZGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1jc3Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNpcmNsZS1jc3M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNpcmNsZS1jb2RlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaXJjbGUtY29kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdGVybWluYWwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXRlcm1pbmFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi11bmljb2RlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi11bmljb2RlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZXZlbi1zZWdtZW50LTAge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNldmVuLXNlZ21lbnQtMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2V2ZW4tc2VnbWVudC0xIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZXZlbi1zZWdtZW50LTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNldmVuLXNlZ21lbnQtMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2V2ZW4tc2VnbWVudC0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZXZlbi1zZWdtZW50LTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNldmVuLXNlZ21lbnQtMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2V2ZW4tc2VnbWVudC00IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZXZlbi1zZWdtZW50LTQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNldmVuLXNlZ21lbnQtNSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2V2ZW4tc2VnbWVudC01O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZXZlbi1zZWdtZW50LTYge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNldmVuLXNlZ21lbnQtNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2V2ZW4tc2VnbWVudC03IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zZXZlbi1zZWdtZW50LTc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNldmVuLXNlZ21lbnQtOCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2V2ZW4tc2VnbWVudC04O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zZXZlbi1zZWdtZW50LTkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNldmVuLXNlZ21lbnQtOTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2hhcmUzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zaGFyZTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNoYXJlNCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc2hhcmU0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tYWlsIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tYWlsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1tYWlsMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbWFpbDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW1haWwzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1tYWlsMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbWFpbDQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW1haWw0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hbWF6b24ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWFtYXpvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ29vZ2xlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1nb29nbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdvb2dsZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdvb2dsZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdvb2dsZTMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWdvb2dsZTM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdvb2dsZS1wbHVzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1nb29nbGUtcGx1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ29vZ2xlLXBsdXMyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1nb29nbGUtcGx1czI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdvb2dsZS1wbHVzMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ29vZ2xlLXBsdXMzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1oYW5nb3V0cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taGFuZ291dHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWdvb2dsZS1kcml2ZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZ29vZ2xlLWRyaXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1mYWNlYm9vayB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmFjZWJvb2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZhY2Vib29rMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmFjZWJvb2syO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1pbnN0YWdyYW0ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWluc3RhZ3JhbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td2hhdHNhcHAge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdoYXRzYXBwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zcG90aWZ5IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zcG90aWZ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi10ZWxlZ3JhbSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdGVsZWdyYW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXR3aXR0ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXR3aXR0ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZpbmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXZpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZrIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi12aztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcmVucmVuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yZW5yZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNpbmEtd2VpYm8ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNpbmEtd2VpYm87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXJzcyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcnNzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yc3MyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1yc3MyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi15b3V0dWJlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi15b3V0dWJlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi15b3V0dWJlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24teW91dHViZTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXR3aXRjaCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHdpdGNoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi12aW1lbyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdmltZW87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXZpbWVvMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdmltZW8yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYW55cmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxhbnlyZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmxpY2tyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbGlja3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsaWNrcjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZsaWNrcjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsaWNrcjMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZsaWNrcjM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZsaWNrcjQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZsaWNrcjQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRyaWJiYmxlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kcmliYmJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmVoYW5jZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmVoYW5jZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tYmVoYW5jZTIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJlaGFuY2UyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kZXZpYW50YXJ0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1kZXZpYW50YXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi01MDBweCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tNTAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN0ZWFtIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGVhbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RlYW0yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zdGVhbTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWRyb3Bib3gge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRyb3Bib3g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW9uZWRyaXZlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1vbmVkcml2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ2l0aHViIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1naXRodWI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLW5wbSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbnBtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1iYXNlY2FtcCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmFzZWNhbXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXRyZWxsbyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHJlbGxvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13b3JkcHJlc3Mge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXdvcmRwcmVzcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tam9vbWxhIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1qb29tbGE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWVsbG8ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWVsbG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJsb2dnZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJsb2dnZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWJsb2dnZXIyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1ibG9nZ2VyMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tdHVtYmxyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi10dW1ibHI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXR1bWJscjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXR1bWJscjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXlhaG9vIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi15YWhvbztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24teWFob28yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi15YWhvbzI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXR1eCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tdHV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hcHBsZWluYyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYXBwbGVpbmM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbmRlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmluZGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1hbmRyb2lkIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1hbmRyb2lkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13aW5kb3dzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13aW5kb3dzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi13aW5kb3dzOCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24td2luZG93czg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNvdW5kY2xvdWQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNvdW5kY2xvdWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXNvdW5kY2xvdWQyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zb3VuZGNsb3VkMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc2t5cGUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNreXBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1yZWRkaXQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXJlZGRpdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taGFja2VybmV3cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taGFja2VybmV3cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24td2lraXBlZGlhIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi13aWtpcGVkaWE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxpbmtlZGluIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saW5rZWRpbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGlua2VkaW4yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1saW5rZWRpbjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWxhc3RmbSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tbGFzdGZtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1sYXN0Zm0yIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1sYXN0Zm0yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1kZWxpY2lvdXMge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWRlbGljaW91cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3R1bWJsZXVwb24ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0dW1ibGV1cG9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zdHVtYmxldXBvbjIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0dW1ibGV1cG9uMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tc3RhY2tvdmVyZmxvdyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3RhY2tvdmVyZmxvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tcGludGVyZXN0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1waW50ZXJlc3Q7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBpbnRlcmVzdDIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXBpbnRlcmVzdDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXhpbmcge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXhpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXhpbmcyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi14aW5nMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmxhdHRyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1mbGF0dHI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZvdXJzcXVhcmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZvdXJzcXVhcmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXllbHAge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXllbHA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXBheXBhbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tcGF5cGFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1jaHJvbWUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNocm9tZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlyZWZveCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlyZWZveDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tSUUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLUlFO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1lZGdlIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1lZGdlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1zYWZhcmkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXNhZmFyaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tb3BlcmEge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLW9wZXJhO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLXBkZiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1wZGY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWZpbGUtb3Blbm9mZmljZSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1vcGVub2ZmaWNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1maWxlLXdvcmQge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWZpbGUtd29yZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZmlsZS1leGNlbCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tZmlsZS1leGNlbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tbGlicmVvZmZpY2Uge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWxpYnJlb2ZmaWNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1odG1sLWZpdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWh0bWwtZml2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24taHRtbC1maXZlMiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24taHRtbC1maXZlMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY3NzMyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tY3NzMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZ2l0IHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1naXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNvZGVwZW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNvZGVwZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLXN2ZyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tc3ZnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaWNvbi1JY29Nb29uIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1JY29Nb29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBkZXZlbG9wZXIgdG9vbHNcblxuXHQvLyBib3hcblx0QGltcG9ydCAnYm94JztcbiIsIi8vIHN0eWxlc2hlZXQgOjogZGV2ZWxvcGVyIGJveCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGRldmVsb3Blcl9ib3ggOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLmRldmVsb3Blci1ib3gge1xuXG4gICAgICAgIHdpZHRoOiAxNnJlbTtcbiAgICAgICAgLy8gbWluLWhlaWdodDogMjRyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcblxuICAgICAgICAvLyBwb3NpdGlvbmFsIGNsYXNzZXNcbiAgICAgICAgJi5vdmVybGF5IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgICAgICAgICAvLyByaWdodFxuICAgICAgICAgICAgJi5yaWdodCB7XG5cbiAgICAgICAgICAgICAgICByaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBib3R0b206IDJyZW1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb2xvclxuICAgICAgICAgICAgJi5maWxsIHtcblxuICAgICAgICAgICAgICAgIC8vIHJlZFxuICAgICAgICAgICAgICAgICYucmVkIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCByZWQsIDAuMTQ1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgLmJveC10aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgLmJveC10aXRsZSB7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAwLjc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTI1ZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaW5lXG4gICAgICAgIC5vdXRwdXQtbGluZSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA3MDAgKTtcblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGJhc2UgZWxlbWVudHMgc3R5bGVzaGVldCBjb21waWxlclxuXG4gICAgLy8gZ2xvYmFsXG4gICAgQGltcG9ydCAnYmFzZV9nbG9iYWwnO1xuXG4gICAgLy8gaHRtbFxuICAgIEBpbXBvcnQgJ2h0bWwnO1xuXG4gICAgLy8gYm9keVxuICAgIEBpbXBvcnQgJ2JvZHknO1xuXG4gICAgLy8gZm9ybWF0dGluZ1xuICAgIEBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuXG4gICAgLy8gcHJpbnRcblx0QGltcG9ydCAncHJpbnQnO1xuIiwiLy8gc3R5bGVzaGVldCA6OiBiYXNlIGdsb2JhbCBlbGVtZW50cyBjb21tb24gc3R5bGVzXG5cbiAgICAvLyBodG1sICsgYm9keVxuICAgIGh0bWwsXG4gICAgYm9keSB7XG5cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIDo6c2VsZWN0aW9uIHtcblxuICAgICAgICAgICAgY29sb3I6ICRicml0ZTtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoICRhcHAyMCwgMC41ODUgKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNraXAtbGluayB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAuMTI1ZW0gLjEyNWVtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkc3RlZWw7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAuNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgcGFkZGluZzogMWVtIDJlbTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRvcDogLjc1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwMDA7IC8qIEFib3ZlIFdQIHRvb2xiYXIgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHBob25lIG51bWJlcnNcbiAgICBhW2hyZWZePSd0ZWw6J10ge1xuXG4gICAgICAgIC8vIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSApO1xuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBodG1sIGVsZW1lbnQgc3R5bGVzXG5cbiAgICAvLyBzdHlsZXNcbiAgICAgICAgaHRtbCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAxLjAwMCApO1xuICAgICAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGJvZHkgZWxlbWVudCBzdHlsZXNcblxuICAgIC8vIHN0eWxlc1xuICAgIGJvZHkge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9udDoge1xuXG4gICAgICAgICAgICBmYW1pbHk6ICRpbmR1c3RyeTtcbiAgICAgICAgICAgIHNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICB3ZWlnaHQ6IDUwMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgY29sb3I6ICRyaXRlLWxpdGU7XG5cbiAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICBjb2xvcjpcblxuICAgICAgICAgICAgICAgIGFkanVzdC1jb2xvcihcblxuICAgICAgICAgICAgICAgICAgICAkYXBwNDUsXG4gICAgICAgICAgICAgICAgICAgICRodWUgICAgICAgICAgOiAwJSxcbiAgICAgICAgICAgICAgICAgICAgJHNhdHVyYXRpb24gOiA1JSxcbiAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzcyAgOiAtNSUsXG4gICAgICAgICAgICAgICAgICAgICRhbHBoYSAgICAgICAgIDogLTAuMDAwXG5cbiAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgIDtcblxuICAgICAgICB9XG5cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQ4MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgLy8gc2Vjb25kYXJ5XG4gICAgICAgICYucGFnZS10ZW1wbGF0ZS1zZWNvbmRhcnksXG4gICAgICAgICYucGFnZS10ZW1wbGF0ZS1zZWNvbmRhcnktbWFpbixcbiAgICAgICAgLy8gJi5zaW5nbGUtZGVncmVlLXByb2dyYW0sXG4gICAgICAgICYuYXJjaGl2ZSxcbiAgICAgICAgJi5zaW5nbGUtcGxhY2Uge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDAgMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYWxlcnQgc3RhdHVzXG4gICAgICAgICYuaGFzX2FsZXJ0IHtcblxuICAgICAgICAgICAgcGFkZGluZzogNXJlbSAwIDAgMDtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQ4MG1zICRvdXRleCAxMjAwbXM7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cmVtIDAgMCAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gYnJvd3Nlci5zeW5jXG4gICAgI19fYnNfbm90aWZ5X18ge1xuXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgICAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICAgIGhlaWdodDogNC41cmVtO1xuICAgICAgICBtYXJnaW46IC0yLjI1cmVtIDAgMCAtMi4yNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXG4gICAgICAgIGZvbnQ6IHtcblxuICAgICAgICAgICAgZmFtaWx5OiAkaW5kdXN0cnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgICAgIHdlaWdodDogNjAwO1xuXG4gICAgICAgIH1cblxuICAgICAgICBsaW5lLWhlaWdodDogMC43NXJlbTtcblxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMzVlbTtcblxuICAgICAgICB0ZXh0OiB7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogJHVwO1xuICAgICAgICAgICAgaW5kZW50OiAtOTk5OXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgLy8gY29sb3I6IHRyYW5zcGFyZW50aXplKCAkbml0ZSwgMC4zNjUgKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL3N2Zy9yZWxvYWQuc3luYy5zdmcpO1xuICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBzaXplOiA0cmVtIDRyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogMC4yNXJlbSAwLjI1cmVtO1xuXG5cbiAgICAgICAgfVxuXG4gICAgICAgIGFuaW1hdGlvbjogc3luYy1zcGlubmVyIDcyMG1zICRpb3F1aW4gaW5maW5pdGU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAvLyBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDJyZW07XG4gICAgICAgICAgICByaWdodDogMnJlbTtcbiAgICAgICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDJyZW07XG5cbiAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBib3htb2RlbCggJHB4LWdyZWVuLCAwLjU4NSApO1xuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogSFRNTCB0ZXh0IGVsZW1lbnQgZm9ybWF0dGluZ1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkdHlwZS1iYXNlIDogMXJlbTtcblxuICAgIC8vIGNvbW1vblxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXG4gICAgICAgIGZvbnQ6IHtcblxuICAgICAgICAgICAgZmFtaWx5OiAka2xhdmlzbGltO1xuICAgICAgICAgICAgd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIHRleHQ6IHtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiAkdXA7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gaDJcbiAgICAucGFnZS10aXRsZSB7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvbGQ7XG5cbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDg1ZW07XG5cbiAgICAgICAgY29sb3I6ICRnMTM1O1xuXG4gICAgfVxuXG4gICAgLy8gaDNcbiAgICBoMyB7XG5cbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuNXJlbSwgNTAwICk7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcblxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNzVlbTtcblxuICAgICAgICBjb2xvcjogJGcxNDA7XG5cbiAgICB9XG5cbiAgICAvLyBoNFxuICAgIGg0IHtcblxuICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjI1cmVtLCA1MDAgKTtcblxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcblxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNjVlbTtcblxuICAgICAgICBjb2xvcjogJHN0ZWVsO1xuXG4gICAgfVxuXG4gICAgLy8gdWxcbiAgICB1bCB7XG5cbiAgICAgICAgbGlzdC1zdHlsZTogc3F1YXJlO1xuXG4gICAgfVxuXG4gICAgLy8gcHJlXG4gICAgcHJlIHtcblxuICAgICAgICBAaW5jbHVkZSBmb250KCAnUm9ib3RvIE1vbm8nLCAwLjY4NzVyZW0sIDUwMCApO1xuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBwcmludCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHByaW50IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIEBtZWRpYSBwcmludCB7XG5cbiAgICAgICAgLy8gaGlkZVxuICAgICAgICAjc2l0ZS1oZWFkZXIsXG4gICAgICAgIGZvb3RlciB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhlYWRpbmdzXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXG4gICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDFyZW0gMDtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS41cmVtLCA0MDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaDFcbiAgICAgICAgaDEge1xuXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAyLjI1cmVtLCA0MDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGFnZSBoZWFkZXJzXG4gICAgICAgIC5mbGV4aWJsZS1wYWdlLWhlYWRlci0tc3R5bGVkIHtcblxuICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNsYXNzXG4gICAgICAgICAgICAmX19pbm5lciB7XG5cbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHJlbSA4dncgMCA4dncgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBwYWdlIGNvbnRhaW5lclxuICAgICAgICAuZmxleGlibGUtcGFnZS1jb250ZW50IHtcblxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLy8gZmlyc3QgY2hpbGRcbiAgICAgICAgICAgIC50ZW1wbGF0ZS1ibG9jayB7XG5cbiAgICAgICAgICAgICAgICAvLyBmaXJzdCBjaGlsZFxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHBsdWdpbiBjb21waWxlclxuXG4gICAgLy8gc2xpY2tcbiAgICBAaW1wb3J0ICdwbHVnaW4uc2xpY2suc2Nzcyc7XG5cbiAgICAvLyB0YWJsZXByZXNzXG4gICAgQGltcG9ydCAncGx1Z2luLnRhYmxlcHJlc3MnO1xuIiwiXG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIHN0eWxlc2hlZXQgOjogVGFibGVQcmVzcyBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHRhYmxlcHJlc3MgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgdGFibGUge1xuXG4gICAgICAgIC8vIGNsYXNzIGhvb2tcbiAgICAgICAgJi50YWJsZXByZXNzIHtcblxuICAgICAgICAgICAgLy8gaGVhZFxuICAgICAgICAgICAgdGhlYWQge1xuXG4gICAgICAgICAgICAgICAgLy8gY2VsbHNcbiAgICAgICAgICAgICAgICB0aCB7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxNDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBib2R5XG4gICAgICAgICAgICB0Ym9keSB7XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlclxuICAgICAgICAgICAgICAgICYucm93LWhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyByb3dzXG4gICAgICAgICAgICAgICAgICAgIHRyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2VsbHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTM1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGNhbXBhaWduICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyByb3dzXG4gICAgICAgICAgICAgICAgdHIge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGNsYXNzIGhvb2tcbiAgICAgICAgICAgICAgICAgICAgJi5ldmVuIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2VsbHNcbiAgICAgICAgICAgICAgICAgICAgICAgIHRkIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHRyYW5zcGFyZW50ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjZWxsc1xuICAgICAgICAgICAgICAgIHRkIHtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGxheW91dCBzdHlsZXNoZWV0IGNvbXBpbGVyXG5cbiAgICAvLyBsYXlvdXQuZ2xvYmFsc1xuICAgIEBpbXBvcnQgJ2xheW91dC5nbG9iYWxzJztcblxuICAgIC8vIGxheW91dC5zaXRlXG4gICAgQGltcG9ydCAnbGF5b3V0LnNpdGUnO1xuXG4gICAgLy8gbGF5b3V0LmhlYWRlclxuICAgIEBpbXBvcnQgJ2xheW91dC5oZWFkZXInO1xuXG4gICAgLy8gbGF5b3V0LmZvb3RlclxuICAgIEBpbXBvcnQgJ2xheW91dC5mb290ZXInO1xuIiwiLy8gc3R5bGVzaGVldCA6OiBnbG9iYWwgbGF5b3V0IGNvbXBvbmVudCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGxheW91dF9maWxsIDogdHJhbnNwYXJlbnRpemUoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLnVpLWxheW91dCB7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgLmlzLW9wZW4tcmlnaHQgJiB7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogc2l0ZSBjb250ZW50IGNvbnRhaW5lciBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzOlxuICAgICRjb250ZW50X3dpZHRoICA6IDEwMCU7XG4gICAgJGNvbnRlbnRfd2lkdGhfZXggIDogY2FsYyggMTAwdncgKyA0cmVtICk7XG4gICAgJGNvbnRlbnRfaGVpZ2h0IDogMTAwdmg7XG4gICAgJGNvbnRlbnRfaGVpZ2h0X2V4IDogY2FsYyggMTAwdmggKyA0cmVtICk7XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjc2l0ZS1sYXlvdXQge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICB3aWR0aDogJGNvbnRlbnRfd2lkdGg7XG4gICAgICAgIC8vIGhlaWdodDogJGNvbnRlbnRfaGVpZ2h0O1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjdyZW0gMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgY29sb3I6XG5cbiAgICAgICAgICAgICAgICBhZGp1c3QtY29sb3IoXG5cbiAgICAgICAgICAgICAgICAgICAgJGFwcDA1LFxuICAgICAgICAgICAgICAgICAgICAkaHVlICAgICAgICAgIDogMCUsXG4gICAgICAgICAgICAgICAgICAgICRzYXR1cmF0aW9uIDogLTIwJSxcbiAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzcyAgOiAtMSUsXG4gICAgICAgICAgICAgICAgICAgICRhbHBoYSAgICAgICAgIDogLTAuMDAwXG5cbiAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgaW1hZ2U6XG5cbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgMTY4ZGVnLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCA1MCUsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkYmctYmFzZSwgMC4yNDUgKSAxMDAlXG5cbiAgICAgICAgICAgICAgICApLFxuXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgIDE4OWRlZyxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMjAlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGcxNDAsIDAuMzQ1ICkgMTAwJVxuXG4gICAgICAgICAgICAgICAgKSxcblxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICA0NWRlZyxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZGFyaywgMC4yMTUgKSAxMDAlXG5cbiAgICAgICAgICAgICAgICApLFxuXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAwJSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRkYXJrLCAwLjQxNSApIDEwMCVcblxuICAgICAgICAgICAgICAgICksXG5cbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgMTU1ZGVnLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGdvbGQsIDAuOTk1ICkgMCUsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZ29sZCwgMC43MjUgKSAxMDAlXG5cbiAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgIDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgc2Nyb2xscyggdHJ1ZSwgJGJvZHktc2Nyb2xsLCAkYm9keS10aHVtYiwgJGJvZHktdHJhY2sgKTtcblxuICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1ciggMHB4ICk7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKCAwcHggKTtcblxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgLy8gc2Vjb25kYXJ5XG4gICAgICAgICYuc2Vjb25kYXJ5IHtcblxuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAvLyBtYXJnaW46IDQuMDYyNXJlbSAwIDAgMDtcblxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNjcm9sbFxuICAgICAgICAmLnNjcm9sbGFibGUge1xuXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1lbnUgb3BlbiBjbGFzc1xuICAgICAgICAmLnNpdGUtbWVudS1pcy1vcGVuIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJG5pdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgIGltYWdlOiBub25lO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKCAxNnB4ICk7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1ciggMTZweCApO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNpbmdsZSBwb3N0XG4gICAgICAgIC5zaW5nbGUtZGVncmVlLXByb2dyYW0gJiB7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRuZXV0cmFsLCAwLjAwMCApO1xuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogaGVhZGVyIHN0eWxlc1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLnNpdGUtaGVhZGVyIHtcblxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBmb250LXNpemU6IC43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC4wOTUgKTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGcxNDAsIDAuMzg1ICkgMCUsXG4gICAgICAgICAgICAgICAgICAgIC8vIHRyYW5zcGFyZW50IDQwJSxcbiAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNwYXJlbnRpemUoICRkYXJrLCAwLjQ4NSApIDcwJSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRuaXRlLCAwLjUyNSApIDEwMCVcblxuICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAwIDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDgwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAtd2Via2l0LWFwcC1yZWdpb246IGRyYWc7XG5cbiAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC40ODUgKTtcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2Vjb25kYXJ5XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXNlY29uZGFyeSAmLFxuICAgICAgICAuc2luZ2xlLWRlZ3JlZS1wcm9ncmFtICYsXG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLWRpcmVjdG9yeSAmLFxuICAgICAgICAuYXJjaGl2ZSAmIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFsZXJ0XG4gICAgICAgICYuaGFzX2FsZXJ0IHtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgNXJlbSwgMCApO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDgwbXMgJG91dGV4IDEyMDBtcztcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDRyZW0sIDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250cmFzdCBzdGF0ZVxuICAgICAgICAmLnVpLWNvbnRyYXN0IHtcblxuICAgICAgICAgICAgLy8gY29udHJhc3QgbGF5ZXJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSggJG5pdGUsIDAuNTg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3MGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGcxNDAsIDAuNjg1ICkgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgNDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZGFyaywgMC40ODUgKSA2MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRuaXRlLCAwLjMyNSApIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRkYXJrLCAwLjMxNSApIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEuMDAwO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDM2MG1zICRvcXVpbiAyNDBtcztcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtZW51IG9wZW4gc3RhdGVcbiAgICAgICAgICAgICYuc2l0ZS1tZW51LW9wZW4ge1xuXG4gICAgICAgICAgICAgICAgLy8gY29udHJhc3QgbGF5ZXJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjQwbXMgJG9xdWluIDEyMG1zO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRyYXN0IGxheWVyXG4gICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAzMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGRhcmssIDAuNDg1ICkgNjAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRuaXRlLCAwLjMyNSApIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIC00cmVtLCAwICk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzNjBtcyAkb3F1aW4gMjQwbXM7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1lbnUgb3BlbiBzdGF0ZVxuICAgICAgICAmLnNpdGUtbWVudS1vcGVuIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMDAwICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzEzNSwgMC41MTUgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52aXNpYmxlIGxpbmtcbiAgICAgICAgI3NlY29uZGFyeS1wYWdlLWxpbmsge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgd2lkdGg6IDMycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBzY3JvbGxlclxuICAgICAgICAjc2Nyb2xsZXIge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICB3aWR0aDogOHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRkZWNpbWEsIDAuNzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHNpdGUgZm9vdGVyIHN0eWxlc1xuXG4gICAgLnNpdGUtZm9vdGVyIHtcblxuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMDAwICk7XG5cbiAgICAgICAgLy8gY29tbW9uXG4gICAgICAgIC5mb290ZXItcm93IHtcblxuICAgICAgICAgICAgLy8gbGluayBsaXN0XG4gICAgICAgICAgICAubGluay1saXN0IHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgLm1lbnUtaXRlbSB7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2Vjb25kYXJ5IHBhZ2VcbiAgICAgICAgLnNlY29uZGFyeSAmLFxuICAgICAgICAuc2Vjb25kYXJ5Lm1haW4gJixcbiAgICAgICAgLnNlY29uZGFyeS1kZWZhdWx0ICYge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHZpc2libGVcbiAgICAgICAgJi52aXNpYmxlIHtcblxuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvcFxuICAgICAgICAmX190b3Age1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cmVtIDVyZW07XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3Rlcl9fY29sdW1ucyB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1ncmlkO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAycmVtO1xuICAgICAgICAgICAgLW1zLWdyaWQtcm93czogYXV0byAycmVtIGF1dG8gMnJlbSBhdXRvIDJyZW0gYXV0bztcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIGF1dG8pO1xuICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjVlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgLW1zLWdyaWQtcm93czogYXV0byAycmVtIGF1dG87XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgYXV0byk7XG4gICAgICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uczogMWZyIDJyZW0gMWZyO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuICAgICAgICAgICAgICAgIC1tcy1ncmlkLXJvd3M6IGF1dG87XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbnM6IDFmciAycmVtIDFmciAycmVtIDFmciAycmVtIDFmcjtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyX19jb2x1bW4ge1xuXG4gICAgICAgICAgICAmLS1xdWljay1saW5rcyB7XG4gICAgICAgICAgICAgICAgLW1zLWdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tcmVzb3VyY2VzIHtcbiAgICAgICAgICAgICAgICAtbXMtZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAtbXMtZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tZGVwYXJ0bWVudHMge1xuICAgICAgICAgICAgICAgIC1tcy1ncmlkLXJvdzogNTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1ncmlkLXJvdzogMztcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uOiA1O1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWNvbnRhY3Qge1xuICAgICAgICAgICAgICAgIC1tcy1ncmlkLXJvdzogNztcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogNDtcbiAgICAgICAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1ncmlkLXJvdzogMztcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMztcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uOiA3O1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgICYuY29udGVudCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAvLyBoZWFkZXJcbiAgICAgICAgICAgICAgICAubGlua3MtaGVhZGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb2x1bW4gaGVhZGVyc1xuICAgICAgICAgICAgLmxpbmtzLWhlYWRlciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMiwgMC4xMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbWVudSBpdGVtXG4gICAgICAgICAgICAubWVudS1pdGVtIHtcblxuICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjI1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjIsIDAuMDc1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjM4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICY6dmlzaXRlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4zODUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbGluZSBicmVhayAoPylcbiAgICAgICAgICAgICAgICAuYnJlYWsge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29udGFjdCBpbmZvXG4gICAgICAgICAgICAuY29udGFjdC1pbmZvIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGxhYmVsc1xuICAgICAgICAgICAgICAgIC5jb250YWN0LWxhYmVsIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjI1cmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjU2MjVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNjI1cmVtLCAwLjExNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjE4NSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgICAgIC5jb250YWN0LXRleHQge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjc1cmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjY4NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjg3NXJlbSwgMC4wNjVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC40ODUgKTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6dmlzaXRlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ29sZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBib3R0b20gcm93XG4gICAgICAgICZfX2JvdHRvbSB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRuaXRlLCAwLjQ0NSApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbSAzcmVtIDNyZW0gM3JlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxpbmtzXG4gICAgICAgICAgICAuZm9vdGVyLWxpbmtzIHtcblxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogLjVyZW0gMXJlbSAuNXJlbSAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxpbmtzXG4gICAgICAgICAgICAubGluay1saXN0IHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAgICAgJi1pdGVtIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjU2MjVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgIC5saW5rIHtcblxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMSwgMC4wNjVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4yNDUgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkYWxsMjIwO1xuXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjI0NSApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAxLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb3B5cmlnaHQgdGV4dFxuICAgICAgICAgICAgLmNvcHlyaWdodCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNTYyNXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLCAwLjA2NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMjQ1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zeW1ib2wge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogbm9ybWFsO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyByZXF1aXJlZCBsb2dvXG4gICAgICAgICAgICAuYnJhbmQtbGVnYWN5IHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAuNXJlbSAwIC41cmVtIGF1dG87XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtIGRvd24gKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBzdmcge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBhcnR3b3JrXG4gICAgICAgICAgICAgICAgc3ZnIHtcblxuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsLW9wYWNpdHk6IDAuODI1O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkYWxsMjIwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogY29udGVudCBzdHlsZXNoZWV0IGNvbXBpbGVyXG5cbiAgICAvLyBob21lcGFnZVxuICAgIEBpbXBvcnQgJ2hvbWVwYWdlL2hvbWVwYWdlJztcblxuICAgIC8vIGxheWVyZWRcbiAgICBAaW1wb3J0ICdsYXllcmVkL2xheWVyZWQnO1xuXG4gICAgLy8gZmxleGlibGVcbiAgICBAaW1wb3J0ICdmbGV4aWJsZS9mbGV4aWJsZSc7XG5cbiAgICAvLyBkZWdyZWUgcHJvZ3JhbXNcbiAgICBAaW1wb3J0ICdwcm9ncmFtcy9wcm9ncmFtcyc7XG5cbiAgICAvLyBmYWNpbGl0aWVzL3BsYWNlc1xuICAgIEBpbXBvcnQgJ3BsYWNlcy9wbGFjZXMnO1xuXG4gICAgLy8gcG9zdHNcbiAgICBAaW1wb3J0ICdwb3N0cy9wb3N0cyc7XG5cbiAgICAvLyBzdHVkZW50IG9yZ2FuaXphdGlvbnNcbiAgICBAaW1wb3J0ICdzdHVkZW50LW9yZ3Mvc3R1ZGVudC1vcmdzJztcblxuICAgIC8vIDQwNFxuICAgIEBpbXBvcnQgJzQwNCc7XG5cbiAgICAvLyBmb290ZXJcbiAgICBAaW1wb3J0ICdmb290ZXIvZm9vdGVyJztcbiIsIi8vIHN0eWxlc2hlZXQgOjogaG9tZXBhZ2UgbGF5b3V0IHN0eWxlc2hlZXQgY29tcGlsZXJcblxuICAgIC8vIGNvbnRlbnRcbiAgICBAaW1wb3J0ICdob21lcGFnZS5jb250ZW50JztcblxuICAgIC8vIGJpbGxib2FyZFxuICAgIEBpbXBvcnQgJ2JpbGxib2FyZC9iaWxsYm9hcmQnO1xuXG4gICAgLy8gc2VjdGlvbnNcbiAgICBAaW1wb3J0ICdzZWN0aW9ucy9zZWN0aW9ucyc7XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGhvbWVwYWdlIGxheW91dCArIGNvbnRlbnQgc3R5bGVzXG5cbiAgICAvLyBlbXB0eVxuIiwiLy8gc3R5bGVzaGVldCA6OiBob21lcGFnZSBiaWxsYm9hcmQgc3R5bGVzaGVldCBjb21waWxlclxuXG4gICAgLy8gYmlsbGJvYXJkLmdsb2JhbHNcbiAgICBAaW1wb3J0ICdiaWxsYm9hcmQuZ2xvYmFscyc7XG5cbiAgICAvLyBiaWxsYm9hcmQuaG9tZXBhZ2VcbiAgICBAaW1wb3J0ICdiaWxsYm9hcmQuaG9tZXBhZ2UnO1xuXG4gICAgLy8gYmlsbGJvYXJkLnNsaWRlc1xuICAgIEBpbXBvcnQgJ2JpbGxib2FyZC5zbGlkZXMnO1xuIiwiIiwiLy8gc3R5bGVzaGVldCA6OiBob21lcGFnZSBiaWxsYm9hcmQgc3R5bGVzXG5cbiAgICAvLyBzdHlsZXNcbiAgICAuYmlsbGJvYXJkLWhvbWVwYWdlIHtcblxuICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGNvbG9yOlxuXG4gICAgICAgICAgICAgICAgYWRqdXN0LWNvbG9yKFxuXG4gICAgICAgICAgICAgICAgICAgICRhcHAwNSxcbiAgICAgICAgICAgICAgICAgICAgJGh1ZSAgICAgICAgOiAwJSxcbiAgICAgICAgICAgICAgICAgICAgJHNhdHVyYXRpb24gOiAtMjAlLFxuICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzICA6IC0xJSxcbiAgICAgICAgICAgICAgICAgICAgJGFscGhhICAgICAgOiAtMC4wMDBcblxuICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICBpbWFnZTpcblxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAxNjhkZWcsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDUwJSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRiZy1iYXNlLCAwLjI0NSApIDEwMCVcblxuICAgICAgICAgICAgICAgICksXG5cbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgMTg5ZGVnLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAyMCUsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZzE0MCwgMC4zNDUgKSAxMDAlXG5cbiAgICAgICAgICAgICAgICApLFxuXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgIDQ1ZGVnLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAwJSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRkYXJrLCAwLjIxNSApIDEwMCVcblxuICAgICAgICAgICAgICAgICksXG5cbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGN2bmF2eSwgMC4yMTUgKSAxMDAlXG5cbiAgICAgICAgICAgICAgICApLFxuXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgIDE1NWRlZyxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRnb2xkLCAwLjk5NSApIDAlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGdvbGQsIDAuNzI1ICkgMTAwJVxuXG4gICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKCAwcHggKTtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoIDBweCApO1xuXG4gICAgICAgIC8vIGltYWdlIGNsYXNzXG4gICAgICAgICYuaW1hZ2Uge1xuXG4gICAgICAgICAgICAvLyBhcnR3b3JrXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBwYXR0ZXJuIGNsYXNzXG4gICAgICAgICYucGF0dGVybiB7XG5cbiAgICAgICAgICAgIC8vIGFydHdvcmtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IHJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoIDBweCApIG9wYWNpdHkoIDAuMDg1ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoIDBweCApIG9wYWNpdHkoIDAuMDg1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudSBvcGVuIGNsYXNzXG4gICAgICAgICYuc2l0ZS1tZW51LW9wZW4ge1xuXG4gICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1ciggOHB4ICk7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1ciggOHB4ICk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgLy8gYXJ0d29yayAtPiBibHVyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1ciggOHB4ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoIDhweCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRleHRcbiAgICAgICAgLnRleHQge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4NWVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgLmdvbGQge1xuXG4gICAgICAgICAgICAgICAgZm9udDoge1xuXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRvdCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMzg1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udHJvbHNcbiAgICAgICAgLmFycm93LWNvbnRyb2xzIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICAgICAgYm90dG9tOiAyLjVyZW07XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICB3aWR0aDogOHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNsYXNzIGhvb2tcbiAgICAgICAgLmJpbGxib2FyZC1jb250cm9sIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICBib3R0b206IDIuNXJlbTtcblxuICAgICAgICAgICAgei1pbmRleDogMjAwO1xuXG4gICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBib3R0b206IDE4cmVtO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmLnByZXYtYXJyb3csXG4gICAgICAgICAgICAmLm5leHQtYXJyb3cge1xuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBkaXNhYmxlZFxuICAgICAgICAgICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gc3ZnXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDY1O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBwcmV2LmFycm93XG4gICAgICAgICAgICAmLnByZXYtYXJyb3cge1xuXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDYuNXJlbTtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDVyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBkaXNhYmxlZFxuICAgICAgICAgICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG5leHQuYXJyb3dcbiAgICAgICAgICAgICYubmV4dC1hcnJvdyB7XG5cbiAgICAgICAgICAgICAgICByaWdodDogMi41cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTI1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICByaWdodDogMnJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTI1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTRyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjMxNSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsYWJlbHNcbiAgICAgICAgICAgIC5idXR0b24tbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBiaWxsYm9hcmQuc2xpZGVzXG5cblx0Ly8gc2V0dGluZ3Ncblx0JHNsaWRlX3ZpZXdfdyA6IDEwMHZ3O1xuXHQkc2xpZGVfdmlld19oIDogMTAwdmg7XG5cblx0Ly8gc2xpZGUgVVJMc1xuXHQkYWNhZGVtaWNzX3NsaWRlIDogJy4uL2ltZy9iaWxsYm9hcmRzL2JpbGxib2FyZC4wNy5qcGcnO1xuXG5cdC8vIGNvbG9yIG1vZHNcblx0JGJsdWUtbW9kIDpcblxuXHRcdGFkanVzdC1jb2xvcihcblxuXHRcdFx0JGJsdWUsXG5cdFx0XHQkaHVlICAgICAgICAgIDogMCUsXG5cdFx0XHQkc2F0dXJhdGlvbiA6IC0yJSxcblx0XHRcdCRsaWdodG5lc3MgIDogLTEwJSxcblx0XHRcdCRhbHBoYSAgICAgICAgIDogLTAuMDAwXG5cblx0XHQpXG5cblx0O1xuXG5cdC8vIHN0eWxlc1xuXHQuYmlsbGJvYXJkLXNsaWRlcyB7XG5cblx0XHRAaW5jbHVkZSBmdWxsc2NyZWVuKCBhYnNvbHV0ZSwgMTAwLCB0cnVlLCB2aXNpYmxlICk7XG5cblx0XHRAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cblx0XHR3aWR0aDogYXV0bztcblx0XHRoZWlnaHQ6ICRzbGlkZV92aWV3X2g7XG5cblx0XHRvcGFjaXR5OiAxLjAwMDtcblxuXHRcdHRyYW5zaXRpb246IGFsbCAyNDBtcyBsaW5lYXIgMTYwbXM7XG5cblx0XHQvLyBtZW51IG9wZW4gY2xhc3Ncblx0XHQmLnNpdGUtbWVudS1vcGVuIHtcblxuXHRcdFx0Ly8gY3VzdG9tIHNsaWRlIGNsYXNzXG5cdFx0XHQudWktc2xpZGUtYXJ0aWNsZSB7XG5cblx0XHRcdFx0Ly8gYXJ0d29ya1xuXHRcdFx0XHQuc2xpZGUtYXJ0d29yayB7XG5cblx0XHRcdFx0XHQtd2Via2l0LWZpbHRlcjogYmx1ciggOHB4ICk7XG5cdFx0XHRcdFx0XHRcdFx0ZmlsdGVyOiBibHVyKCA4cHggKTtcblxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGZpbHRlciAyMG1zIGxpbmVhciAwbXM7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQvLyBzbGlkZXMgbGlzdFxuXHRcdC5zbGljay1saXN0IHtcblxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHR6LWluZGV4OiAyMDtcblxuXHRcdFx0d2lkdGg6ICRzbGlkZV92aWV3X3c7XG5cdFx0XHRoZWlnaHQ6ICRzbGlkZV92aWV3X2g7XG5cblx0XHR9XG5cblx0XHQvLyBzbGlkZSBjbGFzc1xuXHRcdC5zbGljay1zbGlkZSB7XG5cblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0ei1pbmRleDogMDtcblxuXHRcdFx0aGVpZ2h0OiAkc2xpZGVfdmlld19oO1xuXG5cdFx0XHQvLyBhY3RpdmVcblx0XHRcdCYuc2xpY2stYWN0aXZlIHtcblxuXHRcdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQvLyBzbGlkZVxuXHRcdC51aS1zbGlkZS1hcnRpY2xlIHtcblxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cblx0XHRcdHdpZHRoOiAkc2xpZGVfdmlld193O1xuXHRcdFx0aGVpZ2h0OiAkc2xpZGVfdmlld19oO1xuXG5cdFx0XHQvLyBjb250YWluZXJcblx0XHRcdC5zbGlkZS1jb250YWluZXIge1xuXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdFx0XHR0b3A6IC0xcmVtO1xuXHRcdFx0XHRyaWdodDogLTFyZW07XG5cdFx0XHRcdGJvdHRvbTogLTFyZW07XG5cdFx0XHRcdGxlZnQ6IC0xcmVtO1xuXG5cdFx0XHRcdHotaW5kZXg6IDEwO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuXHRcdFx0XHR3aWR0aDogY2FsYyggMTAwdncgKyAycmVtICk7XG5cdFx0XHRcdGhlaWdodDogY2FsYyggMTAwdmggKyAycmVtICk7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMXJlbTtcblxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBhcnR3b3JrXG5cdFx0XHQuc2xpZGUtYXJ0d29yayB7XG5cblx0XHRcdFx0QGluY2x1ZGUgZnVsbHNjcmVlbiggYWJzb2x1dGUsIDAsIGZhbHNlLCB2aXNpYmxlICk7XG5cblx0XHRcdFx0LXdlYmtpdC1maWx0ZXI6IGJsdXIoIDBweCApO1xuXHRcdFx0XHRcdFx0ZmlsdGVyOiBibHVyKCAwcHggKTtcblxuXHRcdFx0XHR0cmFuc2l0aW9uOiBmaWx0ZXIgNDBtcyBsaW5lYXIgMTIwbXM7XG5cblx0XHRcdFx0Ly8gZGFya1xuXHRcdFx0XHQuZGFyayB7XG5cblx0XHRcdFx0XHR6LWluZGV4OiAyMDtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGdyYWRpZW50KCA1MmRlZywgJG5pdGUsIDAuMDI1LCAwJSwgJGRhcmssIDEuMDAwLCA3MCUgKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gbGl0ZVxuXHRcdFx0XHQubGl0ZSB7XG5cblx0XHRcdFx0XHR6LWluZGV4OiAxMDtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGdyYWRpZW50KCAwZGVnLCAkbml0ZSwgMC4xMjUsIDIwJSwgJGRhcmssIDEuMDAwLCAxMDAlICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGFydHdvcmtcblx0XHRcdFx0LnNsaWRlLWJpbGxib2FyZCB7XG5cblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cblx0XHRcdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdFx0YmFja2dyb3VuZDoge1xuXG5cdFx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdHNpemU6IGNvdmVyO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBAaW5jbHVkZSBoaWRlO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBncmFkaWVudHNcblx0XHRcdFx0LnNsaWRlLWNvbG9yIHtcblxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0bGVmdDogMDtcblxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gc2xpZGUgY29udGVudFxuXHRcdFx0LnNsaWRlLWNvbnRlbnQtY29udGFpbmVyIHtcblxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0ei1pbmRleDogMTAwO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuXHRcdFx0XHR3aWR0aDogMTAwdnc7XG5cdFx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRcdHBhZGRpbmc6IDIuNXJlbSAyLjVyZW0gMi41cmVtIDIuNXJlbTtcblxuXHRcdFx0XHRAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuXHRcdFx0XHQvLyBtb2JpbGVcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAycmVtIDJyZW0gMnJlbTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gc2xpZGUgY29udGVudFxuXHRcdFx0LnNsaWRlLWNvbnRlbnQge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0QGluY2x1ZGUgZ3JhZGllbnQoXG5cblx0XHRcdFx0XHQxODBkZWcsXG5cdFx0XHRcdFx0JGcxMzUsIDEuMDAwLCAwJSxcblx0XHRcdFx0XHRyZWQsIDEuMDAwLCAxMDAlXG5cblx0XHRcdFx0KTtcblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBjb21tb25cblx0XHRcdC5saW5lLFxuXHRcdFx0LnRleHQsXG5cdFx0XHQuYnV0dG9uLWxpbmsge1xuXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHR6LWluZGV4OiAyMDtcblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBsaW5lLmNvbW1vblxuXHRcdFx0LmxpbmUge1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuXHRcdFx0XHRAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuXHRcdFx0fVxuXG5cdFx0XHQvLyB0ZXh0LnN1YmhlYWRsaW5lXG5cdFx0XHQuc3ViaGVhZGxpbmUge1xuXG5cdFx0XHRcdG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAwO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuNzVyZW0sIDQwMCApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIHR5cG8oIDFyZW0sIDAuMjQ1cmVtICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgY29sb3IoICRnb2xkLCAwLjAwMCApO1xuXG5cdFx0XHRcdC8vIG1vYmlsZVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtIGRvd24gKSB7XG5cblx0XHRcdFx0XHRtYXJnaW46IDAgMCAxcmVtIDA7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIG1vYmlsZVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0XHQvLyB0ZXh0LmhlYWRsaW5lXG5cdFx0XHQuaGVhZGxpbmUge1xuXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWgtcy12LWIoIGZhbHNlICk7XG5cblx0XHRcdFx0bWFyZ2luOiAwIDAgMC43NXJlbSAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAwO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDRyZW0sIDQwMCApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIHR5cG8oIDNyZW0sIDAuMDY1ZW0gKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDQ4MG1zICRvcXVpbiAxMjBtcztcblxuXHRcdFx0XHQvLyBtb2JpbGVcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoIG1lZGl1bSBkb3duICkge1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgdHlwbyggMnJlbSwgMC4wNjVlbSApO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBtb2JpbGVcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAycmVtLCA0MDAgKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gdGV4dC5kZXNjcmlwdGlvblxuXHRcdFx0LmRlc2NyaXB0aW9uIHtcblxuXHRcdFx0XHRtYXJnaW46IDAuNzVyZW0gMCAwIDA7XG5cblx0XHRcdFx0QGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgdGV4dCggbm9uZSApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIHR5cG8oIDEuMzc1cmVtLCAwLjAzNWVtICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjEyNSApO1xuXG5cdFx0XHRcdC8vIG1vYmlsZVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuXHRcdFx0XHRcdC8vIGxpbmUgYnJlYWtzXG5cdFx0XHRcdFx0YnIge1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBoaWRlO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBidXR0b25cblx0XHRcdC5idXR0b24tbGluayB7XG5cblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggdHJ1ZSApO1xuXG5cdFx0XHRcdGhlaWdodDogNHJlbTtcblx0XHRcdFx0bWFyZ2luOiAxLjVyZW0gMCAwIDA7XG5cdFx0XHRcdHBhZGRpbmc6IDAuMDYyNXJlbSAxLjVyZW0gMCAxLjVyZW07XG5cblx0XHRcdFx0QGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgdGV4dCggJHVwICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgdHlwbyggMC42ODc1cmVtLCAwLjA0NWVtICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgM3JlbSwgYmxhY2ssIDAuMTY1ICk7XG5cblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdC8vIGhvdmVyIHN0YXRlXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMsXG5cdFx0XHRcdCY6YWN0aXZlIHtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjg2NSApO1xuXG5cdFx0XHRcdFx0Ly8gY29ybmVyc1xuXHRcdFx0XHRcdC5jb3JuZXJzIHtcblxuXHRcdFx0XHRcdFx0Ly8gY29tbW9uXG5cdFx0XHRcdFx0XHQmLnJpZ2h0LFxuXHRcdFx0XHRcdFx0Ji5sZWZ0IHtcblxuXHRcdFx0XHRcdFx0XHQvLyBsaW5lc1xuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cblx0XHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMTIwbXMgJG9jaXJjIDBtcztcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ly8gbGVmdFxuXHRcdFx0XHRcdFx0Ji5sZWZ0IHtcblxuXHRcdFx0XHRcdFx0XHQvLyB0b3Bcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQvLyBib3R0b21cblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAzMG1zO1xuXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyByaWdodFxuXHRcdFx0XHRcdFx0Ji5yaWdodCB7XG5cblx0XHRcdFx0XHRcdFx0Ly8gdG9wXG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBtcztcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Ly8gYm90dG9tXG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMzBtcztcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gY29ybmVyc1xuXHRcdFx0XHQuY29ybmVycyB7XG5cblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXG5cdFx0XHRcdFx0ei1pbmRleDogMDtcblxuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xuXG5cdFx0XHRcdFx0Ly8gbGVmdFxuXHRcdFx0XHRcdCYubGVmdCB7XG5cblx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cblx0XHRcdFx0XHRcdC8vIGNvbW1vblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyB0b3Bcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdFx0XHR0b3A6IDA7XG5cblx0XHRcdFx0XHRcdFx0d2lkdGg6IDAuNXJlbTtcblxuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBtcztcblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyBib3R0b21cblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMC41cmVtO1xuXG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMzBtcztcblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gcmlnaHRcblx0XHRcdFx0XHQmLnJpZ2h0IHtcblxuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cblx0XHRcdFx0XHRcdC8vIGNvbW1vblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblxuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblxuXHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdDogbm9uZTtcblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyB0b3Bcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdFx0XHR0b3A6IDA7XG5cblx0XHRcdFx0XHRcdFx0d2lkdGg6IDAuNXJlbTtcblxuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBtcztcblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyBib3R0b21cblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMC41cmVtO1xuXG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMzBtcztcblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gbGluZXNcblx0XHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0XHQmOmFmdGVyIHtcblxuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdFx0XHRcdFx0d2lkdGg6IDAuNXJlbTtcblx0XHRcdFx0XHRcdGhlaWdodDogMC41cmVtO1xuXG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ29sZDtcblxuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDI0MG1zICRvY2lyYyAwbXM7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuIiwiLy8gc3R5bGVzaGVldCA6OiBob21lcGFnZSBzZWN0aW9ucyBzdHlsZXNoZWV0IGNvbXBpbGVyXG5cbiAgICAvLyBzZWN0aW9uLmdsb2JhbHNcbiAgICBAaW1wb3J0ICdzZWN0aW9uLmdsb2JhbHMnO1xuXG4gICAgLy8gc2VjdGlvbi5hbHVtbmlcbiAgICBAaW1wb3J0ICdzZWN0aW9uLmFsdW1uaSc7XG5cbiAgICAvLyBzZWN0aW9uLmFjYWRlbWljc1xuICAgIEBpbXBvcnQgJ3NlY3Rpb24uZGVncmVlLnByb2dyYW1zJztcblxuICAgIC8vIHNlY3Rpb24ucmVzZWFyY2hcbiAgICBAaW1wb3J0ICdzZWN0aW9uLnJlc2VhcmNoJztcblxuICAgIC8vIHNlY3Rpb24ucGxhY2VzXG4gICAgQGltcG9ydCAnc2VjdGlvbi5wbGFjZXMnO1xuXG4gICAgLy8gc2VjdGlvbi5ldmVudHNcbiAgICBAaW1wb3J0ICdzZWN0aW9uLmV2ZW50cyc7XG5cbiAgICAvLyBzZWN0aW9uLm5ld3NcbiAgICBAaW1wb3J0ICdzZWN0aW9uLm5ld3MnO1xuIiwiLy8gc3R5bGVzaGVldCA6OiBnbG9iYWwgaG9tZXBhZ2Ugc2VjdGlvbiBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHNlY3Rpb25fd2lkdGggIDogMTAwdnc7XG4gICAgJHNlY3Rpb25faGVpZ2h0IDogMTAwdmg7XG5cbiAgICAkc2VjdGlvbl93aWR0aF9leCAgOiBjYWxjKCAxMDB2dyArIDJyZW0gKTtcbiAgICAkc2VjdGlvbl9oZWlnaHRfZXggOiBjYWxjKCAxMDB2aCArIDJyZW0gKTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC51aS1hcnRpY2xlIHtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGNvbG9yOlxuXG4gICAgICAgICAgICAgICAgYWRqdXN0LWNvbG9yKFxuXG4gICAgICAgICAgICAgICAgICAgICRhcHAwNSxcbiAgICAgICAgICAgICAgICAgICAgJGh1ZSAgICAgICAgICA6IDAlLFxuICAgICAgICAgICAgICAgICAgICAkc2F0dXJhdGlvbiA6IC0yMCUsXG4gICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3MgIDogLTElLFxuICAgICAgICAgICAgICAgICAgICAkYWxwaGEgICAgICAgICA6IC0wLjAwMFxuXG4gICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1lbnUgb3BlbiBzdGF0ZVxuICAgICAgICAuc2l0ZS1tZW51LW9wZW4gJiB7XG5cbiAgICAgICAgICAgIC8vIHRvcCBsZXZlbCBjbGFzc1xuICAgICAgICAgICAgLmFydGljbGUtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKCA4cHggKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1ciggOHB4ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGFpbmVyXG4gICAgICAgIC5hcnRpY2xlLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKCAwcHggKTtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKCAwcHggKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAmLmhhcy1jb250ZW50LWxheWVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2cmVtO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDQwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMXJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jb250ZW50LWxheWVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb250ZW50LWJvdHRvbSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJhc2VcbiAgICAgICAgLnNlY3Rpb24tYmFzZSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGxzY3JlZW4oIGFic29sdXRlLCAyMCwgZmFsc2UsIGhpZGRlbiApO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDEuMDAwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aXRsZVxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAyLjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xMzVlbTtcblxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwLCBjZW50ZXIgKTtcblxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgICAmLmJvdHRvbSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDIuNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjc1cmVtLCAwLjEzNWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBmb28gYmFyIHlvdVxuICAgICAgICAuY29udGVudC1zdHJpcCB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgei1pbmRleDogNTA7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnJlbTtcblxuICAgICAgICAgICAgJi53aGl0ZSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4xMDUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBtYWluIGNvbnRlbnRcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGxzY3JlZW4oIGFic29sdXRlLCA1MCwgZmFsc2UsIGhpZGRlbiApO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBib3R0b207XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjVyZW0sIDAuMDg1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk0NSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC40MjUgKTtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1haW4ge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWotaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ3cmVtO1xuXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mZWF0dXJlIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIxcmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNhcmRzIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcblxuICAgICAgICAgICAgICAgICAgICAuY2FyZC1hcnJheSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuY2FyZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbSAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNpZGViYXIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogYWx1bW5pIHNlY3Rpb24gbGF5b3V0ICsgY29udGVudCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHNlY3Rpb25fY29sb3IgOiB0cmFuc3BhcmVudGl6ZSggJG9yYW5nZSwgMC4zMjUgKTtcblxuICAgIC8vIHNsaWRlc1xuICAgICRzbGlkZV92aWV3X3cgOiAxMDB2dztcbiAgICAkc2xpZGVfdmlld19oIDogMTAwdmg7XG5cbiAgICAvLyBzdHlsZXNcbiAgICAuc2VjdGlvbi10ZXN0aW1vbmlhbCB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gNXJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMnJlbSAycmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjY4NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC41cmVtLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpbWFnZVxuICAgICAgICAgICAgLmltYWdlLWxheWVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGxzY3JlZW4oIGFic29sdXRlLCBpbmhlcml0LCBmYWxzZSwgaGlkZGVuICk7XG5cbiAgICAgICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgICAgICAubGF5ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGxzY3JlZW4oIGFic29sdXRlLCBpbmhlcml0LCBmYWxzZSwgaGlkZGVuICk7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYmx1clxuICAgICAgICAgICAgICAgIC5ibHVyIHtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKCAxMDB2aCAtIDIzcmVtICkgNC41cmVtIDQuNXJlbSA0LjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGlwOiBjb250ZW50LWJveDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKCAxMDB2aCAtIDE4LjVyZW0gKSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZGVzaWduXG4gICAgICAgICAgICAuZGVzaWduLWxheWVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGxzY3JlZW4oIGFic29sdXRlLCBpbmhlcml0LCBmYWxzZSwgaGlkZGVuICk7XG5cbiAgICAgICAgICAgICAgICAvLyBmeC5sYXllcnNcbiAgICAgICAgICAgICAgICAuZngtbGF5ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGxzY3JlZW4oIGFic29sdXRlLCBpbmhlcml0LCBmYWxzZSwgaGlkZGVuICk7XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjb2xvciArIGdyYWRpZW50XG4gICAgICAgICAgICAgICAgLmNvbG9yLWxheWVyIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyM2RlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRuaXRlLCAwLjIxNSApIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGRhcmssIDAuNzY1ICkgNjAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJG9yYW5nZSwgMC4zNDUgKSAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29udGFpbmVyXG4gICAgICAgICAgICAuY29udGVudC1sYXllciB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc2xpZGVyIGJhc2VcbiAgICAgICAgICAgIC50aXRsZS1sYXllciB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDFyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAwLjc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4xNjVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRvcmFuZ2UsIDAuMDAwICk7XG5cblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc2xpZGVyXG4gICAgICAgICAgICAuc2xpZGVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHJlbSAzcmVtIDNyZW0gM3JlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjA5NSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxLjVyZW0sIDRyZW0sIGJsYWNrLCAwLjMxNSApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAuc2xpZGUtdGV4dCB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDNyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS4zNzVyZW0sIDUwMCwgaXRhbGljICk7XG5cbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMTg1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDAuODc1cmVtLCA1MDAsIGl0YWxpYyApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMjVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHF1b3RlXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDIwMWMnO1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IC0xLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMTByZW0sIDcwMCwgaXRhbGljICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRvcmFuZ2UsIDAuNjg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDdyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG1ldGFcbiAgICAgICAgICAgIC5zbGlkZS1tZXRhIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEuMDAwO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBhdHRyaWJ1dGlvblxuICAgICAgICAgICAgICAgIC5zbGlkZS1jaXRhdGlvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIG5vcm1hbCwgbm9ybWFsICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM1ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogOTAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgZW0ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC41NjI1cmVtLCA3MDAsIG5vcm1hbCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC43NXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4yMTUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBidXR0b25cbiAgICAgICAgICAgICAgICAuc2xpZGUtYnV0dG9uIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMS41cmVtIDAgMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAsIGNlbnRlciApO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjI4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIGRhcmtlbiggJG9yYW5nZSwgNy41JSApLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogYWNhZGVtaWNzIHNlY3Rpb24gbGF5b3V0ICsgY29udGVudCBzdHlsZXNcblxuICAgIC8vIHN0eWxlc1xuICAgIC5zZWN0aW9uLWFjYWRlbWljcyB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMnJlbSwgN3JlbSwgYmxhY2ssIDAuNjI1ICk7XG5cbiAgICAgICAgLy8gbWVudSBvcGVuIHN0YXRlXG4gICAgICAgICYuc2l0ZS1tZW51LW9wZW4ge1xuXG4gICAgICAgICAgICAvLyBjb250ZW50XG4gICAgICAgICAgICAuc2VjdGlvbi1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDAwO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb21tb25cbiAgICAgICAgLnNlY3Rpb24taW1hZ2UsXG4gICAgICAgIC5zZWN0aW9uLWJhc2Uge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgLnNlY3Rpb24taW1hZ2Uge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAvLyBpbWFnZTogdXJsKC4uL2ltZy9iaWxsYm9hcmRzL2JpbGxib2FyZC4zNS5qcGcpO1xuICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjcyNTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29sb3IgYmFzZVxuICAgICAgICAuc2VjdGlvbi1iYXNlIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMjE1ICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQwbXMgbGluZWFyIDE2MG1zO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDZyZW0gMnJlbSAxcmVtIDJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludCg0MGVtKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogODB2aDtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDRyZW0gMTByZW0gNHJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0ZXh0XG4gICAgICAgIC50ZXh0LWxheWVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBpbmhlcml0LCBjZW50ZXIgKTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAwIDAgMDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgLmxheWVyLXRpdGxlIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDIuMjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAycmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgLmxheWVyLXRleHQge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjI1cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGlua3NcbiAgICAgICAgLmxpbmtzLWxheWVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYnV0dG9uXG4gICAgICAgICAgICAubGF5ZXItbGluayB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLWUoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtIDAgMXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtIDEuNXJlbSAxLjVyZW0gMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRtaWRuaXRlLCAwLjM2NSApO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjMyNSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMyMG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTE1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBvcGFjaXR5KCAwLjgxNSApIGdyYXlzY2FsZSggMC4wMDAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBvcGFjaXR5KCAwLjgxNSApIGdyYXlzY2FsZSggMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKCAxLjI1LCAxLjI1LCAxLjI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJG5pdGUsIDAuNjQ1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHkoIDAuNTQ1ICkgZ3JheXNjYWxlKCAwLjAwMCApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogb3BhY2l0eSggMC41NDUgKSBncmF5c2NhbGUoIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKCAxLCAxLCAxICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRkYXJrLCAwLjU2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGcxNDAsIDAuMjY1LCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAxLjAwMCwgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgc3BhbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHVuZGVyZ3JhZHVhdGVcbiAgICAgICAgICAgICN1bmRlcmdyYWR1YXRlLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2U6IHVybCguLi9pbWcvZGVncmVlLnByb2dyYW1zL2RlZ3JlZS5wcm9ncmFtcy51bmRlcmdyYWR1YXRlLmpwZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZ3JhZHVhdGVcbiAgICAgICAgICAgICNncmFkdWF0ZS1saW5rIHtcblxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGltYWdlOiB1cmwoLi4vaW1nL2RlZ3JlZS5wcm9ncmFtcy9kZWdyZWUucHJvZ3JhbXMuZ3JhZHVhdGUuanBnKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZHZtXG4gICAgICAgICAgICAjZHZtLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2U6IHVybCguLi9pbWcvZGVncmVlLnByb2dyYW1zL2RlZ3JlZS5wcm9ncmFtcy5kdm0uanBnKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGFjYWRlbWljcyBzZWN0aW9uIGxheW91dCArIGNvbnRlbnQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRzZWN0aW9uX2NvbG9yIDogdHJhbnNwYXJlbnRpemUoICRjdm5hdnksIDAuMTQ1ICk7XG5cbiAgICAvLyBzdHlsZXNcbiAgICAuc2VjdGlvbi1yZXNlYXJjaCB7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJHNlY3Rpb25fY29sb3IsIDAuMDAwICk7XG5cbiAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWdyaWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgLW1zLWdyaWQtcm93czogYXV0bztcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcbiAgICAgICAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIC1tcy1ncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC40NjUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludCg0MGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAyO1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250ZW50XG4gICAgICAgICZfX2NvbnRlbnQge1xuXG4gICAgICAgICAgICAtbXMtZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDEuMDAwICk7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkYmx1ZSwgMC41ODUgKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDgwJVxuXG4gICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQoNDBlbSkge1xuICAgICAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA3MHZoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjI2NSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBoZWFkbGluZVxuICAgICAgICAgICAgLmhlYWRsaW5lIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2ZWxsb3csIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgLnRleHQge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBub25lICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkcml0ZS1saXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAgICAgLmN0YSB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRlbnQtYnV0dG9uIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjc1cmVtLCAwLjEzNWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45ODUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgNHJlbSwgYmxhY2ssIDAuMzg1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGZhY2lsaXRpZXMgc2VjdGlvbiBsYXlvdXQgKyBjb250ZW50IHN0eWxlc1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLnNlY3Rpb24tcGxhY2VzIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4xODUgKTtcbiAgICAgICAgYmFja2dyb3VuZDogI2JjNGMyZDsgLy8gJHJvYXJhbmdlIHdpdGggLjgxNSBvcGFjaXR5IG92ZXIgJGFwcDA1XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgIC8vIDE4MGRlZyxcbiAgICAgICAgICAgIC8vICRjdm5hdnksIDAuMDAwLCAwJSxcbiAgICAgICAgICAgIC8vIHRyYW5zcGFyZW50LCAxLjAwMCwgMTAwJVxuXG4gICAgICAgIC8vICk7XG5cbiAgICAgICAgLy8gYmlsbGJvYXJkXG4gICAgICAgIC5zZWN0aW9uLWltYWdlIHtcblxuICAgICAgICAgICAgLy8gY29udGVudDogJyc7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAvLyBpbWFnZTogdXJsKC4uL2ltZy9iaWxsYm9hcmRzL2JpbGxib2FyZC4xMC5qcGcpO1xuICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMjE1O1xuXG4gICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA3MjBtcyAkb2NpcmMgMG1zO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250YWluZXJcbiAgICAgICAgJl9faW5uZXIge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW0gMXJlbSAxcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQoNDBlbSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gNHJlbSA0cmVtIDRyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRpdGxlXG4gICAgICAgICZfX2hlYWRpbmcge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYiggZmFsc2UgKTtcblxuICAgICAgICAgICAgLy8gaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS41cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4yNXJlbSwgMC4xMzVlbSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgdGV4dCggJHVwLCBsZWZ0ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHRvcDogMC41cmVtO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMC4yNXJlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAudGl0bGUtbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIC0xLjVyZW0sIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgIC50aXRsZS1saW5rIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1lLXYtYiggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42ODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNXJlbSwgMC4wNzVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvZGljb24oIDFyZW0sIDIuMjVyZW0sIDEuMjVyZW0gMCAwIDAsIDFyZW0sIHdoaXRlLCAnXFxFREM4JyApO1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggLTJyZW0sIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmX19kZXNjIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSAxcmVtIDA7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIGdyaWRcbiAgICAucGxhY2VzX19ncmlkIHtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgLy8gYXJ0aWNsZVxuICAgICAgICAmLWl0ZW0ge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG5cbiAgICAgICAgICAgIGhlaWdodDogMjByZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNHZ3O1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDFyZW0gMXJlbSAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcblxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDEuNXJlbSwgNHJlbSwgYmxhY2ssIDAuNjE1ICk7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI0MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAvLyBhcnR3b3JrXG4gICAgICAgICAgICAgICAgLnRodW1iLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5KCAwLjU2NSApXG5cbiAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjpcblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSggMC44NjUgKVxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoIDEuMTUsIDEuMTUsIDEuMTUgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG9jaXJjIDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAudGh1bWItb3ZlcmxheSB7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3BhY2l0eTogMC45MjU7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgICAgICBoZWFkZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDMwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtZSggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgICAgICAgICAgLnBsYWNlLXRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAucGxhY2UtbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb2NpcmMgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgICAgICAucGxhY2UtdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAtMXJlbSwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgICAgIC5wbGFjZS1saW5rIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEuMDAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAtMXJlbSwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgIC50aHVtYi1hcnR3b3JrLFxuICAgICAgICAgICAgLnRodW1iLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFydHdvcmtcbiAgICAgICAgICAgIC50aHVtYi1hcnR3b3JrIHtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOlxuXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkoIDEuMDAwIClcbiAgICAgICAgICAgICAgICAgICAgZ3JheXNjYWxlKCAwLjAwMCApXG5cbiAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgICAgICBmaWx0ZXI6XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSggMS4wMDAgKVxuICAgICAgICAgICAgICAgICAgICBncmF5c2NhbGUoIDAuMDAwIClcblxuICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCggMSwgMSwgMSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gb3ZlcmxheVxuICAgICAgICAgICAgLnRodW1iLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkcm9hcmFuZ2UsIDAuMzQ1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAxODBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGN2bmF2eSwgMC4wMDAsIDgwJVxuXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC45MjU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgIGhlYWRlciB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLWUoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW0gMnJlbSA0cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgIC5wbGFjZS10aXRsZSxcbiAgICAgICAgICAgICAgICAucGxhY2UtbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb2NpcmMgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAgICAgLnBsYWNlLXRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuMTg3NWVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuMjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCwgcmlnaHQgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRyaXRlLWxpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgLnBsYWNlLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICByaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42ODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjc1cmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAycmVtLCAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGV2ZW50cyBzZWN0aW9uIGxheW91dCArIGNvbnRlbnQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRldmVudHNfZnggOiBhbGwgMzIwbXMgJG9xdWluIDBtcztcbiAgICAvLyAkc2VjdGlvbl9jb2xvciA6IHRyYW5zcGFyZW50aXplKCAkbml0ZSwgMC4zODUgKTtcbiAgICAkc2VjdGlvbl9jb2xvciA6IHRyYW5zcGFyZW50aXplKCAkYmVpZ2UsIDAuMjQ1ICk7XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjZXZlbnRzIHtcblxuICAgICAgICAuc2VjdGlvbi1iYXNlIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHNlY3Rpb25fY29sb3IsIDAuMDAwICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcblxuICAgICAgICAgICAgY29sb3I6ICRnMTM1O1xuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogbmV3cyBzZWN0aW9uIGxheW91dCArIGNvbnRlbnQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRzZWN0aW9uX2NvbG9yIDogdHJhbnNwYXJlbnRpemUoICRiZWlnZSwgMC4wODUgKTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC5zZWN0aW9uLW5ld3Mge1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRzZWN0aW9uX2NvbG9yLCAwLjAwMCApO1xuXG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbSAwcmVtIDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgcGFkZGluZzogNXJlbSA0cmVtIDVyZW0gNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRpdGxlXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LWIoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtIDFyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjI1cmVtLCAwLjEzNWVtICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZGFyaywgMC4xMjUgKTtcblxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS41cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCwgbGVmdCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBib3R0b206IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIGxpZ2h0ZW4oICRnMTQwLCA3LjUlICksIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgIC50aXRsZS1saW5rIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGRhcmssIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggLTEuNXJlbSwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgLnRpdGxlLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1iKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjY4NzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC41cmVtLCAwLjA3NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGRhcmssIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMi4yNXJlbSwgMS4yNXJlbSAwIDAgMCwgMXJlbSwgJGRhcmssICdcXEVEQzgnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAtMnJlbSwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNvdXJjZSBmZWVkXG4gICAgICAgIC5zb3VyY2UtZmVlZCB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYXJ0aWNsZVxuICAgICAgICAgICAgLmFydGljbGUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMTg1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDEuNXJlbSwgNHJlbSwgYmxhY2ssIDAuNjE1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjQwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtIDJyZW0gMXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAtIDJyZW0gIC0gLjFweCk7IC8vIHJlbW92ZSAuMXB4IHRvIGZpeCBJRSBub3QgY2FsY3VsYXRpbmcgcGVyY2VudGFnZXMgdGhlIHNhbWUgYXMgcmVhbCBicm93c2Vyc1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbSAwIDFyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAtMXJlbSwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGhlYWRlclxuICAgICAgICAgICAgICAgICAgICAuaGVhZGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjpcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmF5c2NhbGUoIDAuMDAwIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSggMS4wMDAgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBoZWFkZXJcbiAgICAgICAgICAgICAgICAuaGVhZGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2MCU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoIDAuMDAwICkgb3BhY2l0eSggMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY29udGVudFxuICAgICAgICAgICAgICAgIC5jb250ZW50IHtcblxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuNXJlbSwgMC4wMjVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGcxNDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICAgICAgcCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4yNXJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9pbDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIucGFnZS10ZW1wbGF0ZS1sYXllcmVkLXBhZ2Uge1xuXHRiYWNrZ3JvdW5kOiAkc2VjX3RlbXBfb2ZmX3doaXRlO1xuXHRjb2xvcjogJHN0ZWVsO1xuXHRmb250LXNpemU6IDFyZW07XG5cblx0LmJnLS1ub25lICsgLmJnLS1ub25lIHtcblx0XHRwYWRkaW5nLXRvcDogY2FsYyg4dncgLSA1ZW0pO1xuXHR9XG5cblx0Ly8gbmVzdGVkIGltYWdlc1xuICAgIC5hbGlnbmxlZnQsXG4gICAgLmFsaWducmlnaHQge1xuXG4gICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgfVxuXG4gICAgLy8gbGVmdFxuICAgIC5hbGlnbmxlZnQge1xuXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIG1hcmdpbjogMCAxLjc1cmVtIDAuNzVyZW0gMDtcblxuICAgIH1cblxuICAgIC8vIHJpZ2h0XG4gICAgLmFsaWducmlnaHQge1xuXG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBtYXJnaW46IDAgMCAwLjc1cmVtIDEuNzVyZW07XG5cbiAgICB9XG5cbn1cbiIsIi8vIHN0eWxlc2hlZXQgOjogZmxleGlibGUgcGFnZSB0ZW1wbGF0ZSBzdHlsZXNcblxuXHQvLyBzZXR0aW5nc1xuXHQkcGFnZWJhc2UgOiAjRTVFN0U3O1xuXG5cdC8vIHN0eWxlc1xuXHQucGFnZS10ZW1wbGF0ZS1mbGV4aWJsZS1wYWdlIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHQvLyBiYWNrZ3JvdW5kOiAkc2VjX3RlbXBfb2ZmX3doaXRlO1xuXHRcdGNvbG9yOiAkc3RlZWw7XG5cblx0XHQuY29udGVudC1hcmVhIHtcblxuXHRcdFx0ZmxleC1ncm93OiAxO1xuXG5cdFx0XHRAaW5jbHVkZSBmaWxsKCAkcGFnZWJhc2UsIDAuMDAwICk7XG5cblx0XHR9XG5cblx0XHQvLyBjb250YWluZXJcblx0XHQuZmxleGlibGUtcGFnZS1jb250ZW50IHtcblxuXHRcdFx0Ly8gcGFkZGluZzogMnJlbSAwIDJyZW0gMDtcblx0XHRcdHBhZGRpbmc6IDAgMCAycmVtIDA7XG5cblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblxuXHRcdH1cblxuXHRcdC50ZW1wbGF0ZS1ibG9jayB7XG5cblx0XHRcdHBhZGRpbmc6IDJyZW0gOHZ3IDJyZW0gOHZ3O1xuXG5cdFx0XHQvLyBtb2JpbGVcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG5cdFx0XHRcdHBhZGRpbmc6IDFyZW0gMnJlbSAxcmVtIDJyZW07XG5cblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblxuXHRcdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogMS4yNWVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHR9XG5cblx0XHRcdCZfX2lubmVyIHtcblxuXHRcdFx0XHRtYXgtd2lkdGg6IDc1cmVtO1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0LnRlbXBsYXRlLXRpdGxlIHtcblxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS42cmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHR9XG5cblx0XHQuZmxleGlibGUtcXVvdGUge1xuXG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMS41ZW0gLjI1ZW0gcmdiYShibGFjaywgLjIpO1xuXHRcdFx0Ly8gbWFyZ2luOiAyLjVlbSAwO1xuXHRcdFx0YmFja2dyb3VuZDogJHNlY190ZW1wX2dyZXk7XG5cdFx0XHRwYWRkaW5nOiA2dncgOHZ3O1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQoKSB7XG5cblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0LmNvbnRhY3QtZ3JvdXAge1xuXG5cdFx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblxuXHRcdFx0XHRtYXJnaW4tdG9wOiAyZW07XG5cblx0XHRcdH1cblxuXHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyZW07XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC8vIGN0YXNcblx0XHQuY3Rhcy13aXRoLWltYWdlIHtcblxuXHRcdFx0cGFkZGluZzogMnJlbSA4dncgMnJlbSA4dnc7XG5cblx0XHRcdC8vIG1vYmlsZVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cblx0XHRcdFx0cGFkZGluZzogMCAycmVtIDFyZW0gMnJlbTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ly8gbmVzdGVkIGltYWdlc1xuXHQgICAgLmFsaWdubGVmdCxcblx0ICAgIC5hbGlnbnJpZ2h0IHtcblxuXHQgICAgICAgIGNsZWFyOiBib3RoO1xuXG5cdCAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cblx0ICAgIH1cblxuXHQgICAgLy8gbGVmdFxuXHQgICAgLmFsaWdubGVmdCB7XG5cblx0ICAgICAgICBmbG9hdDogbGVmdDtcblxuXHQgICAgICAgIG1hcmdpbjogMCAxLjc1cmVtIDAuNzVyZW0gMDtcblxuXHQgICAgfVxuXG5cdCAgICAvLyByaWdodFxuXHQgICAgLmFsaWducmlnaHQge1xuXG5cdCAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG5cdCAgICAgICAgbWFyZ2luOiAwIDAgMC43NXJlbSAxLjc1cmVtO1xuXG5cdCAgICB9XG5cblx0fVxuIiwiLy8gc3R5bGVzaGVldCA6OiBjb250ZW50IHN0eWxlc2hlZXQgY29tcGlsZXJcblxuICAgIC8vIGFyY2hpdmVcbiAgICBAaW1wb3J0ICdhcmNoaXZlJztcbiAgICBAaW1wb3J0ICdncmlkJztcblxuICAgIC8vIHNpbmdsZVxuICAgIEBpbXBvcnQgJ3NpbmdsZSc7XG4gICAgQGltcG9ydCAnaGVhZGVyJztcbiAgICBAaW1wb3J0ICdpbnRybyc7XG4gICAgQGltcG9ydCAnZGVwYXJ0bWVudCc7XG4gICAgQGltcG9ydCAnZmFjdHMnO1xuICAgIEBpbXBvcnQgJ2NhcmVlcnMnO1xuICAgIEBpbXBvcnQgJ2VtcGxveWVycyc7XG4gICAgQGltcG9ydCAncmVzZWFyY2gnO1xuICAgIEBpbXBvcnQgJ29yZ3MnO1xuICAgIEBpbXBvcnQgJ2ZpbmFuY2lhbCc7XG4gICAgQGltcG9ydCAnbG9jYXRpb24nO1xuICAgIEBpbXBvcnQgJ2FwcC1pbmZvJztcbiAgICBAaW1wb3J0ICdjb250YWN0JztcbiAgICBAaW1wb3J0ICdmYXFzJztcbiAgICBAaW1wb3J0ICdjb250ZW50JztcbiAgICBAaW1wb3J0ICd0cmFpbmluZyc7XG4iLCIucG9zdC10eXBlLWFyY2hpdmUtZGVncmVlX3Byb2dyYW0sXG4ucG9zdC10eXBlLWFyY2hpdmUtcmVzaWRlbmN5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZDogJHNlY190ZW1wX29mZl93aGl0ZTtcblx0Y29sb3I6ICRzdGVlbDtcblx0Zm9udC1zaXplOiAxcmVtO1xuXG5cdC5jb250ZW50LWFyZWEge1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0fVxufVxuXG4uZGVnLXByb2dzLWhlYWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZDogd2hpdGUgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuXHQucG9zdC10eXBlLWFyY2hpdmUtZGVncmVlX3Byb2dyYW0gJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iaWxsYm9hcmRzL2RlZ3JlZXMvZGVncmVlcy5iaWxsYm9hcmQuMDAuanBnKTtcblx0fVxuXG5cdC5wb3N0LXR5cGUtYXJjaGl2ZS1yZXNpZGVuY3kgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iaWxsYm9hcmRzL2RlZ3JlZXMvZGVncmVlcy5iaWxsYm9hcmQuMDEuanBnKTtcblx0fVxuXG5cdC8vIG92ZXJsYXlcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgkY3ZuYXZ5LCAuNzYpO1xuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogNTB2aDtcblx0XHRwYWRkaW5nOiA1cmVtIDh2dyAxLjVyZW07XG5cblx0XHQmID4gKiB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRjb2xvcjogJGN2ZWxsb3c7XG5cdFx0Zm9udC1mYW1pbHk6ICRrbGF2aXNsaW07XG5cdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTE0ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRmb250LXNpemU6IDIuNzVyZW07XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdGZvbnQtc2l6ZTogM3JlbTtcblx0XHR9XG5cdH1cbn1cblxuLmRlZy1wcm9ncy1jb250ZW50IHtcblx0cGFkZGluZzogMS41cmVtIDh2dztcbn1cbiIsIi5kZWctcHJvZ3NfX2dyaWQge1xuXHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblxuXHQmLWl0ZW0ge1xuXHRcdCRibG9jazogJjtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Ym94LXNoYWRvdzogMCAuNWVtIDFlbSAwIHRyYW5zcGFyZW50aXplKCRkYXJrLW5pdGUsIC42MjUpO1xuXHRcdG1hcmdpbi10b3A6IDJlbTtcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXHRcdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHQucG9zdC10eXBlLWFyY2hpdmUtZGVncmVlX3Byb2dyYW0gJiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JpbGxib2FyZHMvZGVncmVlcy9kZWdyZWVzLmJpbGxib2FyZC4wMC5qcGcpO1xuXHRcdH1cblxuXHRcdC5wb3N0LXR5cGUtYXJjaGl2ZS1yZXNpZGVuY3kgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JpbGxib2FyZHMvZGVncmVlcy9kZWdyZWVzLmJpbGxib2FyZC4wMS5qcGcpO1xuXHRcdH1cblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAxZW0pO1xuXG5cdFx0XHQmOm50aC1jaGlsZCgtbisyKSB7IC8vIGZpcnN0IHR3byBpdGVtc1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgLSAoMmVtICogMiAvIDMpICAtIC4xcHgpOyAvLyByZW1vdmUgLjFweCB0byBmaXggSUUgbm90IGNhbGN1bGF0aW5nIHBlcmNlbnRhZ2VzIHRoZSBzYW1lIGFzIHJlYWwgYnJvd3NlcnNcblxuXHRcdFx0JjpudGgtY2hpbGQoLW4rMykge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm5vdCg6bnRoLWNoaWxkKDNuKzEpKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnBvaW50KHdpZGVzY3JlZW4pIHtcblx0XHRcdHdpZHRoOiBjYWxjKDI1JSAtICgyZW0gKiAzIC8gNCkpO1xuXG5cdFx0XHQmOm50aC1jaGlsZCgtbis0KSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCY6bm90KDpudGgtY2hpbGQoM24rMSkpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCY6bm90KDpudGgtY2hpbGQoNG4rMSkpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDJlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHRyYW5zaXRpb246IGFsbCAzNjBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgM21zO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRzZWNfdGVtcF93aGl0ZSwgLjcyKTtcblx0XHRcdHBhZGRpbmctdG9wOiA0MCU7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0XHR0byB0b3AsXG5cdFx0XHRcdFx0cmdiYSgkZGFyaywgLjg1KSAwLFxuXHRcdFx0XHRcdHJnYmEoJGRhcmssIC43KSA1JSxcblx0XHRcdFx0XHRyZ2JhKCRkYXJrLCAuNTUpIDEwJSxcblx0XHRcdFx0XHRyZ2JhKCRkYXJrLCAuNCkgMTUlLFxuXHRcdFx0XHRcdHJnYmEoJGRhcmssIC4yNSkgMjAlLFxuXHRcdFx0XHRcdHJnYmEoJGRhcmssIC4xKSAyNSUsXG5cdFx0XHRcdFx0cmdiYSgkZGFyaywgMCkgNTAlXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cblx0XHRcdCN7ICRibG9jayB9LW5hbWUge1xuXHRcdFx0XHRjb2xvcjogJHNlY190ZW1wX3doaXRlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRkYXJrLCAuOTUpLCByZ2JhKCRkYXJrLCAuODUpKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLW5hbWUge1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDM2MG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSAzbXM7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJHNlY190ZW1wX3doaXRlLCAuNzIpO1xuXHRcdFx0cGFkZGluZzogLjI1ZW0gMWVtIC43NWVtO1xuXHRcdFx0Y29sb3I6ICRnMTM1O1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRrbGF2aXNsaW07XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4xZW07XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdH1cblx0fVxufVxuIiwiLy8gc3R5bGVzaGVldCA6OiBkZWdyZWUgcHJvZ3JhbSBwb3N0IGNvbnRlbnQgc3R5bGVzXG5cbiAgICAucHJvZ3JhbS1ibG9jayB7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNzVlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRkZWdyZWUgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3NpdGUtbGF5b3V0IHtcblxuICAgICAgICAvLyBjb250ZW50IGNvbnRhaW5lclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xuXG4gICAgICAgICAgICAvLyBjbGFzcyBob29rXG4gICAgICAgICAgICAmLnByb2dyYW1zIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMzJyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgICAgICAgICAgLnByb2dyYW1zLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmstbml0ZSwgMC4yNDUgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVkLCAxLjAwMCwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkZGFyaywgMC4wMDAsIDEwMCVcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAucHJvZ3JhbXMtY29udGVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyLjVyZW0gNXJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbWluLWhlaWdodDogY2FsYyggMTAwdmggKyAycmVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRvaWwsIDAuMDAwKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgICAgICAucGFnZS10aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYiggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDIuNXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDNyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjc1cmVtLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGFzdCBjaGlsZFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuZGVncmVlLXByb2dyYW0tY29udGFpbmVyIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1ciggMHB4ICk7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKCAwcHggKTtcblxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgLy8gbWVudSBvcGVuIGNsYXNzXG4gICAgICAgIC5zaXRlLW1lbnUtb3BlbiAmIHtcblxuICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoIDhweCApO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoIDhweCApO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgLnByb2dyYW0tY29udGVudCB7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogOHZ3O1xuXG4gICAgICAgICAgICAvLyBsaXRlXG4gICAgICAgICAgICAmLmxpdGUge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjdm5hdnksIDAuMTY1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBkYXJrXG4gICAgICAgICAgICAmLmRhcmsge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGFwcDA1LCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cblxuXG4gICAgICAgICAgICAvLyBkb2N1bWVudHNcbiAgICAgICAgICAgICYuZG9jdW1lbnRzIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAgICAgICAgIC5kb2N1bWVudC1idXR0b24ge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtIDFyZW0gMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4xODc1cmVtIDNyZW0gMCAxLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjI2NWVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGFsbDIyMDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnb2xkLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggM3JlbSwgM3JlbSwgMXJlbSwgMXJlbSwgd2hpdGUsICdcXEVGM0UnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMC41cmVtIDAuMTI1cmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbmNlbnRyYXRpb25zXG4gICAgICAgICAgICAmLmNvbmNlbnRyYXRpb25zIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDRyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAyLjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA3NWVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAuY29uY2VudHJhdGlvbnMtY29udGVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAuY29uY2VudHJhdGlvbi1idXR0b24ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogLTE7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCA1MCUgLSAycmVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE4cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNnJlbSAycmVtIDRyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjdmVsbG93O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRuZXV0cmFsLCAwLjY2NSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJGN2ZWxsb3csIDAuODY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi10aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b24tdGV4dCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi10aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWIoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjI1cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDc1ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAsIGxlZnQgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAuYnV0dG9uLXRleHQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggaW5oZXJpdCwgbGVmdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjE4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi1idXR0b24ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxLjVyZW0gMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4xMjVyZW0gMi41cmVtIDAgMS4yNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDAuNzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMjY1ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIC8vIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2RpY29uKCAyLjc1cmVtLCAzcmVtLCAxcmVtIDAuNzVyZW0gMXJlbSAxcmVtLCAwLjc1cmVtLCAkY3ZlbGxvdywgJ1xcRURENicgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG1pbm9yc1xuICAgICAgICAgICAgJi5taW5vcnMge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMTg1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbmV1dHJhbCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAuY29udGVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1zKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogOHJlbSAwIDhyZW0gMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHJlbSAxMHZ3IDhyZW0gNnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgICAgIC5taW5vci1kZXNjcmlwdGlvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMzVlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4yMTUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIC5taW5vci1saW5rLWJ1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4xMjVyZW0gMS41cmVtIDAgMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSggJGFwcDA1LCAwLjEyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuNzVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjI2NWVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4xMjUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkYWxsMjIwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGRlc2lnblxuICAgICAgICAgICAgICAgIC5kZXNpZ24tYmxvY2sge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBpbWFnZVxuICAgICAgICAgICAgICAgICAgICAuYXJ0d29yayB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjM2NTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc2ltaWxhciBtYWpvcnNcbiAgICAgICAgICAgICYuc2ltaWxhciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHZ3O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWUoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMnJlbSAwIDEycmVtIDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNHJlbSAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYnV0dG9uXG4gICAgICAgICAgICAgICAgLmJ1dHRvbnMge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtcyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDcwJTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBidXR0b25cbiAgICAgICAgICAgICAgICAgICAgLnNpbWlsYXItbWFqb3ItbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMnJlbSAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMjM1ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCwgY2VudGVyICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIDAxXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKCAxICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gMDJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoIDIgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NTUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAwM1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSggMyApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjkyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb250YWN0c1xuICAgICAgICAgICAgJi5jb250YWN0cyB7XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBsaXN0XG4gICAgICAgICAgICAgICAgLmNvbnRhY3QtbGlzdCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1zdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBjYXJkXG4gICAgICAgICAgICAgICAgICAgIC5jb250YWN0LWNhcmQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjByZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgLy8gb3V0cHV0XG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtb3V0cHV0IHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLmRlZ3JlZS1wcm9ncmFtLWhlYWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZDogd2hpdGUgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuXHQvLyBvdmVybGF5XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoJGN2bmF2eSwgLjc2KTtcblx0fVxuXG5cdCZfX2lubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdG1pbi1oZWlnaHQ6IDYwdmg7XG5cdFx0cGFkZGluZzogNXJlbSA4dncgMS41cmVtO1xuXG5cdFx0JiA+ICoge1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdC8vIG1vYmlsZVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG5cdFx0XHRtaW4taGVpZ2h0OiA1MHZoO1xuXHRcdFx0cGFkZGluZzogNHJlbSAzcmVtIDIuNXJlbSAzcmVtO1xuXG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRjb2xvcjogJGN2ZWxsb3c7XG5cdFx0Zm9udC1mYW1pbHk6ICRrbGF2aXNsaW07XG5cdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTE0ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRmb250LXNpemU6IDIuNzVyZW07XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdGZvbnQtc2l6ZTogM3JlbTtcblx0XHR9XG5cdH1cblxuXHQmX19wYXJlbnQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IC41ZW07XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdGZvbnQtc2l6ZTogLjg3NXJlbTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yODVlbTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0Zm9udC1zaXplOiAuOTM3NXJlbTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0fVxuXHR9XG5cbn1cbiIsIi5kZWdyZWUtcHJvZ3JhbS1pbnRybyB7XG5cdGJhY2tncm91bmQ6ICRzZWNfdGVtcF93aGl0ZTtcblx0cGFkZGluZzogOHZ3O1xuXHRAaW5jbHVkZSBjb2xvciggJGN2bmF2eSwgMC4xNjUgKTtcblxuXHQmX19jb250ZW50IHtcblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdH1cblx0fVxuXG5cdCZfX2lubmVyIHtcblx0XHRtYXgtd2lkdGg6IDc1cmVtO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdFx0Lm5vdGlmaWNhdGlvbi1ib3gge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHQubm90aWZpY2F0aW9uLWJsb2NrIHtcblxuXHRcdFx0bWFyZ2luOiAycmVtIDAgMCAwO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19zaWRlYmFyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdG1hcmdpbi10b3A6IDJlbTtcblxuXHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRtYXJnaW4tbGVmdDogMmVtO1xuXHRcdH1cblx0fVxuXG5cdCZfX2J1dHRvbiB7XG5cdFx0dHJhbnNpdGlvbjogJGFsbDIyMDtcblx0XHRtaW4td2lkdGg6IDE2cmVtO1xuXHRcdG1hcmdpbjogMCAwIC41cmVtIDA7XG5cdFx0YmFja2dyb3VuZDogcmdiYSggJGN2bmF2eSwgLjkgKTtcblx0XHRwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDUwMCApO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjI2NWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdCY6dmlzaXRlZCB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZDogJGJsdWU7XG5cdFx0XHRjb2xvcjogJGN2bmF2eTtcblx0XHR9XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblxuXHQmX19kZXNjIHtcblx0XHRtYXgtd2lkdGg6IDc1ZW07XG5cdFx0QGluY2x1ZGUgZm9udCggJGtsYXZpa2EsIDEuMjVyZW0sIDQwMCApO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA2NWVtO1xuXG5cdFx0JiA+IDpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZ3JpZCB7XG5cdFx0bWFyZ2luLXRvcDogMmVtO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0bWFyZ2luLXRvcDogNHZ3O1xuXHRcdH1cblxuXHRcdCYtdGl0bGUge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0fVxuXG5cdFx0Ji1pbm5lciB7XG5cdFx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtaXRlbSB7XG5cdFx0XHQkYmxvY2s6ICY7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGJveC1zaGFkb3c6IDAgLjVlbSAxZW0gMCB0cmFuc3BhcmVudGl6ZSgkZGFyay1uaXRlLCAuNjI1KTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLXRvcDogMmVtO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3Zlcjtcblx0XHRcdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuXHRcdFx0XHRmb250LXNpemU6IDEuMTI1ZW07XG5cblx0XHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAycmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xuXG5cdFx0XHRcdC5ncmlkLS1zbWFsbCAmIHtcblx0XHRcdFx0XHR3aWR0aDogY2FsYygoMTAwJSAvIDMpIC0gMXJlbSAgLSAuMXB4KTsgLy8gcmVtb3ZlIC4xcHggdG8gZml4IElFIG5vdCBjYWxjdWxhdGluZyBwZXJjZW50YWdlcyB0aGUgc2FtZSBhcyByZWFsIGJyb3dzZXJzXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjEyNWVtO1xuXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Jjpub3QoOm50aC1jaGlsZCgzbisxKSkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoM3JlbSAvIDIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDNtcztcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgkc2VjX3RlbXBfd2hpdGUsIC43Mik7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA1MCU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHRcdFx0dG8gdG9wLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgLjg1KSAwLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgLjcpIDUlLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgLjU1KSAxMCUsXG5cdFx0XHRcdFx0XHRyZ2JhKCRkYXJrLCAuNCkgMTUlLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgLjI1KSAyMCUsXG5cdFx0XHRcdFx0XHRyZ2JhKCRkYXJrLCAuMSkgMjUlLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgMCkgNTAlXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCN7ICRibG9jayB9LW5hbWUge1xuXHRcdFx0XHRcdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkZGFyaywgLjk1KSwgcmdiYSgkZGFyaywgLjg1KSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji1uYW1lIHtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDM2MG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSAzbXM7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJHNlY190ZW1wX3doaXRlLCAuNzIpO1xuXHRcdFx0XHRwYWRkaW5nOiAuMjVlbSAxZW0gLjc1ZW07XG5cdFx0XHRcdGNvbG9yOiAkZzEzNTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRrbGF2aXNsaW07XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmRlZ3JlZS1wcm9ncmFtX19ub3RpZmljYXRpb24ge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiA3NXJlbTtcblx0bWFyZ2luOiAycmVtIGF1dG8gMDtcblx0Zm9udC1zaXplOiAxcmVtO1xuXG5cdEBpbmNsdWRlIGJwb2ludCh3aWRlc2NyZWVuKSB7XG5cdFx0bWFyZ2luLXRvcDogNHZ3O1xuXHR9XG59XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGRlZ3JlZSBwcm9ncmFtIGRlcGFydG1lbnQgZGVzY3JpcHRpb24gc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRkZXBhcnRtZW50IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uIHtcblxuICAgICAgICAvLyBAaW5jbHVkZSBmbGV4LWgtYy12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgcGFkZGluZzogOHZ3IDh2dyA4dncgOHZ3O1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMTQ1ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJlaWdlLCAwLjAwMCApO1xuXG4gICAgICAgIC8vIGlubmVyXG4gICAgICAgICZfX2lubmVyIHtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmxleC1oLWMtdi1zKCBmYWxzZSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsYWJlbFxuICAgICAgICAubGFiZWwge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC43NXJlbSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhlYWRpbmdcbiAgICAgICAgaDIge1xuXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDR2dyAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDJyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0ZXh0XG4gICAgICAgIC5kZXNjcmlwdGlvbl90ZXh0IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4xNDUgKTtcblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgcCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDFyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMnJlbSwgaW5oZXJpdCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLnByb2dyYW0tZmFjdHMge1xuXHRwYWRkaW5nOiA4dnc7XG5cdGJhY2tncm91bmQ6ICRjdm5hdnk7XG5cdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cblx0Ly8gKG9ubHkgaWYgc3VwcG9ydGVkIGJ5IGJyb3dzZXIpXG5cdEBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IG92ZXJsYXkpIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG9wYWNpdHk6IDAuMTc1O1xuXHRcdFx0bWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRcdGltYWdlOiB1cmwoLi4vaW1nL3BhdHRlcm5zL3BhdHRlcm4uaG9yaXpvbnRhbC5zdmcpO1xuXHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0c2l6ZTogMTIwJTtcblx0XHRcdFx0cG9zaXRpb246IDAgLThyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0Y29sb3I6ICRibHVlO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjQ2NSk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA0dnc7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHR3aWR0aDogNjAlO1xuXHRcdFx0bWF4LXdpZHRoOiA3NWVtO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDR2dztcblx0XHR9XG5cdH1cblxuXHQmX19saXN0IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0QGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNTAwICk7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDM1ZW07XG5cdFx0QGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG5cdFx0JjpsYXN0LWNoaWxkLFxuXHRcdCo6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX25hbWUge1xuXHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xuXHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuMjVyZW0sIDQwMCApO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA3NWVtO1xuXHRcdEBpbmNsdWRlIHRleHQoICR1cCApO1xuXHRcdEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblx0fVxufVxuIiwiLmNhcmVlcnMge1xuXHRiYWNrZ3JvdW5kOiAkbmV1dHJhbDtcblxuXHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdGRpc3BsYXk6IC1tcy1ncmlkO1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0LW1zLWdyaWQtcm93czogYXV0bztcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cdFx0LW1zLWdyaWQtY29sdW1uczogMmZyIDNmcjtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAzZnI7XG5cdH1cblxuXHQmX19pbnRybyB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IGNhbGMoMnZ3ICsgMXJlbSkgOHZ3O1xuXHRcdGJhY2tncm91bmQ6ICRkZWdfdGVtcF90ZWFsO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHRcdGdyaWQtcm93OiAxO1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uOiAxO1xuXHRcdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0XHRwYWRkaW5nOiA4dnc7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRjb2xvcjogJGN2ZWxsb3c7XG5cdH1cblxuXHQmX19kZXNjIHtcblx0XHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wMzVlbTtcblx0XHRsaW5lLWhlaWdodDogMS41cmVtO1xuXG5cdFx0Omxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0cGFkZGluZzogOHZ3O1xuXHRcdEBpbmNsdWRlIGZpbGwoICRibHVlLCAwLjM4NSApO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHRcdGdyaWQtcm93OiAxO1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uOiAyO1xuXHRcdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGlzdCB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdEBpbmNsdWRlIGJwb2ludChwaG9uZSkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdG1hcmdpbi10b3A6IDN2dzsvLyAxcmVtO1xuXHRcdEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMXJlbSwgNjAwICk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjsvLyAwLjc1cmVtO1xuXHRcdEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMTY1ICk7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQocGhvbmUpIHtcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDF2dyk7XG5cblx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIuZW1wbG95ZXJzIHtcblx0YmFja2dyb3VuZDogJG5ldXRyYWw7XG5cblx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRkaXNwbGF5OiAtbXMtZ3JpZDtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdC1tcy1ncmlkLXJvd3M6IGF1dG87XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXHRcdC1tcy1ncmlkLWNvbHVtbnM6IDNmciAyZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzZnIgMmZyO1xuXHR9XG5cblx0Jl9faW50cm8ge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiBjYWxjKDJ2dyArIDFyZW0pIDh2dztcblxuXHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHQtbXMtZ3JpZC1yb3c6IDE7XG5cdFx0XHRncmlkLXJvdzogMTtcblx0XHRcdC1tcy1ncmlkLWNvbHVtbjogMjtcblx0XHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdFx0cGFkZGluZzogOHZ3O1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Y29sb3I6ICRnMTQwO1xuXHR9XG5cblx0Jl9fZGVzYyB7XG5cdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjE2NSApO1xuXHRcdEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjAzNWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjVyZW07XG5cblx0XHQ6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRwYWRkaW5nOiA4dnc7XG5cdFx0QGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMjY1ICk7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdFx0Z3JpZC1yb3c6IDE7XG5cdFx0XHQtbXMtZ3JpZC1jb2x1bW46IDE7XG5cdFx0XHRncmlkLWNvbHVtbjogMTtcblx0XHR9XG5cdH1cblxuXHQmX19saXN0IHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KHBob25lKSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0bWFyZ2luLXRvcDogM3Z3Oy8vIDFyZW07XG5cdFx0QGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4xNjUgKTtcblx0XHRAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDFyZW0sIDYwMCApO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7Ly8gMC43NXJlbTtcblx0XHRAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjE2NSApO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KHBob25lKSB7XG5cdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAxdncpO1xuXG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxufVxuIiwiLnJlc2VhcmNoIHtcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdEBpbmNsdWRlIGNvbG9yKCAkY3ZuYXZ5LCAwLjE2NSApO1xuXG5cdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0ZGlzcGxheTogLW1zLWdyaWQ7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHQtbXMtZ3JpZC1yb3dzOiBhdXRvO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblx0XHQtbXMtZ3JpZC1jb2x1bW5zOiAyZnIgM2ZyO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDNmcjtcblxuXHRcdCYuaW1hZ2UtLWxlZnQge1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uczogM2ZyIDJmcjtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogM2ZyIDJmcjtcblx0XHR9XG5cdH1cblxuXHQmX19pbWFnZSB7XG5cdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdC1tcy1ncmlkLWNvbHVtbjogMTtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXHRcdHBhZGRpbmctdG9wOiA1Ni4yNSU7XG5cblx0XHQuaW1hZ2UtLXJpZ2h0ICYge1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uOiAyO1xuXHRcdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdC1tcy1ncmlkLWNvbHVtbjogMTtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgkYmVpZ2UsIC4yNzUpO1xuXHRcdHBhZGRpbmc6IDh2dztcblx0XHRjb2xvcjogJG9pbDtcblx0XHRAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA1MDAgKTtcblxuXHRcdC5pbWFnZS0tbGVmdCAmIHtcblx0XHRcdC1tcy1ncmlkLWNvbHVtbjogMjtcblx0XHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRjb2xvcjogJG5hdnktaDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNzVlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0fVxufVxuIiwiLm9yZ2FuaXphdGlvbnMge1xuXHRjb2xvcjogd2hpdGU7XG5cdGJhY2tncm91bmQ6ICRhcHAwNTtcblx0cGFkZGluZzogOHZ3O1xuXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Y29sb3I6ICRnb2xkO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdCZfX2J1dHRvbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0Jl9fYnV0dG9uIHtcblx0XHR0cmFuc2l0aW9uOiAkYWxsMjIwO1xuXHRcdG1hcmdpbjogMXJlbSAuNXJlbSAwO1xuXHRcdGJvcmRlcjogLjAxMjVlbSBzb2xpZCB3aGl0ZTtcblx0XHRwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDAuODc1cmVtLCA0MDAgKTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xMzVlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHQmOnZpc2l0ZWQge1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEod2hpdGUsIC4xKTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdH1cbn1cbiIsIi5maW5hbmNpYWwge1xuXHRiYWNrZ3JvdW5kOiAkYmVpZ2Ugbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuXHQmLnR5cGUtLXN0dWRlbnQge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY29udGVudC9jb250ZW50LmJhY2tncm91bmQuMDYuanBnKTtcblx0fVxuXG5cdCYudHlwZS0tcmVzaWRlbnQge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbW9kdWxlcy9maW5hbmNpYWwvYmFja2dyb3VuZC4wMC5qcGcpO1xuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoJGJlaWdlLCAwLjQzNSk7XG5cdFx0cGFkZGluZzogOHZ3O1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdEBpbmNsdWRlIHR5cG8oIDEuNXJlbSwgMC4wNDVlbSApO1xuXHRcdGNvbG9yOiAkYXBwMDU7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHR9XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0Y29sb3I6ICRnMTQwO1xuXHR9XG5cblx0Jl9fY3RhIHtcblx0XHRtYXJnaW46IDEuMjVyZW0gMCAwIDA7XG5cdH1cblxuXHQmX19idXR0b24ge1xuXHRcdHRyYW5zaXRpb246ICRhbGwyMjA7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IC44NzVyZW0gMS4yNXJlbTtcblx0XHRib3JkZXI6IC4wMTI1ZW0gc29saWQgJGcxNDA7XG5cdFx0Y29sb3I6ICRnMTQwO1xuXHRcdEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNjAwICk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNjVlbTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHQmOnZpc2l0ZWQge1xuXHRcdFx0Y29sb3I6ICRnMTQwO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6ICRnMTM1O1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdH1cblx0fVxufVxuIiwiLmxvY2F0aW9uIHtcblx0YmFja2dyb3VuZDogJGFwcDA1IHVybCguLi9pbWcvY29udGVudC9iYWNrZ3JvdW5kLjA4LmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuXHQmX19pbm5lciB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgkYXBwMDUsIDAuNzc1KTtcblx0XHRwYWRkaW5nOiA4dnc7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRAaW5jbHVkZSB0eXBvKCAxLjVyZW0sIDAuMDQ1ZW0gKTtcblx0XHRjb2xvcjogd2hpdGU7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHR9XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0Y29sb3I6ICRnb2xkO1xuXHR9XG5cblx0Jl9fY3RhIHtcblx0XHRtYXJnaW46IDEuMjVyZW0gMCAwIDA7XG5cdH1cblxuXHQmX19idXR0b24ge1xuXHRcdHRyYW5zaXRpb246ICRhbGwyMjA7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IC44NzVyZW0gMS4yNXJlbTtcblx0XHRib3JkZXI6IC4wMTI1ZW0gc29saWQgJGdvbGQ7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNjAwICk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNjVlbTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHQmOnZpc2l0ZWQge1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEod2hpdGUsIC4xKTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdH1cbn1cbiIsIi5hcHAtaW5mbyB7XG5cdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRAaW5jbHVkZSBjb2xvciggJGN2bmF2eSwgMC4xNjUgKTtcblxuXHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdGRpc3BsYXk6IC1tcy1ncmlkO1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0LW1zLWdyaWQtcm93czogYXV0bztcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cdFx0LW1zLWdyaWQtY29sdW1uczogMWZyIDFmcjtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXG5cdFx0Ji5pbWFnZS0tbGVmdCB7XG5cdFx0XHQtbXMtZ3JpZC1jb2x1bW5zOiAxZnIgMWZyO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0XHR9XG5cdH1cblxuXHQmX19pbWFnZSB7XG5cdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdC1tcy1ncmlkLWNvbHVtbjogMTtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXHRcdHBhZGRpbmctdG9wOiA1Ni4yNSU7XG5cblx0XHQuaW1hZ2UtLXJpZ2h0ICYge1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uOiAyO1xuXHRcdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdC1tcy1ncmlkLWNvbHVtbjogMTtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgkYmVpZ2UsIC4yNzUpO1xuXHRcdHBhZGRpbmc6IDh2dztcblx0XHRjb2xvcjogJG9pbDtcblx0XHRAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA1MDAgKTtcblxuXHRcdC5pbWFnZS0tbGVmdCAmIHtcblx0XHRcdC1tcy1ncmlkLWNvbHVtbjogMjtcblx0XHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRjb2xvcjogJG5hdnktaDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNzVlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0fVxuXG5cdCZfX3RhYmxlIHtcblx0XHRib3JkZXItdG9wOiAuMDYyNWVtIHNvbGlkICRuZXV0cmFsO1xuXHRcdGJvcmRlci1ib3R0b206IC4wNjI1ZW0gc29saWQgJG5ldXRyYWw7XG5cblx0XHR0Ym9keSB7XG5cdFx0XHR0ciB7XG5cdFx0XHRcdCY6bnRoLWNoaWxkKG9kZCkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgkYmVpZ2UsIC41NSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQqOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDhlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHR0aCxcblx0XHRcdHRkIHtcblx0XHRcdFx0cGFkZGluZzogLjVlbTtcblx0XHRcdFx0dGV4dC1hbGlnbjogaW5oZXJpdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19jdGEge1xuXHRcdG1hcmdpbjogMS4yNXJlbSAwIDAgMDtcblx0fVxuXG5cdCZfX2J1dHRvbiB7XG5cdFx0dHJhbnNpdGlvbjogJGFsbDIyMDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogLjg3NXJlbSAxLjI1cmVtO1xuXHRcdGJvcmRlcjogLjAxMjVlbSBzb2xpZCAkZzE0MDtcblx0XHRjb2xvcjogJGcxNDA7XG5cdFx0QGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA2NWVtO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdCY6dmlzaXRlZCB7XG5cdFx0XHRjb2xvcjogJGcxNDA7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZDogJGcxMzU7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGRlZ3JlZSBwcm9ncmFtcyBjb250YWN0IGJsb2NrIHN0eWxlc1xuXG4ucHJvZ3JhbS1jb250YWN0IHtcblxuXHRiYWNrZ3JvdW5kOiAkYXBwNTA7XG5cdHBhZGRpbmc6IDh2dztcblx0Y29sb3I6IHdoaXRlO1xuXG5cdC8vIChvbmx5IGlmIHN1cHBvcnRlZCBieSBicm93c2VyKVxuXHRAc3VwcG9ydHMgKCBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheSApIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG9wYWNpdHk6IDAuMDc1O1xuXHRcdFx0bWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRcdGltYWdlOiB1cmwoLi4vaW1nL3BhdHRlcm5zL3BhdHRlcm4uaG9yaXpvbnRhbC5zdmcpO1xuXHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0c2l6ZTogMTIwJTtcblx0XHRcdFx0cG9zaXRpb246IDAgLThyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmb250LXNpemU6IC45Mzc1cmVtO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiBsaWdodGVuKCRibHVlLCAyJSk7XG5cblx0XHRcdCY6dmlzaXRlZCB7XG5cdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGJsdWUsIC41JSk7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oJGJsdWUsIDIlKTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9faW50cm8ge1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblxuXHRcdFx0ZmxleC1ncm93OiAwO1xuXG5cdFx0XHRtYXgtd2lkdGg6IDQwJTtcblxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuODY1KTtcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCAkYmVpZ2UsIDEuMDAwICk7XG5cblx0XHRcdHBhZGRpbmctcmlnaHQ6IDR2dztcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblxuXHRcdEBpbmNsdWRlIGNvbG9yKCAkZmF1eC1nb2xkLCAwLjAwMCApO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblxuXHQmX19kZXNjIHtcblx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRtYXJnaW46IDA7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0ZmxleC1ncm93OiAxO1xuXHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdG1heC13aWR0aDogNzVlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogNHZ3O1xuXHRcdH1cblxuXHRcdC5nZm9ybV93cmFwcGVyIHtcblxuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHQuZ2Zvcm1fYm9keSB7XG5cblx0XHRcdFx0Ly8gbWVoXG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHQmLmdmaWVsZCB7XG5cblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAycmVtIDAgMCAwO1xuXG5cdFx0XHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyByZXF1aXJlZCBjbGFzc1xuXHRcdFx0XHQuZ2ZpZWxkX3JlcXVpcmVkIHtcblxuXHRcdFx0XHRcdGNvbG9yOiAkZ29sZDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gbGFiZWxzXG5cdFx0XHRcdGxhYmVsIHtcblxuXHRcdFx0XHRcdC8vIGNsYXNzXG5cdFx0XHRcdFx0Ji5nZmllbGRfbGFiZWwge1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDFyZW0sIDYwMCApO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBjb250YWluZXJzXG5cdFx0XHRcdC5naW5wdXRfY29udGFpbmVyIHtcblxuXHRcdFx0XHRcdG1hcmdpbjogMC43NXJlbSAwIDAgMDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gaW5wdXQgZ2xvYmFsc1xuXHRcdFx0XHRpbnB1dFsgdHlwZT0ndGV4dCcgXSxcblx0XHRcdFx0dGV4dGFyZWEge1xuXG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMCAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMCAwIDA7XG5cblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDFyZW0sIDQwMCwgIWltcG9ydGFudCApO1xuXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTI1ICk7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjY5NSApO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyB0ZXh0IGlucHV0XG5cdFx0XHRcdGlucHV0WyB0eXBlPSd0ZXh0JyBdIHtcblxuXHRcdFx0XHRcdGhlaWdodDogM3JlbTtcblx0XHRcdFx0XHRwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAxcmVtICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIHRleHRhcmVhXG5cdFx0XHRcdHRleHRhcmVhIHtcblxuXHRcdFx0XHRcdHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIDFyZW0gIWltcG9ydGFudDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdFx0Lmdmb3JtX2Zvb3RlciB7XG5cblx0XHRcdFx0cGFkZGluZzogMXJlbSAwIDAgMDtcblxuXHRcdFx0XHRpbnB1dCB7XG5cblx0XHRcdFx0XHQmLmJ1dHRvbiB7XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuXHRcdFx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIDAgMCAwO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMC4wNjI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS4yNXJlbSwgNDAwICk7XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSB0eXBvKCAwLjg3NXJlbSwgMC4wODVlbSApO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBmaWxsKCAkZzE0MCwgMC4wMDAgKTtcblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC42OTUgKTtcblxuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cblx0XHRcdFx0XHRcdC8vIGhvdmVyIHN0YXRlXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblxuXHRcdFx0XHRcdFx0XHQvLyBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cblx0XHRcdFx0XHRcdFx0Ly8gQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuODI1ICk7XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG5cblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblxuXHRcdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblxuXHRcdFx0XHRmbGV4LWdyb3c6IDE7XG5cblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRwYWRkaW5nOiAzcmVtIDNyZW0gM3JlbSAzcmVtO1xuXG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHB4LWdyZWVuO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjkyNSApO1xuXG5cdFx0XHRcdC8vIEBpbmNsdWRlIGdyYWRpZW50KFxuXHRcdFx0XHQvL1xuXHRcdFx0XHQvLyBcdDE4MGRlZyxcblx0XHRcdFx0Ly8gXHQkcHgtZ3JlZW4sIDAuNjI1LCAwJSxcblx0XHRcdFx0Ly8gXHQkcHgtZ3JlZW4sIDAuOTE1LCAxMDAlXG5cdFx0XHRcdC8vXG5cdFx0XHRcdC8vICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC42OTUgKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ly8gZ2VuZXJpYyBsaXN0IHNlbGVjdG9yXG5cdFx0bGkge1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdH1cblx0fVxufVxuXG4vLyBnZW5lcmFsIGdmb3JtIHN0eWxlc1xuLmdmb3JtX3dyYXBwZXIge1xuXG5cdG1hcmdpbjogMDtcblxuXHQuZ2Zvcm1fYm9keSB7XG5cblx0XHQvLyBtZWhcblx0XHR1bCB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdCYuZ2ZpZWxkIHtcblxuXHRcdFx0XHRcdG1hcmdpbjogMnJlbSAwIDAgMDtcblxuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyByZXF1aXJlZCBjbGFzc1xuXHRcdC5nZmllbGRfcmVxdWlyZWQge1xuXG5cdFx0XHRjb2xvcjogJGdvbGQ7XG5cdFx0XHRjb2xvcjogJHJvYXJhbmdlO1xuXG5cdFx0fVxuXG5cdFx0Ly8gbGFiZWxzXG5cdFx0bGFiZWwge1xuXG5cdFx0XHQvLyBjbGFzc1xuXHRcdFx0Ji5nZmllbGRfbGFiZWwge1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMXJlbSwgNjAwICk7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC8vIGNvbnRhaW5lcnNcblx0XHQuZ2lucHV0X2NvbnRhaW5lciB7XG5cblx0XHRcdG1hcmdpbjogMC43NXJlbSAwIDAgMDtcblxuXHRcdH1cblxuXHRcdC8vIGlucHV0IGdsb2JhbHNcblx0XHRpbnB1dFsgdHlwZT0ndGV4dCcgXSxcblx0XHR0ZXh0YXJlYSB7XG5cblx0XHRcdG1hcmdpbjogMCAwIDAgMDtcblx0XHRcdHBhZGRpbmc6IDAgMCAwIDA7XG5cblx0XHRcdGJvcmRlcjogbm9uZTtcblxuXHRcdFx0QGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAxcmVtLCA0MDAsICFpbXBvcnRhbnQgKTtcblxuXHRcdFx0Zm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG5cdFx0XHRmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG5cblx0XHRcdC8vIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuXHRcdFx0QGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTI1ICk7XG5cblx0XHRcdEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgM3JlbSwgYmxhY2ssIDAuNjk1ICk7XG5cblx0XHR9XG5cblx0XHQvLyB0ZXh0IGlucHV0XG5cdFx0aW5wdXRbIHR5cGU9J3RleHQnIF0ge1xuXG5cdFx0XHRoZWlnaHQ6IDNyZW07XG5cdFx0XHRwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAxcmVtICFpbXBvcnRhbnQ7XG5cblx0XHR9XG5cblx0XHQvLyB0ZXh0YXJlYVxuXHRcdHRleHRhcmVhIHtcblxuXHRcdFx0cGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbSAhaW1wb3J0YW50O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQuZ2Zvcm1fZm9vdGVyIHtcblxuXHRcdHBhZGRpbmc6IDFyZW0gMCAwIDA7XG5cblx0XHRpbnB1dCB7XG5cblx0XHRcdCYuYnV0dG9uIHtcblxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cblx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xuXHRcdFx0XHRtYXJnaW46IDAgMCAwIDA7XG5cdFx0XHRcdHBhZGRpbmc6IDAuMDYyNXJlbSAxLjVyZW0gMCAxLjVyZW07XG5cblx0XHRcdFx0QGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS4yNXJlbSwgNDAwICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgdGV4dCggJHVwICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgdHlwbyggMC44NzVyZW0sIDAuMDg1ZW0gKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBmaWxsKCAkZzE0MCwgMC4wMDAgKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjY5NSApO1xuXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG5cdFx0XHRcdC8vIGhvdmVyIHN0YXRlXG5cdFx0XHRcdCY6aG92ZXIge1xuXG5cdFx0XHRcdFx0Ly8gQGluY2x1ZGUgY29sb3IoICRnb2xkLCAwLjAwMCApO1xuXG5cdFx0XHRcdFx0Ly8gQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuODI1ICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG5cblx0Zm9udC1zaXplOiAxcmVtO1xuXG5cdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cblx0XHRmbGV4LWdyb3c6IDE7XG5cblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luOiAycmVtIDAgMCAwO1xuXHRcdHBhZGRpbmc6IDNyZW0gM3JlbSAzcmVtIDNyZW07XG5cblx0XHRib3JkZXItbGVmdDogM3B4IHNvbGlkICMwMGNjMDA7XG5cblx0XHRAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC42NDUgKTtcblxuXHRcdEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgM3JlbSwgYmxhY2ssIDAuNjk1ICk7XG5cblx0XHQvLyByYW5kb20gYXNzIGJsb2NrcXVvdGUgZWxlbWVudFxuXHRcdGJsb2NrcXVvdGUge1xuXG5cdFx0XHRtYXJnaW46IDAgMCAwIDA7XG5cdFx0XHRwYWRkaW5nOiAwIDAgMCAwO1xuXG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHRcdEBpbmNsdWRlIGNvbG9yKCAjNTQ1NDU0LCAwLjAwMCApO1xuXG5cdFx0XHQvLyBuZXN0ZWQgc3Ryb25nXG5cdFx0XHRzdHJvbmcge1xuXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIuZmFxLWdyb3VwIHtcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdHBhZGRpbmc6IDh2dztcblx0Y29sb3I6ICRvaWw7XG5cblx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdGJhY2tncm91bmQ6ICRzZWNfdGVtcF9vZmZfd2hpdGU7XG5cdH1cblxuXHQmX19pbm5lciB7XG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAzZnI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxZW07XG5cdFx0fVxuXHR9XG5cblx0LmN2bWJzLWFjY29yZGlvbnMge1xuXHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5jdm1icy1hY2NvcmRpb24ge1xuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3RpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0XHR9XG5cdH1cbn1cbiIsIi5kZWdyZWUtcHJvZ3JhbS1jb250ZW50IHtcblx0cGFkZGluZzogMS41cmVtIDh2dztcblx0YmFja2dyb3VuZDogJHNlY190ZW1wX29mZl93aGl0ZTtcblx0Y29sb3I6ICRzdGVlbDtcblxuXHQmX19pbm5lciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiA2NXJlbTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxufVxuIiwiLnBvc3Rkb2MtdHJhaW5pbmcge1xuXHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0QGluY2x1ZGUgY29sb3IoICRjdm5hdnksIDAuMTY1ICk7XG5cblx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRkaXNwbGF5OiAtbXMtZ3JpZDtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdC1tcy1ncmlkLXJvd3M6IGF1dG87XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXHRcdC1tcy1ncmlkLWNvbHVtbnM6IDFmciAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblxuXHRcdCYuaW1hZ2UtLWxlZnQge1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uczogMWZyIDFmcjtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdFx0fVxuXHR9XG5cblx0Jl9faW1hZ2Uge1xuXHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHRncmlkLXJvdzogMTtcblx0XHQtbXMtZ3JpZC1jb2x1bW46IDE7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0YmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3Zlcjtcblx0XHRwYWRkaW5nLXRvcDogNTYuMjUlO1xuXG5cdFx0LmltYWdlLS1yaWdodCAmIHtcblx0XHRcdC1tcy1ncmlkLWNvbHVtbjogMjtcblx0XHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHRncmlkLXJvdzogMTtcblx0XHQtbXMtZ3JpZC1jb2x1bW46IDE7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoJGJlaWdlLCAuMjc1KTtcblx0XHRwYWRkaW5nOiA4dnc7XG5cdFx0Y29sb3I6ICRvaWw7XG5cdFx0QGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNTAwICk7XG5cblx0XHQuaW1hZ2UtLWxlZnQgJiB7XG5cdFx0XHQtbXMtZ3JpZC1jb2x1bW46IDI7XG5cdFx0XHRncmlkLWNvbHVtbjogMjtcblx0XHR9XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0Y29sb3I6ICRuYXZ5LWg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDc1ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH1cblxuXHQmX190YWJsZSB7XG5cdFx0Ym9yZGVyLXRvcDogLjA2MjVlbSBzb2xpZCAkbmV1dHJhbDtcblx0XHRib3JkZXItYm90dG9tOiAuMDYyNWVtIHNvbGlkICRuZXV0cmFsO1xuXG5cdFx0dGJvZHkge1xuXHRcdFx0dHIge1xuXHRcdFx0XHQmOm50aC1jaGlsZChvZGQpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJGJlaWdlLCAuNTUpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0KjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWluLXdpZHRoOiA4ZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dGgsXG5cdFx0XHR0ZCB7XG5cdFx0XHRcdHBhZGRpbmc6IC41ZW07XG5cdFx0XHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fY3RhIHtcblx0XHRtYXJnaW46IDEuMjVyZW0gMCAwIDA7XG5cdH1cblxuXHQmX19idXR0b24ge1xuXHRcdHRyYW5zaXRpb246ICRhbGwyMjA7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IC44NzVyZW0gMS4yNXJlbTtcblx0XHRib3JkZXI6IC4wMTI1ZW0gc29saWQgJGcxNDA7XG5cdFx0Y29sb3I6ICRnMTQwO1xuXHRcdEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNjAwICk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNjVlbTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHQmOnZpc2l0ZWQge1xuXHRcdFx0Y29sb3I6ICRnMTQwO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6ICRnMTM1O1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdH1cblx0fVxufVxuIiwiLy8gc3R5bGVzaGVldCA6OiBwbGFjZXMgc3R5bGVzaGVldCBjb21waWxlclxuXG5cdC8vIHNpbmdsZVxuXHQvLyBAaW1wb3J0ICdwbGFjZXMuc2luZ2xlJztcblxuXHQvLyBhcmNoaXZlXG5cdC8vIEBpbXBvcnQgJ3BsYWNlcy5hcmNoaXZlJztcblxuXG4ucG9zdC10eXBlLWFyY2hpdmUtcGxhY2UsXG4uc2luZ2xlLXBsYWNlIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZDogJHNlY190ZW1wX29mZl93aGl0ZTtcblx0Y29sb3I6ICRzdGVlbDtcblx0Zm9udC1zaXplOiAxcmVtO1xuXG5cdC5jb250ZW50LWFyZWEge1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0fVxufVxuXG5AaW1wb3J0ICdoZWFkZXInO1xuXG4vLyBhcmNoaXZlXG5AaW1wb3J0ICdncmlkJztcblxuLy8gc2luZ2xlXG5AaW1wb3J0ICdjb250ZW50JztcbiIsIi5wbGFjZXMge1xuXHQmX19oZWFkZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YmFja2dyb3VuZDogd2hpdGUgdXJsKC4uL2ltZy9iaWxsYm9hcmRzL2JpbGxib2FyZC4xMC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY292ZXI7XG5cblx0XHQuYXJjaGl2ZSAmIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA4NSU7XG5cdFx0fVxuXG5cdFx0Ly8gb3ZlcmxheVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0QGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjM0NSApO1xuXG5cdFx0XHRAaW5jbHVkZSBncmFkaWVudChcblx0XHRcdFx0OTBkZWcsXG5cdFx0XHRcdHJlZCwgMS4wMDAsIDAlLFxuXHRcdFx0XHQkY3ZuYXZ5LCAwLjIxNSwgMTAwJVxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHQmLWlubmVyIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiA1MHZoO1xuXHRcdFx0bWF4LWhlaWdodDogMjByZW07XG5cdFx0XHRtYXgtaGVpZ2h0OiAxNXJlbTtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0cGFkZGluZzogNXJlbSA4dncgMS41cmVtO1xuXG5cdFx0XHQuc2luZ2xlICYge1xuXHRcdFx0XHRtYXgtd2lkdGg6IGNhbGMoNjVyZW0gKyAoOHZ3ICogMikpO1xuXHRcdFx0fVxuXG5cdFx0XHQmID4gKiB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLXRpdGxlIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cdFx0XHRmb250LWZhbWlseTogJGtsYXZpc2xpbTtcblx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4xMTRlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMi43NXJlbTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzcmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiJGJhY2tncm91bmQ6ICNiYzRjMmQ7IC8vICRyb2FyYW5nZSB3aXRoIC44MTUgb3BhY2l0eSBvdmVyICRhcHAwNVxuXG4ucGxhY2VzLWFyY2hpdmUge1xuXHQmX19maWx0ZXJzIHtcblx0XHRtYXJnaW46IDNyZW0gOHZ3IDFyZW07XG5cdFx0cGFkZGluZzogMnJlbTtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0Ji13cmFwIHtcblx0XHRcdEBpbmNsdWRlIGJwb2ludChwaG9uZSkge1xuXHRcdFx0XHQvLyBkaXNwbGF5OiBmbGV4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtdGV4dCB7XG5cdFx0XHRAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjg3NXJlbSwgNzAwICk7XG5cdFx0XHRAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblx0XHRcdEBpbmNsdWRlIHR5cG8oIDEuNSwgMC4wNDVlbSApO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Y29sb3I6ICRzdGVlbDtcblx0XHR9XG5cdH1cblxuXHQmX19ncmlkIHtcblx0XHRwYWRkaW5nOiAycmVtIDh2dztcblxuXHRcdCYtaW5uZXIge1xuXHRcdFx0Ly8gYWNjb3VudCBmb3IgbWFyZ2luIGFyb3VuZCBpbmRpdmlkdWFsIGdyaWQgaXRlbXNcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAycmVtKTtcblx0XHRcdG1hcmdpbjogLTFyZW07XG5cblx0XHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtaXRlbSB7XG5cdFx0XHQkYmxvY2s6ICY7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjQwbXMgJG91dGV4IDBtcztcblx0XHRcdGRpc3BsYXk6IC1tcy1ncmlkO1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdC1tcy1ncmlkLXJvd3M6IGF1dG87XG5cdFx0XHQtbXMtZ3JpZC1jb2x1bW5zOiAxZnI7XG5cdFx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRtYXJnaW46IDFyZW07XG5cdFx0XHRiYWNrZ3JvdW5kOiB3aGl0ZSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXHRcdFx0QGluY2x1ZGUgc2hhZG93Ym94KCAxLjVyZW0sIDRyZW0sIGJsYWNrLCAwLjYxNSApO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAtIDJyZW0gLSAuMXB4KTsgLy8gcmVtb3ZlIC4xcHggdG8gZml4IElFIG5vdCBjYWxjdWxhdGluZyBwZXJjZW50YWdlcyB0aGUgc2FtZSBhcyByZWFsIGJyb3dzZXJzXG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJwb2ludCh3aWRlc2NyZWVuKSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pO1xuXHRcdFx0fVxuXG5cdFx0XHQmID4gKiB7XG5cdFx0XHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHRcdFx0LW1zLWdyaWQtY29sdW1uOiAxO1xuXHRcdFx0XHRncmlkLXJvdzogMTtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0I3sgJGJsb2NrIH0tYmcge1xuXHRcdFx0XHRcdC13ZWJraXQtZmlsdGVyOlxuXHRcdFx0XHRcdFx0b3BhY2l0eSggMC41NjUgKVxuXHRcdFx0XHRcdFx0Ymx1ciggMHB4IClcblx0XHRcdFx0XHQ7XG5cblx0XHRcdFx0XHRmaWx0ZXI6XG5cdFx0XHRcdFx0XHRvcGFjaXR5KCAwLjg2NSApXG5cdFx0XHRcdFx0XHRibHVyKCAwcHggKVxuXHRcdFx0XHRcdDtcblxuXHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUzZCggMS4xNSwgMS4xNSwgMS4xNSApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0I3sgJGJsb2NrIH0tb3ZlcmxheSB7XG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC4wMDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjkyNTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQjeyAkYmxvY2sgfS10aXRsZSB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgLTFyZW0sIDAgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCN7ICRibG9jayB9LWxpbmsge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIC0xcmVtLCAwICk7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0XHRvcGFjaXR5OiAxLjAwMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLWJnIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY292ZXI7XG5cblx0XHRcdFx0LXdlYmtpdC1maWx0ZXI6XG5cdFx0XHRcdFx0b3BhY2l0eSggMS4wMDAgKVxuXHRcdFx0XHRcdGdyYXlzY2FsZSggMC4wMDAgKVxuXHRcdFx0XHQ7XG5cblx0XHRcdFx0ZmlsdGVyOlxuXHRcdFx0XHRcdG9wYWNpdHkoIDEuMDAwIClcblx0XHRcdFx0XHRncmF5c2NhbGUoIDAuMDAwIClcblx0XHRcdFx0O1xuXG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUzZCggMSwgMSwgMSApO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblx0XHRcdH1cblxuXHRcdFx0Ji1vdmVybGF5IHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuXHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBmaWxsKCAkcm9hcmFuZ2UsIDAuMzQ1ICk7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC4wMDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmFkaWVudChcblx0XHRcdFx0XHRcdDE4MGRlZyxcblx0XHRcdFx0XHRcdHRyYW5zcGFyZW50LCAxLjAwMCwgMCUsXG5cdFx0XHRcdFx0XHQkY3ZuYXZ5LCAwLjAwMCwgODAlXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjkyNTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBwcnNlIGljb25cblx0XHRcdCYtcHJzZSB7XG5cblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHRcdHRvcDogMXJlbTtcblx0XHRcdFx0cmlnaHQ6IDFyZW07XG5cblx0XHRcdFx0ei1pbmRleDogMTA7XG5cblx0XHRcdFx0QGluY2x1ZGUgZmxleC1oLWUtdi10KCBmYWxzZSApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42ODc1cmVtLCA3MDAgKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBjb2xvciggd2hpdGUgKTtcblxuXHRcdFx0XHQvLyBhZnRlclxuXHRcdFx0XHQmOmFmdGVyIHtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGNvZGljb24oIDFyZW0sIDFyZW0sIDAsIDFyZW0sIHdoaXRlLCAnXFxFQjlFJyk7XG5cblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdFx0XHR0b3A6IC0wLjEyNXJlbTtcblx0XHRcdFx0XHRsZWZ0OiAtMS4yNXJlbTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGhpZGU7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGJlZm9yZVxuXHRcdFx0XHQmOmJlZm9yZSB7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBjb2RpY29uKCAxcmVtLCAxcmVtLCAwLCAxcmVtLCB3aGl0ZSwgJ1xcRTk5QScpO1xuXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHRcdFx0dG9wOiAtMC4xMjVyZW07XG5cdFx0XHRcdFx0bGVmdDogLTEuMjVyZW07XG5cblx0XHRcdFx0XHQvLyBAaW5jbHVkZSBoaWRlO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0XHQmLXRleHQge1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDNtcztcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDEwcmVtO1xuXHRcdFx0XHRwYWRkaW5nOiAzMCUgMnJlbSAycmVtO1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxMi41cmVtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLXRpdGxlIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG9jaXJjIDBtcztcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuMjVyZW0sIDQwMCApO1xuXHRcdFx0XHRAaW5jbHVkZSB0eXBvKCAxLjEyNXJlbSwgMC4wODVlbSApO1xuXHRcdFx0fVxuXG5cdFx0XHQmLWxpbmsge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAycmVtLCAwICk7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb2NpcmMgMG1zO1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAycmVtO1xuXHRcdFx0XHRib3R0b206IDFyZW07XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0Y29sb3I6ICRyb2FyYW5nZTtcblx0XHRcdFx0QGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjY4NzVyZW0sIDcwMCApO1xuXHRcdFx0XHRAaW5jbHVkZSB0eXBvKCAwLjc1cmVtLCAwLjA0NWVtICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vXG4ucGxhY2VzLXByc2Uge1xuXG5cdCZfX29wdGlvbiB7XG5cblx0XHRwYWRkaW5nLXRvcDogLjVyZW07XG5cblx0XHRAaW5jbHVkZSBicG9pbnQocGhvbmUpIHtcblxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAycmVtO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX190b2dnbGUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdHBhZGRpbmc6IC41ZW0gMCAuNWVtIDMuNWVtO1xuXHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRcdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDNtcztcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRsZWZ0OiAuMTI1ZW07XG5cdFx0XHR0b3A6IC4zMTI1ZW07XG5cdFx0XHRoZWlnaHQ6IDEuMjVlbTtcblx0XHRcdHdpZHRoOiAyLjc1ZW07XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgLjE4NzVlbSAuMDYyNWVtIHJnYmEoYmxhY2ssIC4yMjUpO1xuXHRcdFx0YmFja2dyb3VuZDogJG5ldXRyYWw7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxZW07XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dG9wOiAuMTg3NWVtO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIC4zNzVlbSAuMDYyNWVtIHJnYmEoYmxhY2ssIC4zODUpO1xuXHRcdFx0YmFja2dyb3VuZDogd2hpdGU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHR3aWR0aDogMS41ZW07XG5cdFx0XHRoZWlnaHQ6IDEuNWVtO1xuXHRcdH1cblxuXHRcdCZbYXJpYS1wcmVzc2VkPXRydWVdIHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRsZWZ0OiAxLjVlbTtcblx0XHRcdH1cblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY3ZlbGxvdztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG5cbi5wbGFjZXMtZGVwdCB7XG5cdCZfX29wdGlvbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cblx0Jl9fb3B0aW9uIHtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDNtcztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW46IC41cmVtIDAgMCAwO1xuXHRcdHBhZGRpbmc6IC44MTI1ZW0gMS41ZW0gLjY4NzVlbTtcblx0XHRib3JkZXI6IC4wNjI1ZW0gc29saWQgJGJhY2tncm91bmQ7XG5cdFx0YmFja2dyb3VuZDogJHNlY190ZW1wX29mZl93aGl0ZTtcblx0XHRjb2xvcjogJHN0ZWVsO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogLjc1ZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogLjA0ZW07XG5cblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdG1hcmdpbjogLjVyZW0gLjVyZW0gMCAwO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuXHRcdFx0YmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0fVxuXG5cdFx0JlthcmlhLXByZXNzZWQ9dHJ1ZV0ge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKCRjdm5hdnksIDAuNzg1KTtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJGN2bmF2eSwgMC43ODUpO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdH1cblx0fVxufVxuIiwiLnNpbmdsZS1wbGFjZV9fY29udGVudCB7XG5cdHBhZGRpbmc6IDEuNXJlbSA4dnc7XG5cblx0Ji1pbm5lciB7XG5cdFx0bWF4LXdpZHRoOiA2NXJlbTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxufVxuIiwiLy8gc3R5bGVzaGVldCA6OiBwb3N0IHRlbXBsYXRlKHMpIHN0eWxlc2hlZXQgY29tcGlsZXJcblxuICAgIC8vIGRlZmF1bHRcbiAgICBAaW1wb3J0ICdwb3N0LmRlZmF1bHQnO1xuXG4gICAgLy8gbmV3cyBhcmNoaXZlXG4gICAgQGltcG9ydCAncG9zdC5hcmNoaXZlLm5ld3MnO1xuIiwiLy8gc3R5bGVzaGVldCA6OiBkZWZhdWx0IHBvc3QgdGVtcGxhdGUgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRkZWZhdWx0IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC5wb3N0LXRlbXBsYXRlLWRlZmF1bHQge1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjI0NSApO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRzZWNfdGVtcF9vZmZfd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgLy8gc2l0ZSBsYXlvdXRcbiAgICAgICAgI3NpdGUtbGF5b3V0IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDEuMDAwICk7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgIGltYWdlOiBub25lO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhlYWRlclxuICAgICAgICAucG9zdC1oZWFkZXIge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiA2LjI1cmVtIDh2dyAwIDh2dztcblxuICAgICAgICAgICAgLy8gaDFcbiAgICAgICAgICAgIGgxIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDAgYXV0bztcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250ZW50XG4gICAgICAgIC5wb3N0LWNvbnRlbnQge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDh2dyA0cmVtIDh2dztcblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGRlZmF1bHQgcG9zdCB0ZW1wbGF0ZSBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGRlZmF1bHQgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLmNhdGVnb3J5LW5ld3MuYXJjaGl2ZSB7XG5cbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMjQ1ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJHNlY190ZW1wX29mZl93aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAvLyBzaXRlIGxheW91dFxuICAgICAgICAjc2l0ZS1sYXlvdXQge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgIC5wb3N0LWhlYWRlciB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDYuMjVyZW0gOHZ3IDAgOHZ3O1xuXG4gICAgICAgICAgICAvLyBoMVxuICAgICAgICAgICAgaDEge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMCBhdXRvO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgLnBvc3QtY29udGVudCB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHZ3IDRyZW0gOHZ3O1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250YWluZXJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gNHJlbSA0cmVtIDRyZW07XG5cbiAgICAgICAgICAgIC8vIGFydGljbGVcbiAgICAgICAgICAgIC5hcnRpY2xlIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtc3QoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAzMy4zMzMzMzMzJSAtIDJyZW0gKTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxNnJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMXJlbSAxcmVtIDFyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCBhdXRvLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxLjVyZW0sIDNyZW0sIGJsYWNrLCAwLjQ2NSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMyMG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxLjVyZW0sIDRyZW0sIGJsYWNrLCAwLjI2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIC0xcmVtLCAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBoZWFkZXJcbiAgICAgICAgICAgICAgICAuaGVhZGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2MCU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoIDAuMDAwICkgb3BhY2l0eSggMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY29udGVudFxuICAgICAgICAgICAgICAgIC5jb250ZW50IHtcblxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBkYXRlXG4gICAgICAgICAgICAuZGF0ZSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42ODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC40NjUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgLnRpdGxlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS4yNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuNXJlbSwgMC4wMTVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS4yNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgLmV4Y2VycHQge1xuXG4gICAgICAgICAgICAgICAgcCB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwLjc1cmVtIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMjY1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGFnaW5hdGlvblxuICAgICAgICAucGFnaW5hdGlvbi1jb250YWluZXIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIDFyZW0gMCAxcmVtO1xuXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoICRhcHAwNSwgMC44MjUgKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSggJGFwcDA1LCAwLjgyNSApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnRyb2xzXG4gICAgICAgICAgICAucGFnaW5hdGlvbi1jb250cm9scyB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgICAgICAucGFnZS1udW1iZXJzIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4xODc1cmVtIDAuNXJlbSAwIDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjI2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzIwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjYW1wYWlnbiwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGRpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICYuZGlzYWJsZWQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjYyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBjdXJyZW50IHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC41cmVtIDAgMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi5wb3N0LXR5cGUtYXJjaGl2ZS1zdHVkZW50X29yZ2FuaXphdGlvbixcbi5zaW5nbGUtc3R1ZGVudF9vcmdhbml6YXRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kOiAkc2VjX3RlbXBfb2ZmX3doaXRlO1xuXHRjb2xvcjogJHN0ZWVsO1xuXHRmb250LXNpemU6IDFyZW07XG5cblx0LmNvbnRlbnQtYXJlYSB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHR9XG59XG5cbkBpbXBvcnQgJ2hlYWRlcic7XG5cbi8vIGFyY2hpdmVcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vLyBzaW5nbGVcbkBpbXBvcnQgJ2NvbnRlbnQnO1xuIiwiLnN0dWRlbnQtb3JncyB7XG5cdCZfX2hlYWRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZSB1cmwoLi4vaW1nL2JpbGxib2FyZHMvYmlsbGJvYXJkLjI0LmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuXHRcdC8vIG92ZXJsYXlcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJGN2bmF2eSwgLjc2KTtcblx0XHR9XG5cblx0XHQmLWlubmVyIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0bWluLWhlaWdodDogNTB2aDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0cGFkZGluZzogNXJlbSA4dncgMS41cmVtO1xuXG5cdFx0XHQuc2luZ2xlICYge1xuXHRcdFx0XHRtYXgtd2lkdGg6IGNhbGMoNjVyZW0gKyAoOHZ3ICogMikpO1xuXHRcdFx0fVxuXG5cdFx0XHQmID4gKiB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLXRpdGxlIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGNvbG9yOiAkY3ZlbGxvdztcblx0XHRcdGZvbnQtZmFtaWx5OiAka2xhdmlzbGltO1xuXHRcdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjExNGVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyLjc1cmVtO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0XHRmb250LXNpemU6IDNyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIuc3R1ZGVudC1vcmdzX19ncmlkIHtcblx0cGFkZGluZzogMS41cmVtIDh2dztcblxuXHQmLWlubmVyIHtcblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdH1cblx0fVxuXG5cdCYtaXRlbSB7XG5cdFx0JGJsb2NrOiAmO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRib3gtc2hhZG93OiAwIC41ZW0gMWVtIDAgdHJhbnNwYXJlbnRpemUoJGRhcmstbml0ZSwgLjYyNSk7XG5cdFx0bWFyZ2luLXRvcDogMmVtO1xuXHRcdGJhY2tncm91bmQ6IHdoaXRlIHVybCguLi9pbWcvYmlsbGJvYXJkcy9iaWxsYm9hcmQuMjQuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXHRcdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMWVtKTtcblxuXHRcdFx0JjpudGgtY2hpbGQoLW4rMikgeyAvLyBmaXJzdCB0d28gaXRlbXNcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMmVtO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHR3aWR0aDogY2FsYygoMTAwJSAvIDMpIC0gKDJlbSAqIDIgLyAzKSAgLSAuMXB4KTsgLy8gcmVtb3ZlIC4xcHggdG8gZml4IElFIG5vdCBjYWxjdWxhdGluZyBwZXJjZW50YWdlcyB0aGUgc2FtZSBhcyByZWFsIGJyb3dzZXJzXG5cblx0XHRcdCY6bnRoLWNoaWxkKC1uKzMpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdH1cblxuXHRcdFx0Jjpub3QoOm50aC1jaGlsZCgzbisxKSkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMmVtO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwb2ludCh3aWRlc2NyZWVuKSB7XG5cdFx0XHR3aWR0aDogY2FsYygyNSUgLSAoMmVtICogMyAvIDQpKTtcblxuXHRcdFx0JjpudGgtY2hpbGQoLW4rNCkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm5vdCg6bnRoLWNoaWxkKDNuKzEpKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm5vdCg6bnRoLWNoaWxkKDRuKzEpKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDNtcztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ZmxleC1ncm93OiAxO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgkc2VjX3RlbXBfd2hpdGUsIC43Mik7XG5cdFx0XHRwYWRkaW5nLXRvcDogNTAlO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0dG8gdG9wLFxuXHRcdFx0XHRcdHJnYmEoJGRhcmssIC44NSkgMCxcblx0XHRcdFx0XHRyZ2JhKCRkYXJrLCAuNykgNSUsXG5cdFx0XHRcdFx0cmdiYSgkZGFyaywgLjU1KSAxMCUsXG5cdFx0XHRcdFx0cmdiYSgkZGFyaywgLjQpIDE1JSxcblx0XHRcdFx0XHRyZ2JhKCRkYXJrLCAuMjUpIDIwJSxcblx0XHRcdFx0XHRyZ2JhKCRkYXJrLCAuMSkgMjUlLFxuXHRcdFx0XHRcdHJnYmEoJGRhcmssIDApIDUwJVxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXG5cdFx0XHQjeyAkYmxvY2sgfS1uYW1lIHtcblx0XHRcdFx0Y29sb3I6ICRzZWNfdGVtcF93aGl0ZTtcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkZGFyaywgLjk1KSwgcmdiYSgkZGFyaywgLjg1KSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji1uYW1lIHtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAzNjBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgM21zO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRzZWNfdGVtcF93aGl0ZSwgLjcyKTtcblx0XHRcdHBhZGRpbmc6IC4yNWVtIDFlbSAuNzVlbTtcblx0XHRcdGNvbG9yOiAkZzEzNTtcblx0XHRcdGZvbnQtZmFtaWx5OiAka2xhdmlzbGltO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAuMWVtO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdH1cbn1cbiIsIi5zdHVkZW50LW9yZ19fY29udGVudCB7XG5cdHBhZGRpbmc6IDEuNXJlbSA4dnc7XG5cblx0Ji1pbm5lciB7XG5cdFx0bWF4LXdpZHRoOiA2NXJlbTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxufVxuIiwiLmVycm9yNDA0IHtcblxuXHQmX19jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZSB1cmwoLi4vaW1nL2JpbGxib2FyZHMvYmlsbGJvYXJkLjQwNC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY292ZXI7XG5cdFx0cGFkZGluZy10b3A6IDVyZW07XG5cdH1cblxuXHQmX19pbm5lciB7XG5cdFx0cGFkZGluZzogOHZ3O1xuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0Y29sb3I6ICRvaWw7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0Jl9faGlkZGVuIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Y29sb3I6IHJnYmEod2hpdGUsIC4zKTtcblx0XHRmb250LWZhbWlseTogJGluZHVzdHJ5O1xuXHRcdGZvbnQtc2l6ZTogY2FsYyg1cmVtICsgMTV2dyk7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0dGV4dC1zaGFkb3c6IDAgMCAuNWVtIHJnYmEoJHByb3BlciwgLjkpO1xuXHR9XG5cblx0Jl9faGVhZGluZyB7XG5cdFx0Zm9udC1mYW1pbHk6ICRpbmR1c3RyeTtcblx0XHRmb250LXNpemU6IGNhbGMoMXJlbSArIDF2dyk7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdEBpbmNsdWRlIGNvbG9yKCAkZzEzNSwgMC4wMDAgKTtcblx0fVxuXG5cdCZfX21lc3NhZ2Uge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG59XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGhvbWVwYWdlIGxheW91dCBzdHlsZXNoZWV0IGNvbXBpbGVyXG5cbiAgICAvLyBjYW1wYWlnbi5idXR0b25cbiAgICBAaW1wb3J0ICdidXR0b24uY2FtcGFpZ24nO1xuXG4gICAgLy8gbGluay5saXN0c1xuICAgIC8vIEBpbXBvcnQgJ2xpbmsubGlzdHMnO1xuXG4gICAgLy8gc29jaWFsLm1lZGlhXG4gICAgQGltcG9ydCAnc29jaWFsLm1lZGlhJztcbiIsIi8vIHN0eWxlc2hlZXQgOjogY2FtcGFpZ24gYnV0dG9uXG5cbiAgICAvLyBzdHlsZXNcbiAgICAjY2FtcGFpZ24tYnV0dG9uIHtcblxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDgwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICBtaW4taGVpZ2h0OiA0cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMCAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgIGJvcmRlcjogLjAxMjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuNDY1ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZm9udCggJHZpdGVzc2UsIDFyZW0sIDcwMCApO1xuXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjIsIDAuMDI1ZW0gKTtcblxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjYW1wYWlnbjtcblxuICAgICAgICAgICAgY29sb3I6ICRjYW1wYWlnbjtcblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHNvY2lhbCBtZWRpYSBsaW5rc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkc29jaWFsX2J1dHRvbiA6IDJyZW07XG5cbiAgICAuc29jaWFsLW1lZGlhIHtcblxuICAgICAgICAmLmJ1dHRvbiB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgIHdpZHRoOiAkc29jaWFsX2J1dHRvbjtcbiAgICAgICAgICAgIGhlaWdodDogJHNvY2lhbF9idXR0b247XG4gICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtIDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDAuNXJlbTtcblxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogJGFsbDIyMDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgIC5wYXRoIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbC1vcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG5cbiAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgIC5wYXRoIHtcblxuICAgICAgICAgICAgICAgICAgICBmaWxsLW9wYWNpdHk6IDAuNTY1O1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGFiZWxcbiAgICAgICAgICAgIC5saW5rLWxhYmVsIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmZhY2Vib29rIHtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGZhY2Vib29rLCAwLjExNSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudHdpdHRlciB7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICR0d2l0dGVyLCAwLjA4NSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubGlua2VkaW4ge1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbGlua2VkaW4sIDAuMTA1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pbnN0YWdyYW0ge1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODQ1O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG5cdFx0XHRcdFx0XHRpbWFnZTogdXJsKC4uL2ltZy9pY29ucy9zb2NpYWwvaW5zdGFncmFtLmdyYWRpZW50LnBuZyk7XG5cdFx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdHNpemU6IDY0cHggNjRweDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG5cdFx0XHRcdFx0fVxuXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnBpbnRlcmVzdCB7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRwaW50ZXJlc3QsIDAuMTI1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi55b3V0dWJlIHtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHlvdXR1YmUsIDAuMTY1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mbGlja3Ige1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuXHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0JjphZnRlciB7XG5cblx0XHRcdFx0XHRjb250ZW50OiAnJztcblxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdFx0XHRcdHRvcDogMTZweDtcblx0XHRcdFx0XHRib3R0b206IDE2cHg7XG5cblx0XHRcdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdFx0XHR3aWR0aDogOHB4O1xuXHRcdFx0XHRcdGhlaWdodDogOHB4O1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogJGFsbDIyMDtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblxuXHRcdFx0XHRcdFx0dG9wOiAxNHB4O1xuXHRcdFx0XHRcdFx0Ym90dG9tOiAxNHB4O1xuXG5cdFx0XHRcdFx0XHR3aWR0aDogNnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA2cHg7XG5cblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXG5cdFx0XHRcdFx0bGVmdDogMTFweDtcblxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHtcblxuXHRcdFx0XHRcdFx0Y29sb3I6IHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjc2NSk7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cblx0XHRcdFx0XHRcdGxlZnQ6IDEwcHg7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXG5cdFx0XHRcdFx0cmlnaHQ6IDExcHg7XG5cblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cblx0XHRcdFx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC40ODUpO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXG5cdFx0XHRcdFx0XHRyaWdodDogMTBweDtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpmb2N1cyxcblx0XHRcdFx0Jjpob3ZlciB7XG5cblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cblx0XHRcdFx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC4zMTUpO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibGlja3I7XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRwbGlja3I7XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuc29jaWFsLW1lZGlhLWxpbmtzIHtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBtZW51IGJ1dHRvbiBzdHlsZXNoZWV0IGNvbXBpbGVyXG5cbiAgICAvLyBnbG9iYWxzXG4gICAgQGltcG9ydCAnYnV0dG9uLmdsb2JhbHMnO1xuXG4gICAgLy8gYnV0dG9uLm1lbnVcbiAgICBAaW1wb3J0ICdidXR0b24ubWVudSc7XG5cbiAgICAvLyBidXR0b24ub3B0aW9uc1xuICAgIEBpbXBvcnQgJ2J1dHRvbi5vcHRpb25zJztcbiIsIi8vIHN0eWxlc2hlZXQgOjogZ2xvYmFsIG1lbnUgYnV0dG9uIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkYnV0dG9uX3dpZHRoICA6IDRyZW07XG4gICAgJGJ1dHRvbl9oZWlnaHQgOiA0cmVtO1xuICAgICRidXR0b25faG92ZXIgIDogYWxsIDI4MG1zIGxpbmVhciAwbXM7XG5cbiAgICAvLyBtZW51LmJ1dHRvblxuICAgIC5tZW51LWJ1dHRvbiB7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIHdpZHRoOiAkYnV0dG9uX3dpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRidXR0b25faGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogJGJ1dHRvbl9ob3ZlcjtcblxuICAgIH1cblxuICAgIC8vIHVpLmJ1dHRvblxuICAgIC51aS1idXR0b24ge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDFweCAxLjVyZW0gMCAxLjVyZW07XG5cbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQ4MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50aXplKCAkZ29sZCwgMC4zODUgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjY4NzVyZW0sIDYwMCApO1xuXG4gICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNzVyZW0sIDAuMDg1ZW0gKTtcblxuICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgZW0ge1xuXG4gICAgICAgICAgICBmb250OiB7XG5cbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgICAgICBzdHlsZTogbm9ybWFsO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSggd2hpdGUsIDAuNTY1ICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG5cbiAgICAgICAgICAgIGZvbnQ6IHtcblxuICAgICAgICAgICAgICAgIHdlaWdodDogaW5oZXJpdDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gY29ybmVycyBidXR0b25cbiAgICAuY29ybmVycy1idXR0b24ge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICBtYXJnaW46IDEuMzc1cmVtIDAgMCAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAwLjg3NXJlbSwgNTAwICk7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuNjg3NXJlbTtcblxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xMTVlbTtcblxuICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDEuMDAwICk7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgIC8vIGNvcm5lcnNcbiAgICAgICAgICAgIC5jb3JuZXJzIHtcblxuICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgICYucmlnaHQsXG4gICAgICAgICAgICAgICAgJi5sZWZ0IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsaW5lc1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxMjBtcyAkb2NpcmMgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGxlZnRcbiAgICAgICAgICAgICAgICAmLmxlZnQge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRvcFxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggMTAwJSAtIDAuNzVyZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBib3R0b21cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gMC43NXJlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAzMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHJpZ2h0XG4gICAgICAgICAgICAgICAgJi5yaWdodCB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdG9wXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAwLjc1cmVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYm90dG9tXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIDEwMCUgLSAwLjc1cmVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvcm5lcnNcbiAgICAgICAgLmNvcm5lcnMge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG5cbiAgICAgICAgICAgIC8vIGxlZnRcbiAgICAgICAgICAgICYubGVmdCB7XG5cbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0b3BcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYm90dG9tXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMzBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyByaWdodFxuICAgICAgICAgICAgJi5yaWdodCB7XG5cbiAgICAgICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdG9wXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJvdHRvbVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwbXM7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGluZXNcbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMC43NXJlbTtcblxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnb2xkO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI0MG1zICRvY2lyYyAwbXM7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaGlkZVxuICAgICAgICAuaGlkZSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBtZW51LnNpdGUgYnV0dG9uIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkc2l0ZV9tZW51IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC5tYWluLW1lbnUtYnV0dG9uIHtcblxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTI1ICk7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaW5lXG4gICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC44NjUgKTtcblxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAvLyBpY29uXG4gICAgICAgICAgICAuYnV0dG9uLWljb24ge1xuXG4gICAgICAgICAgICAgICAgLy8gb3BlblxuICAgICAgICAgICAgICAgICYub3Blbi1tZW51IHtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICAvLyBsaW5lc1xuICAgICAgICAgICAgICAgICAgICAubGluZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbC1vcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggLTAuMjVyZW0sIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQ4MG1zICRvcXVpbiAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGRvdHNcbiAgICAgICAgICAgICAgICAgICAgLmRvdCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsLW9wYWNpdHk6IDEuMDAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAtMC4xMjVyZW0sIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDQ4MG1zICRvcXVpbiAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIG9wZW4gZ3JvdXBcbiAgICAgICAgICAgICAgICAgICAgLm9wZW4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5lIDFcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sMSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGluZSAyXG4gICAgICAgICAgICAgICAgICAgICAgICAubDIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5lIDNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sMyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNW1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmUgNFxuICAgICAgICAgICAgICAgICAgICAgICAgLmw0IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDQ1bXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGluZSA1XG4gICAgICAgICAgICAgICAgICAgICAgICAubDUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogNzBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5lIDZcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sNiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBkb3QgMVxuICAgICAgICAgICAgICAgICAgICAgICAgLmQxIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBkb3QgMlxuICAgICAgICAgICAgICAgICAgICAgICAgLmQyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG90IDNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kMyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNW1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRvdCA0XG4gICAgICAgICAgICAgICAgICAgICAgICAuZDQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogNDVtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBkb3QgNVxuICAgICAgICAgICAgICAgICAgICAgICAgLmQ1IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDcwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG90IDZcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kNiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBvcGVuXG4gICAgICAgICAgICAub3BlbiB7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY2xvc2VcbiAgICAgICAgICAgIC5jbG9zZSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudSBvcGVuIHN0YXRlXG4gICAgICAgICYuc2l0ZS1tZW51LW9wZW4ge1xuXG4gICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICBjdXJzb3I6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU16SndlQ0lnYUdWcFoyaDBQU0l6TW5CNElpQjJhV1YzUW05NFBTSXdJREFnTXpJZ016SWlQanh3WVhSb0lHWnBiR3c5SWlOR1JrWkdSa1lpSUdROUlrMHhOeTQwTVRRc01UWnNOeTQzTnpnc055NDNOemhzTFRFdU5ERTBMREV1TkRFMFRERTJMREUzTGpReE5Hd3ROeTQzTnpnc055NDNOemhzTFRFdU5ERTBMVEV1TkRFMFRERTBMalU0Tml3eE5rdzJMamd3T0N3NExqSXlNaUJzTVM0ME1UUXRNUzQwTVRSTU1UWXNNVFF1TlRnMmJEY3VOemM0TFRjdU56YzRiREV1TkRFMExERXVOREUwVERFM0xqUXhOQ3d4Tm5vaVBqd3ZjR0YwYUQ0OEwzTjJaejQ9KSAxNiAxNiwgYXV0bztcblxuICAgICAgICAgICAgICAgIC5jbG9zZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICM4RjNEMjUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0ODBtcyAkb3V0ZXggNDgwbXM7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGFiZWxcbiAgICAgICAgICAgIC5sYWJlbCB7XG5cbiAgICAgICAgICAgICAgICAvLyBvcGVuIG1lbnVcbiAgICAgICAgICAgICAgICAmLm9wZW4ge1xuXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSggMTgwZGVnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjpcblxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAyMjBtcyBsaW5lYXIgMG1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSA0MjBtcyAkb3V0ZXggMG1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSA0MjBtcyAkb3V0ZXggMG1zXG5cbiAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY2xvc2UgbWVudVxuICAgICAgICAgICAgICAgICYuY2xvc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoIDBkZWcgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDIyMG1zIGxpbmVhciAwbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDQyMG1zICRvdXRleCAwbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDQyMG1zICRvdXRleCAwbXNcblxuICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGFiZWxcbiAgICAgICAgLmxhYmVsIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDAgMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjU2MjVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjM3NXJlbSwgMC4wODVlbSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjIyNSApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjU2MjVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJhc2VcbiAgICAgICAgICAgICYub3BlbiB7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEuMDAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFuaW1hdGlvblxuICAgICAgICAgICAgJi5vcGVuIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAxLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKCAwZGVnICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMjIwbXMgbGluZWFyIDBtcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSA0MjBtcyAkb3V0ZXggMG1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDQyMG1zICRvdXRleCAwbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgMjIwbXMgbGluZWFyIDBtc1xuXG4gICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJhc2VcbiAgICAgICAgICAgICYuY2xvc2Uge1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjQ4NSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggIzhGM0QyNSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhbmltYXRpb25cbiAgICAgICAgICAgICYuY2xvc2Uge1xuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoIC0xODBkZWcgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAyMjBtcyBsaW5lYXIgMG1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDQyMG1zICRvdXRleCAwbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgNDIwbXMgJG91dGV4IDBtc1xuXG4gICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBtZW51Lm9wdGlvbnMgYnV0dG9uIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkc2l0ZV9tZW51IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNzaXRlLW9wdGlvbnMtYnV0dG9uIHtcblxuICAgICAgICByaWdodDogMDtcblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50aXplKCAkbml0ZSwgMC41ODUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uLWljb24ge1xuXG4gICAgICAgICAgICAgICAgLnBhdGgge1xuXG4gICAgICAgICAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGJ1dHRvbl9ob3ZlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG5cbiAgICAgICAgICAgIC8vXG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24taWNvbiB7XG5cbiAgICAgICAgICAgIC5wYXRoIHtcblxuICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogMC41NjU7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkYnV0dG9uX2hvdmVyO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBtZW51IGNvbXBvbmVudCBzdHlsZXNoZWV0IGNvbXBpbGVyXG5cbiAgICAvLyBzaXRlLm1lbnVcbiAgICBAaW1wb3J0ICdtZW51LnNpdGUnO1xuXG4gICAgLy8gYmFzZS5tZW51XG4gICAgQGltcG9ydCAnbWVudS5iYXNlJztcblxuICAgIC8vIG1lbnUudG9vbGJhclxuICAgIEBpbXBvcnQgJ21lbnUudG9vbGJhcic7XG5cbiAgICAvLyBwYW5lbHNcbiAgICBAaW1wb3J0ICdwYW5lbHMvcGFuZWxzJztcbiIsIi8vIHN0eWxlc2hlZXQgOjogc2l0ZSBtZW51IGNvbXBvbmVudCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJG1lbnVfd2lkdGggIDogMjhyZW07XG4gICAgJG1lbnVfaGVpZ2h0IDogY2FsYyggMTAwdmggLSA1cmVtICk7XG5cbiAgICAvLyBjb2xvcnNcbiAgICAkbWVudV9maWxsOlxuXG4gICAgICAgIGFkanVzdC1jb2xvcihcblxuICAgICAgICAgICAgJG1pZG5pdGUsXG4gICAgICAgICAgICAkaHVlICAgICAgICAgIDogMCUsXG4gICAgICAgICAgICAkc2F0dXJhdGlvbiA6IC0xMCUsXG4gICAgICAgICAgICAkbGlnaHRuZXNzICA6IDAlLFxuICAgICAgICAgICAgJGFscGhhICAgICAgICAgOiAtMC4wMDBcblxuICAgICAgICApXG5cbiAgICA7XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjc2l0ZS1tZW51IHtcblxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgICAgICAgdG9wOiA1cmVtO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgei1pbmRleDogMTEwO1xuXG4gICAgICAgIHdpZHRoOiAkbWVudV93aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkbWVudV9oZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJG1lbnVfZmlsbCwgMS4wMDAgKTtcblxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDI4cmVtLCAwLCAwICk7XG5cbiAgICAgICAgdHJhbnNpdGlvbjpcblxuICAgICAgICAgICAgaGVpZ2h0IDQ4MG1zICRvdXRleCAwbXMsXG4gICAgICAgICAgICAgICB0b3AgNDgwbXMgJG91dGV4IDBtc1xuXG4gICAgICAgIDtcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgIHRvcDogNHJlbTtcblxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMHZ3IC0gNHJlbSApO1xuICAgICAgICAgICAgLy8gd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAxMDB2aCAtIDRyZW0gKTtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMTAwJSwgMCwgMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvcGVuIHN0YXRlXG4gICAgICAgICYuaXMtb3BlbiB7XG5cbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFjdGl2ZSBhbGVydFxuICAgICAgICBbZGF0YS1hbGVydC1zdGF0dXM9J2hhc19hbGVydCddICYge1xuXG4gICAgICAgICAgICB0b3A6IDEwcmVtO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIDEwMHZoIC0gMTByZW0gKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjpcblxuICAgICAgICAgICAgICAgIGhlaWdodCA0ODBtcyAkb3V0ZXggMG1zLFxuICAgICAgICAgICAgICAgICAgIHRvcCA0ODBtcyAkb3V0ZXggMG1zXG5cbiAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHRvcDogOHJlbTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyggMTAwdmggLSA4cmVtICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGFyZW50IGNsYXNzXG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXNlY29uZGFyeSAmLFxuICAgICAgICAuc2luZ2xlLWRlZ3JlZS1wcm9ncmFtICYsXG4gICAgICAgIC5hcmNoaXZlICYge1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAyOHJlbSwgMCwgMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjbG9zZSBidXR0b25cbiAgICAgICAgI2Nsb3NlLXNpdGUtbWVudSB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgdG9wOiAtNHJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwLjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4zNDUgKTtcblxuICAgICAgICAgICAgLy8gdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRweC1vcmFuZ2UsIDAuMTI1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc3ZnXG4gICAgICAgICAgICAuaWNvbiB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgLy8gcGF0aFxuICAgICAgICAgICAgICAgIC5wYXRoIHtcblxuICAgICAgICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0YWJzXG4gICAgICAgIC50YWJzLWNvbnRlbnQge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogc2l0ZSBtZW51IGNvbXBvbmVudCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJG1lbnVfd2lkdGggIDogLTI0cmVtO1xuICAgICRtZW51X2hlaWdodCA6IGNhbGMoIDEwMHZoIC0gNHJlbSApO1xuICAgIC8vICRtZW51X2hlaWdodCA6IDEwMHZoO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI2Jhc2UtbWVudSB7XG5cbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAgIHRvcDogNHJlbTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIHotaW5kZXg6IDIwMDtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgd2lkdGg6ICRtZW51X3dpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRtZW51X2hlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC8vIGJvcmRlci1sZWZ0OiAkYm9yZGVycztcblxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRkYXJrLW5pdGUsIDAuNDE1ICk7XG5cbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAkbWVudV93aWR0aCwgMCwgMCApO1xuXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAgICAgLy8gb3BlbiBzdGF0ZVxuICAgICAgICAmLmlzLW9wZW4ge1xuXG4gICAgICAgICAgICAvLyB0aGUgZW1wdGluZXNzXG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJlbW92ZSAhISFcbiAgICAgICAgJi5zaXRlLW1lbnUtb3BlbiB7XG5cbiAgICAgICAgICAgIC8vXG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNsb3NlIGJ1dHRvblxuICAgICAgICAjY2xvc2Utc2l0ZS1tZW51IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IC00cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDAuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHB4LW9yYW5nZSwgMC4zNDUgKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRweC1vcmFuZ2UsIDAuMTI1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc3ZnXG4gICAgICAgICAgICAuaWNvbiB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgLy8gcGF0aFxuICAgICAgICAgICAgICAgIC5wYXRoIHtcblxuICAgICAgICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogc2l0ZSBtZW51IGNvbXBvbmVudCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHRvb2xiYXJfd2lkdGggIDogNXJlbTtcbiAgICAkdG9vbGJhcl9oZWlnaHQgOiBjYWxjKCAxMDB2aCAtIDVyZW0gKTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNzaXRlLW1lbnUtdG9vbGJhciB7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC01cmVtO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtYyggZmFsc2UgKTtcblxuICAgICAgICB3aWR0aDogJHRvb2xiYXJfd2lkdGg7XG4gICAgICAgIGhlaWdodDogJHRvb2xiYXJfaGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRuaXRlLCAwLjYxNSApO1xuXG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KCAwZGVnLCAkbml0ZSwgMC41NjUsIDAlLCAkbml0ZSwgMC4zMjUsIDEwMCUgKTtcblxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDM2MG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAvLyB0b3A6IDRyZW07XG4gICAgICAgICAgICByaWdodDogLTRyZW07XG5cbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAxMDB2aCAtIDRyZW0gKTtcblxuICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggNHJlbSwgMCwgMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgLy9cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudSBvcGVuIHN0YXRlXG4gICAgICAgICYuc2l0ZS1tZW51LW9wZW4ge1xuXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBncmFkaWVudCggMGRlZywgJGJsdWUsIDEuMDAwLCAwJSwgJGN2bmF2eSwgMC40NjUsIDEwMCUgKTtcblxuICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgLy9cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb21tb25cbiAgICAgICAgLnNpdGUtbWVudS1idXR0b24ge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDAuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDEuMDAwICk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTQ1ICk7XG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMTQ1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBzdmdcbiAgICAgICAgICAgICAgICAuaWNvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gcGF0aFxuICAgICAgICAgICAgICAgICAgICAucGF0aCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGZvY3VzIHN0YXRlXG4gICAgICAgICAgICAmOmZvY3VzIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjkyNSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxpbmsgbGFiZWxcbiAgICAgICAgICAgIC5saW5rLWxhYmVsIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzdmdcbiAgICAgICAgICAgIC5pY29uIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcblxuICAgICAgICAgICAgICAgIC8vIGhpZGRlbiBjbGFzc1xuICAgICAgICAgICAgICAgICYuaGlkZGVuIHtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcGF0aFxuICAgICAgICAgICAgICAgIC5wYXRoIHtcblxuICAgICAgICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc2NTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogbWVudSBwYW5lbHMgY29tcGlsZXJcblxuICAgIC8vIGdsb2JhbHNcbiAgICBAaW1wb3J0ICdwYW5lbC5nbG9iYWxzJztcblxuICAgIC8vIHBhbmVsLm1haW5cbiAgICBAaW1wb3J0ICdwYW5lbC5zaXRlLm1lbnUnO1xuXG4gICAgLy8gcGFuZWwuZ2xvYmFsXG4gICAgQGltcG9ydCAncGFuZWwuZ2xvYmFsLm1lbnUnO1xuXG4gICAgLy8gcGFuZWwuc2VhcmNoXG4gICAgQGltcG9ydCAncGFuZWwuc2VhcmNoJztcblxuICAgIC8vIHBhbmVsLmV2ZW50c1xuICAgIEBpbXBvcnQgJ3BhbmVsLmV2ZW50cyc7XG5cbiAgICAvLyBwYW5lbC5yZXNvdXJjZXNcbiAgICBAaW1wb3J0ICdwYW5lbC5yZXNvdXJjZXMnO1xuXG4gICAgLy8gcGFuZWwuc29jaWFsLm1lZGlhXG4gICAgQGltcG9ydCAncGFuZWwuc29jaWFsLm1lZGlhJztcblxuICAgIC8vIHBhbmVsLmRpcmVjdG9yeVxuICAgIEBpbXBvcnQgJ3BhbmVsLmRpcmVjdG9yeSc7XG5cbiAgICAvLyBwYW5lbC5uZXdzXG4gICAgQGltcG9ydCAncGFuZWwubmV3cyc7XG4iLCIvLyBzdHlsZXNoZWV0IDo6IG1lbnUgcGFuZWwgZ2xvYmFsc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkaGVhZGVyX3dpZHRoICA6IDEwMCU7XG4gICAgJGhlYWRlcl9oZWlnaHQgOiA1cmVtO1xuXG4vLyBzdHlsZXNcblxuICAgIC8vIHBhbmVsXG4gICAgLm1lbnUtcGFuZWwge1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA1cmVtIDAgMCAwO1xuXG4gICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC41NjI1cmVtLCA3MDAgKTtcblxuICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGFwcDA1LCAwLjM0NSApO1xuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAxMDB2aCAtIDRyZW0gKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gMCAwIDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluYWN0aXZlIHN0YXRlXG4gICAgICAgICYuaW5hY3RpdmUge1xuXG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuXG4gICAgICAgICAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgIC8vIG9wYWNpdHk6IDAuMDAwO1xuXG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAyOHJlbSwgMCwgMCApO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjQwbXMgJG9jaXJjIDYwbXM7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFjdGl2ZSBzdGF0ZVxuICAgICAgICAmLmFjdGl2ZSB7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAvLyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICAvLyBvcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG9jaXJjIDYwbXM7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYW5lbC10ZXh0IHtcblxuICAgICAgICAgICAgLy8gbWFyZ2luOiAxcmVtIDJyZW0gMXJlbSAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41NXJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIGhlYWRlclxuICAgIC5wYW5lbC1oZWFkZXIge1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYiggZmFsc2UgKTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyX2hlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMXJlbSAxcmVtIDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuNzVyZW07XG5cbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDg1ZW07XG5cbiAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTQ1ICk7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgI21lbnUtcGFuZWwtYnVpbGQge1xuXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcblxuICAgICAgICAucGFuZWwtaW50ZXJpb3Ige1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogcGFuZWwuc2l0ZS5tZW51IGNvbXBvbmVudCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHBhbmVsX3NpemUgOiBjYWxjKCAxMDAlIC0gNXJlbSApO1xuXG4gICAgLy8gY29sb3JzXG4gICAgJHN1Ym1lbnVfZmlsbDpcblxuICAgICAgICBhZGp1c3QtY29sb3IoXG5cbiAgICAgICAgICAgICRiZWlnZSxcbiAgICAgICAgICAgICRodWUgICAgICAgICAgOiAwJSxcbiAgICAgICAgICAgICRzYXR1cmF0aW9uIDogLTEwJSxcbiAgICAgICAgICAgICRsaWdodG5lc3MgIDogLTUlLFxuICAgICAgICAgICAgJGFscGhhICAgICAgICAgOiAtMC4wMDBcblxuICAgICAgICApXG5cbiAgICA7XG5cbiAgICAvLyBtYWluIG1lbnVcbiAgICAjbWVudS1wYW5lbC1tYWluIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgcGFkZGluZzogNXJlbSAwIDAgMDtcblxuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuXG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRhcHAwNSwgMC4xODUgKTtcblxuICAgICAgICBAaW5jbHVkZSBncmFkaWVudCggMGRlZywgJGcxNDAsIDAuMzI1LCAwJSwgdHJhbnNwYXJlbnQsIDEuMDAwLCA1MCUgKTtcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gMCAwIDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGhlYWRlclxuICAgICAgICAucGFuZWwtaGVhZGVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxNDAsIDAuNDY1ICk7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkZ29sZDtcbiAgICAgICAgICAgIC8vIGNvbG9yOiAkZzE0MDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudSBjb250YWluZXJcbiAgICAgICAgI21lbnUtcGFuZWwtbWFpbi1tZW51IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgLy8gbWVudVxuICAgICAgICAgICAgPiAubWVudSB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbWVudSBpdGVtXG4gICAgICAgICAgICAubWVudS1pdGVtIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAvLyBwYXJlbnQgaXRlbVxuICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGV4cGFuZGVkIGNsYXNzXG4gICAgICAgICAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiAkZzE0MDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzEzNSwgMC40NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFycm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoIC0xODBkZWcgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhcnJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSggLTE4MGRlZyApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYXJyb3dcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDFyZW0sIDFyZW0sIDAsIDFyZW0sICRnb2xkLCAnXFxlZGM5JyApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSggMGRlZyApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhcnJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2RpY29uKCAxcmVtLCAxcmVtLCAwLCAxcmVtLCAkZ29sZCwgJ1xcZWRjOScgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSggMGRlZyApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBzdWJtZW51XG4gICAgICAgICAgICAgICAgICAgIC5zdWJtZW51IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdC1jb2xvcihcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1pZG5pdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaHVlICAgICAgICAgIDogMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2F0dXJhdGlvbiA6IC0xMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzICA6IDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFscGhhICAgICAgICAgOiAtMC4yMTVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuNDY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDFyZW0gMCAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBnbG9iYWwgbWVudVxuICAgICAgICAgICAgICAgICYuY29sbGVnZS1tZW51IHtcblxuICAgICAgICAgICAgICAgICAgICA+IGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2RpY29uKCAxcmVtLCAxcmVtLCAwLCAxcmVtLCAkZ29sZCwgJ1xcRTkwNCcgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGdsb2JhbFxuICAgICAgICAgICAgICAgICAgICAubWVudS1pdGVtIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjM2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zNjU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaW5kaXZpZHVhbCBzdHlsZXNcbiAgICAgICAgICAgICAgICAgICAgLmxpbmstY29sbGVnZS1ob21lIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIDEuMDAwLCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnMTQwLCAwLjI4NSwgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWJvdXRcbiAgICAgICAgICAgICAgICAgICAgLmxpbmstYWJvdXQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN2ZWxsb3csIDAuNjg1LCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBzdHVkZW50c1xuICAgICAgICAgICAgICAgICAgICAubGluay1zdHVkZW50cyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAxLjAwMCwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmx1ZSwgMC40ODUsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHJlc2VhcmNoXG4gICAgICAgICAgICAgICAgICAgIC5saW5rLXJlc2VhcmNoIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIDEuMDAwLCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdm5hdnksIDAuMjg1LCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBvdXRyZWFjaFxuICAgICAgICAgICAgICAgICAgICAubGluay1vdXRyZWFjaCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAxLjAwMCwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcm9hcmFuZ2UsIDAuNTg1LCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhbHVtbmlcbiAgICAgICAgICAgICAgICAgICAgLmxpbmstYWx1bW5pIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIDEuMDAwLCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvcmFuZ2UsIDAuNDY1LCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMy4wNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAxcmVtIDAgMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoIHdoaXRlLCAwLjg5NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA5NWVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDEuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ29sZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gc3VibWVudVxuICAgICAgICAgICAgICAgIC5zdWJtZW51IHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGdsb2JhbCBsaW5rXG4gICAgICAgICAgICAjZ2xvYmFsLW1lbnUtbGluayB7XG5cbiAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgLnNpdGUtbWVudS1idXR0b24ge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjA2MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtIDAgMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoIHdoaXRlLCAwLjg5NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2NWVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjg2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBpY29uXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMXJlbSwgJGdvbGQsICdcXEU5MDQnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhcnJvd1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMXJlbSwgJGdvbGQsICdcXEVEQzgnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudSBsaXN0XG4gICAgICAgICNnbG9iYWwtbWVudS1saXN0IHtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAvLyBpdGVtXG4gICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaG9tZVxuICAgICAgICAgICAgI21lbnUtbGluay1ob21lIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjc4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgICAgIC5saW5rLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZCBvbiBtZW51IG9wZW5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2FkZWQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9tZW51cy9tZW51Lml0ZW0uaG9tZS5qcGcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gb3ZlcmxheVxuICAgICAgICAgICAgICAgIC5saW5rLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1pZG5pdGUsIDAuNDY1LCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZzEzNSwgMS4wMDAsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWJvdXRcbiAgICAgICAgICAgICNtZW51LWxpbmstYWJvdXQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2ZWxsb3csIDAuNzg1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBhcnR3b3JrXG4gICAgICAgICAgICAgICAgLmxpbmstYXJ0d29yayB7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsb2FkIG9uIG1lbnUgb3BlblxuICAgICAgICAgICAgICAgICAgICAmLmxvYWRlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL21lbnVzL21lbnUuaXRlbS5hYm91dC5qcGcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gb3ZlcmxheVxuICAgICAgICAgICAgICAgIC5saW5rLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5pdGUsIDAuMTY1LCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZzEzNSwgMS4wMDAsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdmVsbG93LCAwLjg2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHN0dWRlbnRzXG4gICAgICAgICAgICAjbWVudS1saW5rLXN0dWRlbnRzIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRibHVlLCAwLjc4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgICAgIC5saW5rLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZCBvbiBtZW51IG9wZW5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2FkZWQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9tZW51cy9tZW51Lml0ZW0uc3R1ZGVudHMuanBnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAubGluay1vdmVybGF5IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtaWRuaXRlLCAwLjQ2NSwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGcxMzUsIDEuMDAwLCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC43ODUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyByZXNlYXJjaFxuICAgICAgICAgICAgI21lbnUtbGluay1yZXNlYXJjaCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjc4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgICAgIC5saW5rLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZCBvbiBtZW51IG9wZW5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2FkZWQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9tZW51cy9tZW51Lml0ZW0ucmVzZWFyY2guanBnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAubGluay1vdmVybGF5IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtaWRuaXRlLCAwLjQ2NSwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGcxMzUsIDEuMDAwLCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjY4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gb3V0cmVhY2hcbiAgICAgICAgICAgICNtZW51LWxpbmstb3V0cmVhY2gge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjc4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgICAgIC5saW5rLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZCBvbiBtZW51IG9wZW5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2FkZWQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9tZW51cy9tZW51Lml0ZW0uc2VydmljZS5qcGcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gb3ZlcmxheVxuICAgICAgICAgICAgICAgIC5saW5rLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1pZG5pdGUsIDAuNDY1LCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZzEzNSwgMS4wMDAsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC43NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhbHVtbmlcbiAgICAgICAgICAgICNtZW51LWxpbmstYWx1bW5pIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRvcmFuZ2UsIDAuNzg1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBhcnR3b3JrXG4gICAgICAgICAgICAgICAgLmxpbmstYXJ0d29yayB7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsb2FkIG9uIG1lbnUgb3BlblxuICAgICAgICAgICAgICAgICAgICAmLmxvYWRlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL21lbnVzL21lbnUuaXRlbS5hbHVtbmkuanBnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAubGluay1vdmVybGF5IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtaWRuaXRlLCAwLjQ2NSwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGcxMzUsIDEuMDAwLCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkb3JhbmdlLCAwLjcyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgIC5tZW51LWxpbmsge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMXJlbSAycmVtO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDcyMG1zICRvY2lyYyAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgICAgICAgICAubGluay10ZXh0IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAxcmVtLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb2NpcmMgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGFydHdvcmtcbiAgICAgICAgICAgICAgICAubGluay1hcnR3b3JrLFxuICAgICAgICAgICAgICAgIC5saW5rLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGF5ZXJzXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA1MDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDQwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGFydHdvcmtcbiAgICAgICAgICAgICAgICAubGluay1hcnR3b3JrIHtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjIxNTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAubGluay1vdmVybGF5IHtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICAubGluay10ZXh0IHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjc1cmVtLCAwLjA2NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjI4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG9jaXJjIDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIHN0eWxlc1xuICAgICNzaXRlLW1lbnUtcGFuZWxzIHtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAvLyByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDEuMDAwICk7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIDEwMHZoIC0gNHJlbSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBtZW51IG9wZW4gc3RhdGVcbiAgICAgICAgLmlzLW9wZW4gJiB7XG5cbiAgICAgICAgICAgIC8vIHRoZSBlbXB0aW5lc3NcblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHBhbmVsLmFib3V0IGNvbXBvbmVudCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHBhbmVsX3NpemUgOiBjYWxjKCAxMDAlIC0gNHJlbSApO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI21lbnUtcGFuZWwtZ2xvYmFsIHtcblxuICAgICAgICBwYWRkaW5nOiA1cmVtIDAgMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KCAwZGVnLCAkZzE0MCwgMC41NjUsIDAlLCB0cmFuc3BhcmVudCwgMS4wMDAsIDUwJSApO1xuXG4gICAgICAgIC8vIGhlYWRlclxuICAgICAgICAucGFuZWwtaGVhZGVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnb2xkLCAwLjAwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC4yMTUgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjQ2NSApO1xuXG4gICAgICAgICAgICAvLyBjbG9zZSBidXR0b25cbiAgICAgICAgICAgICNjbG9zZS1nbG9iYWwtbWVudSB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtIDAuMjVyZW07XG5cbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAvLyBsYWJlbFxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42NTYyNXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC41cmVtLCAwLjExNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDFyZW0sIDFyZW0sIDAsIDFyZW0sICRnb2xkLCAnXFxFRENBJyApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1lbnUgY29udGFpbmVyXG4gICAgICAgICNtZW51LXBhbmVsLWdsb2JhbC1tZW51IHtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgICAgIC8vIG1lbnVcbiAgICAgICAgICAgID4gLm1lbnUge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG1lbnUgaXRlbVxuICAgICAgICAgICAgLm1lbnUtaXRlbSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgLy8gcGFyZW50IGl0ZW1cbiAgICAgICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBleHBhbmRlZCBjbGFzc1xuICAgICAgICAgICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogJGcxNDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuNDY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhcnJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAtMTgwZGVnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYXJyb3dcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoIC0xODBkZWcgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFycm93XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBjb2RpY29uKCAxcmVtLCAxcmVtLCAwLCAxcmVtLCAkZ29sZCwgJ1xcZWRjOScgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoIDBkZWcgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYXJyb3dcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMXJlbSwgJGdvbGQsICdcXGVkYzknICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCAwZGVnICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHN1Ym1lbnVcbiAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0LWNvbG9yKFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbWlkbml0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRodWUgICAgICAgICAgOiAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzYXR1cmF0aW9uIDogLTEwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3MgIDogMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxwaGEgICAgICAgICA6IC0wLjIxNVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC40NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMy4wNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAxcmVtIDAgMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoIHdoaXRlLCAwLjg5NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA5NWVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDEuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ29sZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gc3VibWVudVxuICAgICAgICAgICAgICAgIC5zdWJtZW51IHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZ2xvYmFsIGxpbmtcbiAgICAgICAgICAgICNnbG9iYWwtbWVudS1saW5rIHtcblxuICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICBidXR0b24ge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjA2MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtIDAgMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoIHdoaXRlLCAwLjg5NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2NWVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogJGdvbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjg2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBpY29uXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMXJlbSwgJGdvbGQsICdcXEU5MDQnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhcnJvd1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMXJlbSwgJGdvbGQsICdcXEVEQzgnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudSBsaXN0XG4gICAgICAgICNnbG9iYWwtbWVudS1saXN0IHtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAvLyBpdGVtXG4gICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaG9tZVxuICAgICAgICAgICAgI21lbnUtbGluay1ob21lIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjc4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgICAgIC5saW5rLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZCBvbiBtZW51IG9wZW5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2FkZWQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9tZW51cy9tZW51Lml0ZW0uaG9tZS5qcGcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gb3ZlcmxheVxuICAgICAgICAgICAgICAgIC5saW5rLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1pZG5pdGUsIDAuNDY1LCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZzEzNSwgMS4wMDAsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWJvdXRcbiAgICAgICAgICAgICNtZW51LWxpbmstYWJvdXQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2ZWxsb3csIDAuNzg1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBhcnR3b3JrXG4gICAgICAgICAgICAgICAgLmxpbmstYXJ0d29yayB7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsb2FkIG9uIG1lbnUgb3BlblxuICAgICAgICAgICAgICAgICAgICAmLmxvYWRlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL21lbnVzL21lbnUuaXRlbS5hYm91dC5qcGcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gb3ZlcmxheVxuICAgICAgICAgICAgICAgIC5saW5rLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5pdGUsIDAuMTY1LCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZzEzNSwgMS4wMDAsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdmVsbG93LCAwLjg2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHN0dWRlbnRzXG4gICAgICAgICAgICAjbWVudS1saW5rLXN0dWRlbnRzIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRibHVlLCAwLjc4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgICAgIC5saW5rLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZCBvbiBtZW51IG9wZW5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2FkZWQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9tZW51cy9tZW51Lml0ZW0uc3R1ZGVudHMuanBnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAubGluay1vdmVybGF5IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtaWRuaXRlLCAwLjQ2NSwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGcxMzUsIDEuMDAwLCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC43ODUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyByZXNlYXJjaFxuICAgICAgICAgICAgI21lbnUtbGluay1yZXNlYXJjaCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjc4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgICAgIC5saW5rLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZCBvbiBtZW51IG9wZW5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2FkZWQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9tZW51cy9tZW51Lml0ZW0ucmVzZWFyY2guanBnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAubGluay1vdmVybGF5IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtaWRuaXRlLCAwLjQ2NSwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGcxMzUsIDEuMDAwLCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjY4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gb3V0cmVhY2hcbiAgICAgICAgICAgICNtZW51LWxpbmstb3V0cmVhY2gge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjc4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgICAgIC5saW5rLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZCBvbiBtZW51IG9wZW5cbiAgICAgICAgICAgICAgICAgICAgJi5sb2FkZWQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9tZW51cy9tZW51Lml0ZW0uc2VydmljZS5qcGcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gb3ZlcmxheVxuICAgICAgICAgICAgICAgIC5saW5rLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1pZG5pdGUsIDAuNDY1LCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZzEzNSwgMS4wMDAsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC43NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhbHVtbmlcbiAgICAgICAgICAgICNtZW51LWxpbmstYWx1bW5pIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRvcmFuZ2UsIDAuNzg1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBhcnR3b3JrXG4gICAgICAgICAgICAgICAgLmxpbmstYXJ0d29yayB7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsb2FkIG9uIG1lbnUgb3BlblxuICAgICAgICAgICAgICAgICAgICAmLmxvYWRlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL21lbnVzL21lbnUuaXRlbS5hbHVtbmkuanBnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAubGluay1vdmVybGF5IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtaWRuaXRlLCAwLjQ2NSwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGcxMzUsIDEuMDAwLCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkb3JhbmdlLCAwLjcyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgIC5tZW51LWxpbmsge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMXJlbSAycmVtO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDcyMG1zICRvY2lyYyAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgICAgICAgICAubGluay10ZXh0IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAxcmVtLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb2NpcmMgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGFydHdvcmtcbiAgICAgICAgICAgICAgICAubGluay1hcnR3b3JrLFxuICAgICAgICAgICAgICAgIC5saW5rLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGF5ZXJzXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNTA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA0MDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBhcnR3b3JrXG4gICAgICAgICAgICAgICAgLmxpbmstYXJ0d29yayB7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yMTU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgICAgICAgICAgLmxpbmstb3ZlcmxheSB7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgLmxpbmstdGV4dCB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4wNjVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4yODUgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvY2lyYyAwbXM7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHBhbmVsLnNlYXJjaCBjb21wb25lbnQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRwYW5lbF9zaXplIDogY2FsYyggMTAwJSAtIDRyZW0gKTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNtZW51LXBhbmVsLXNlYXJjaCB7XG5cbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoIDBkZWcsICRjdm5hdnksIDAuMzI1LCAwJSwgdHJhbnNwYXJlbnQsIDEuMDAwLCA1MCUgKTtcblxuICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgIC8vIGhlYWRlclxuICAgICAgICAucGFuZWwtaGVhZGVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4zNDUgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGFpbmVyXG4gICAgICAgIC5wYW5lbC1pbnRlcmlvciB7XG5cbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2VhcmNoIHBhbmVsXG4gICAgICAgICNfX19nY3NlXzAge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNlYXJjaCBmaWVsZCBiYXNlXG4gICAgICAgIC5nc2MtY29udHJvbC1jc2Uge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDEuMDAwICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNzZSB3cmFwcGVyXG4gICAgICAgIC5nc2MtY29udHJvbC13cmFwcGVyLWNzZSB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogNXJlbSAwIDAgMDtcblxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc2VhcmNoIGZvcm1cbiAgICAgICAgICAgIC5nc2Mtc2VhcmNoLWJveC10b29scyB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMzQ1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBpbnB1dCBjb250YWluZXJcbiAgICAgICAgICAgICAgICB0ZC5nc2MtaW5wdXQge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMCAxcmVtIDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwYWRkaW5nOlxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRhYmxlLmdzYy1zZWFyY2gtYm94IHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBib3hcbiAgICAgICAgICAgICAgICAuZ3NjLWlucHV0LWJveCB7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGlucHV0IGNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAuZ3NpYl9hIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBjbGVhciBpbnB1dCBjb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgLmdzaWJfYiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsZWFyIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nc3N0X2EgLmdzY2JfYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuNjc1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBzZWFyY2ggZmllbGQgaW5wdXRcbiAgICAgICAgICAgICAgICBpbnB1dFtuYW1lPSdzZWFyY2gnXSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMCAwLjc1cmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAxcmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBmb3JtIGNvbnRhaW5lclxuICAgICAgICAgICAgICAgICNnc19pZDUwIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJ1dHRvbiB0YWJsZSBjZWxsXG4gICAgICAgICAgICAgICAgdGQuZ3NjLXNlYXJjaC1idXR0b24ge1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYnV0dG9uXG4gICAgICAgICAgICAgICAgYnV0dG9uLmdzYy1zZWFyY2gtYnV0dG9uIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJsdWUsIDAuMzY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRibHVlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBzdmdcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyByZXN1bHRzXG4gICAgICAgICAgICAuZ3NjLXJlc3VsdHMtd3JhcHBlci12aXNpYmxlIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHRvcDogNXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAxMDAlIC0gNXJlbSApO1xuXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcblxuICAgICAgICAgICAgICAgIC8vIHJhbmRvbSBzcGFjZSBhYm92ZSByZXN1bHRzXG4gICAgICAgICAgICAgICAgLmdzYy1hYm92ZS13cmFwcGVyLWFyZWEge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gc29tZXRoaW5nXG4gICAgICAgICAgICAgICAgLmdzYy1hYm92ZS13cmFwcGVyLWFyZWEtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyByZXN1bHRzIGNvdW50IGNvbnRhaW5lclxuICAgICAgICAgICAgICAgIC5nc2MtcmVzdWx0LWluZm8tY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gcmVzdWx0cyBjb3VudFxuICAgICAgICAgICAgICAgICAgICAuZ3NjLXJlc3VsdC1pbmZvIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMCAwIDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC41NjI1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNXJlbSwgMC4wMjVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMzY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gZW1wdHkgaGVhZGVyIGJveFxuICAgICAgICAgICAgICAgIC5nc2MtcmVzdWx0c0hlYWRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHJlc3VsdHMgbGlzdFxuICAgICAgICAgICAgICAgIC5nc2MtcmVzdWx0cyB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHNlYXJjaCBvbiBnb29nbGUgbGlua1xuICAgICAgICAgICAgICAgIC5nY3NjLW1vcmUtbWF5YmUtYnJhbmRpbmctcm9vdCB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gZmlyc3QgbGlua1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoaWRlO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBwb3dlcmVkIGJ5XG4gICAgICAgICAgICAgICAgICAgIC5nY3NjLWZpbmQtbW9yZS1vbi1nb29nbGUtYnJhbmRpbmcge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnJhbmRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nY3NjLWJyYW5kaW5nIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2NzYy1icmFuZGluZy10ZXh0IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjY4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2NzYy1icmFuZGluZy1jbGlja2FibGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMTg3NXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKCAyICkgb3BhY2l0eSggMC41NjUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoIDMgKSBvcGFjaXR5KCAwLjU2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcmVzdWx0IGVudHJ5XG4gICAgICAgICAgICAgICAgLmdzYy1yZXN1bHQge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgICAgICBkaXYge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBpbWFnZSBsaW5rXG4gICAgICAgICAgICAgICAgICAgIGEuZ3MtaW1hZ2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGFibGUgcmVzdWx0XG4gICAgICAgICAgICAgICAgICAgIC5nc2MtdGFibGUtcmVzdWx0IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAuNzVyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1pc3NwZWxsaW5nXG4gICAgICAgICAgICAgICAgICAgIC5ncy1zcGVsbGluZyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbm8gcmVzdWx0IGNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAuZ3Mtbm8tcmVzdWx0cy1yZXN1bHQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAuZ3Mtc25pcHBldCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgICAgICAuZ3MtdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjgxMjVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDFyZW0sIDAuMDE1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGlnaGxpZ2h0IG1hdGNoIHRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2ZWxsb3csIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGlnaGxpZ2h0IG1hdGNoIHRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIGIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjgxMjVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMXJlbSwgMC4wMTVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRibHVlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdXJsXG4gICAgICAgICAgICAgICAgICAgIC5nc2MtdXJsLXRvcCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42ODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB1cmwgdGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgLmdzLXZpc2libGVVcmwge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoaWdobGlnaHQgbWF0Y2ggdGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4xMjUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRibHVlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGZpbGUgZm9ybWF0XG4gICAgICAgICAgICAgICAgICAgIC5ncy1maWxlRm9ybWF0IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmdzLWZpbGVGb3JtYXQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC42NDUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHR5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmdzLWZpbGVGb3JtYXRUeXBlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMzI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gc25pcHBldHNcbiAgICAgICAgICAgICAgICAgICAgLmdzLXNuaXBwZXQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44MTI1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMXJlbSwgMC4wMTVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMTQ1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhpZ2hsaWdodCBtYXRjaCB0ZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICBiIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4xMjUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGJsdWUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgLmdzLWltYWdlLWJveCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBwYWdpbmF0aW9uXG4gICAgICAgICAgICAgICAgLmdzYy1jdXJzb3ItYm94IHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgICAgICAuZ3NjLWN1cnNvci1wYWdlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC41NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDEuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2ZWxsb3csIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBjdXJyZW50IHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgLmdzYy1jdXJzb3ItY3VycmVudC1wYWdlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45MjUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHBhbmVsLmV2ZW50cyBjb21wb25lbnQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRwYW5lbF9zaXplIDogY2FsYyggMTAwJSAtIDRyZW0gKTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNtZW51LXBhbmVsLWV2ZW50cyB7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4xNDUgKTtcblxuICAgICAgICBAaW5jbHVkZSBncmFkaWVudCggMGRlZywgJGJsdWUsIDAuNTY1LCAwJSwgdHJhbnNwYXJlbnQsIDEuMDAwLCA1MCUgKTtcblxuICAgICAgICAvLyBoZWFkZXJcbiAgICAgICAgLnBhbmVsLWhlYWRlciB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRibHVlLCAwLjU2NSApO1xuXG4gICAgICAgICAgICAvLyB2aWV3IGFsbCBsaW5rXG4gICAgICAgICAgICAjdmlldy1jYWxlbmRhci1saW5rIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMC4yNXJlbTtcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIC8vIGxhYmVsXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjY1NjI1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjVyZW0sIDAuMTE1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDFyZW0sIDFyZW0sIDAsIDFyZW0sICRnb2xkLCAnXFxFREM4JyApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICNjYWxlbmRhci1saW5rcy1jb250YWluZXIge1xuXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblxuXHRcdFx0ei1pbmRleDogMTA7XG5cblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiA2NHB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMTZweCAxNnB4IDE2cHggMTZweDtcblxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdFx0YmFja2dyb3VuZDoge1xuXG5cdFx0XHRcdGNvbG9yOlxuXG5cdFx0XHRcdFx0YWRqdXN0LWNvbG9yKFxuXG5cdFx0XHRcdFx0XHQkY3ZuYXZ5LFxuXHRcdFx0XHRcdFx0JGh1ZSBcdCBcdDogLTUlLFxuXHRcdFx0XHRcdFx0JHNhdHVyYXRpb24gOiAtMTAlLFxuXHRcdFx0XHRcdFx0JGxpZ2h0bmVzcyAgOiAtOC41JSxcblx0XHRcdFx0XHRcdCRhbHBoYSBcdFx0OiAtMC41MjVcblxuXHRcdFx0XHRcdClcblxuXHRcdFx0XHQ7XG5cblx0XHRcdH1cblxuXHRcdFx0LmNhbGVuZGFyLWxpbmtzIHtcblxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdFx0LmNhbGVuZGFyLWxpbmsge1xuXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cblx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxcHg7XG5cblx0XHRcdFx0XHRmb250OiB7XG5cblx0XHRcdFx0XHRcdGZhbWlseTogJGluZHVzdHJ5O1xuXHRcdFx0XHRcdFx0c2l6ZTogMTBweDtcblx0XHRcdFx0XHRcdHdlaWdodDogNzAwO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XG5cblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wMTVlbTtcblxuXHRcdFx0XHRcdHRleHQ6IHtcblxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiAkdXA7XG5cdFx0XHRcdFx0XHRyZW5kZXJpbmc6ICRwaXhwZXI7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR0cmFuc2l0aW9uOiAkYWxsMjIwO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXG5cdFx0XHRcdFx0XHRmb250OiB7XG5cblx0XHRcdFx0XHRcdFx0c2l6ZTogOXB4O1xuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLmxvY2FsLWxpbmsge1xuXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHRcdGZsZXgtZ3JvdzogMTtcblxuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA0MHB4O1xuXG5cdFx0XHRcdFx0XHRjb2xvcjpcblxuXHRcdFx0XHRcdFx0XHR0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC4xMDUpXG5cblx0XHRcdFx0XHRcdDtcblxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpcblxuXHRcdFx0XHRcdFx0XHR0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC45NDUpXG5cblx0XHRcdFx0XHRcdDtcblxuXHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cblx0XHRcdFx0XHRcdFx0Ly8gY29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGdvbGQ7XG5cblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpcblxuXHRcdFx0XHRcdFx0XHRcdHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjg4NSlcblxuXHRcdFx0XHRcdFx0XHQ7XG5cblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpcblxuXHRcdFx0XHRcdFx0XHRcdFx0YWRqdXN0LWNvbG9yKFxuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRncmVlbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0JGh1ZSBcdCBcdDogMCUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRzYXR1cmF0aW9uIDogMy41JSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0JGxpZ2h0bmVzcyAgOiAtNSUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRhbHBoYSBcdFx0OiAtMC43NDVcblxuXHRcdFx0XHRcdFx0XHRcdFx0KVxuXG5cdFx0XHRcdFx0XHRcdFx0O1xuXG5cdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMS4wMDA7XG5cblx0XHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiAkYWxsMjIwO1xuXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cblx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cblx0XHRcdFx0XHRcdFx0d2lkdGg6IDMxcHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMzJweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHtcblxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOlxuXG5cdFx0XHRcdFx0XHRcdFx0XHR0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC45NDUpXG5cblx0XHRcdFx0XHRcdFx0XHQ7XG5cblx0XHRcdFx0XHRcdFx0XHRpbWFnZTogdXJsKC4uL2ltZy9pY29ucy9VSS9pY29uX2RlcGFydG1lbnRfZXZlbnRzLnN2Zyk7XG5cdFx0XHRcdFx0XHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRcdFx0c2l6ZTogMzJweCAzMnB4O1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiAwcHggMHB4O1xuXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjczNTtcblxuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiAkYWxsMjIwO1xuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLmdsb2JhbC1saW5rIHtcblxuXHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRcdFx0ZmxleC1ncm93OiAwO1xuXG5cdFx0XHRcdFx0XHR3aWR0aDogMTMycHg7XG5cblx0XHRcdFx0XHRcdHRleHQ6IHtcblxuXHRcdFx0XHRcdFx0XHRhbGlnbjogY2VudGVyO1xuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGNvbG9yOlxuXG5cdFx0XHRcdFx0XHRcdHRyYW5zcGFyZW50aXplKCRnb2xkLCAwLjEwNSlcblxuXHRcdFx0XHRcdFx0O1xuXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOlxuXG5cdFx0XHRcdFx0XHRcdGFkanVzdC1jb2xvcihcblxuXHRcdFx0XHRcdFx0XHRcdCRncmVlbixcblx0XHRcdFx0XHRcdFx0XHQkaHVlIFx0IFx0OiAwJSxcblx0XHRcdFx0XHRcdFx0XHQkc2F0dXJhdGlvbiA6IDMuNSUsXG5cdFx0XHRcdFx0XHRcdFx0JGxpZ2h0bmVzcyAgOiAtNSUsXG5cdFx0XHRcdFx0XHRcdFx0JGFscGhhIFx0XHQ6IC0wLjc0NVxuXG5cdFx0XHRcdFx0XHRcdClcblxuXHRcdFx0XHRcdFx0O1xuXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblxuXHRcdFx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpcblxuXHRcdFx0XHRcdFx0XHRcdHRyYW5zcGFyZW50aXplKCRncmVlbiwgMC41MjUpXG5cblx0XHRcdFx0XHRcdFx0O1xuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblxuXHRcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMXB4IDEycHggMCAxMnB4O1xuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cbiAgICAgICAgLnBhbmVsLWludGVyaW9yIHtcblxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAgIH1cblxuXHRcdCNjYWxlbmRhci1wYW5lbCB7XG5cblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdFx0Ly8gdG9wOiA2NHB4O1xuICAgICAgICAgICAgdG9wOiA1cmVtO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXG5cdFx0XHR6LWluZGV4OiAxMDtcblxuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoIDEwMCUgLSA1cmVtICk7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgdG9wOiA0cmVtO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCAxMDAlIC0gNHJlbSApO1xuXG4gICAgICAgICAgICB9XG5cblx0XHRcdC5jYWxlbmRhci1mYWlsIHtcblxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDY0cHgpO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDAgNDhweCAwIDQ4cHg7XG5cblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdFx0XHQuY29udGFpbmVyIHtcblxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwYWRkaW5nOiAyNHB4IDE2cHggMjRweCAxNnB4O1xuXG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuOTI1KTtcblxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHtcblxuXHRcdFx0XHRcdFx0Y29sb3I6IHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjk2NSk7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRzdmcge1xuXG5cdFx0XHRcdFx0XHR3aWR0aDogMzJweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMzJweDtcblxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC43MjU7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRzcGFuIHtcblxuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdFx0XHRcdGZvbnQ6IHtcblxuXHRcdFx0XHRcdFx0XHRmYW1pbHk6ICRpbmR1c3RyeTtcblx0XHRcdFx0XHRcdFx0c2l6ZTogMTJweDtcblx0XHRcdFx0XHRcdFx0d2VpZ2h0OiA2MDA7XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDQ1ZW07XG5cblx0XHRcdFx0XHRcdHRleHQ6IHtcblxuXHRcdFx0XHRcdFx0XHRhbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRyZW5kZXJpbmc6ICRwaXhwZXI7XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Y29sb3I6IHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjExNSk7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHRcdC5ldmVudHMtbGlzdCB7XG5cblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuXHRcdFx0fVxuXG5cdFx0XHQuZXZlbnQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuODY1KTtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMS4wMDApO1xuXG5cdFx0XHRcdHRyYW5zaXRpb246ICRhbGwyMjA7XG5cblx0XHRcdFx0JjpudGgtY2hpbGQob2RkKSB7XG5cblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOlxuXG5cdFx0XHRcdFx0XHR0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMS4wMDApXG5cblx0XHRcdFx0XHQ7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6XG5cblx0XHRcdFx0XHRcdHRyYW5zcGFyZW50aXplKHdoaXRlLCAxLjAwMClcblxuXHRcdFx0XHRcdDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIge1xuXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpcblxuXHRcdFx0XHRcdFx0YWRqdXN0LWNvbG9yKFxuXG5cdFx0XHRcdFx0XHRcdCRuYXZ5LFxuXHRcdFx0XHRcdFx0XHQkbGlnaHRuZXNzICA6IC0xMiUsXG5cdFx0XHRcdFx0XHRcdCRzYXR1cmF0aW9uIDogMCUsXG5cdFx0XHRcdFx0XHRcdCRhbHBoYSBcdFx0OiAtMC43NjVcblxuXHRcdFx0XHRcdFx0KVxuXG5cdFx0XHRcdFx0O1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZXZlbnQtbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy9cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNhbGVuZGFyLWljb24ge1xuXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdFx0XHRcdFx0d2lkdGg6IDY0cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA2NHB4O1xuXG5cdFx0XHRcdFx0c3BhbiB7XG5cblx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0XHRcdFx0XHRcdHRleHQ6IHtcblxuXHRcdFx0XHRcdFx0XHRhbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06ICR1cDtcblx0XHRcdFx0XHRcdFx0cmVuZGVyaW5nOiAkcGl4cGVyO1xuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuY2FsZW5kYXItbW9udGgge1xuXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxcHggMCAwIDA7XG5cblx0XHRcdFx0XHRcdGZvbnQ6IHtcblxuXHRcdFx0XHRcdFx0XHRmYW1pbHk6ICRrbGF2aXNsaW07XG5cdFx0XHRcdFx0XHRcdHNpemU6IDExcHg7XG5cdFx0XHRcdFx0XHRcdHdlaWdodDogbm9ybWFsO1xuXG5cdFx0XHRcdFx0XHR9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDAuNjg3NXJlbSwgNTAwICk7XG5cblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG5cdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wNjVlbTtcblxuXHRcdFx0XHRcdFx0dGV4dDoge1xuXG5cdFx0XHRcdFx0XHRcdHJlbmRlcmluZzogJHBpeHBlcjtcblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3QtY29sb3IoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3MgIDogLTIuNSUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzYXR1cmF0aW9uIDogMS41JSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFscGhhIFx0XHQ6IC0wLjUyNVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwgMC4wMDBcblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5jYWxlbmRhci1kYXkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkZGVjaW1hLCAxLjc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMi41cmVtLCAtMC4wMjVlbSApO1xuXG5cdFx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC45NDUpO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblxuICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAuZW50cnktdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuXHRcdFx0XHQuZW50cnktaW5mbyB7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LXYtdC1oLXMoIGZhbHNlICk7XG5cblx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gNjRweCk7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgMTZweDtcblxuXHRcdFx0XHR9XG5cbiAgICAgICAgICAgICAgICAvLyBkYXRlXG4gICAgICAgICAgICAgICAgLmVudHJ5LWRhdGUge1xuXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxMDtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRleHRcblx0XHRcdFx0LmVudHJ5LWRlc2NyaXB0aW9uIHtcblxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMzA7XG5cblx0XHRcdFx0XHRtYXJnaW46IDAgMCAwIDA7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA1MDAgKTtcblxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG5cblx0XHRcdFx0XHR0ZXh0OiB7XG5cblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogbm9uZTtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGNvbG9yKCAkd2hpdGUsIDAuMTM1ICk7XG5cblx0XHRcdFx0XHRhIHtcblxuXHRcdFx0XHRcdFx0Y29sb3I6ICRnb2xkO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY2FsZW5kYXItZm9vdGVyIHtcblxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC45MjUpO1xuXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogJGFsbDIyMDtcblxuXHRcdFx0XHRcdHNwYW4ge1xuXG5cdFx0XHRcdFx0XHR0ZXh0LXJlbmRlcmluZzogJHBpeHBlcjtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5ldmVudC1sb2NhdGlvbiB7XG5cblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cblx0XHRcdFx0XHRcdGZsZXgtZ3JvdzogMTtcblxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMXB4IDEycHggMCA0MHB4O1xuXG5cdFx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdFx0XHRcdFx0XHRmb250OiB7XG5cblx0XHRcdFx0XHRcdFx0ZmFtaWx5OiAkaW5kdXN0cnk7XG5cdFx0XHRcdFx0XHRcdHNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XG5cblx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjA0NWVtO1xuXG5cdFx0XHRcdFx0XHR0ZXh0OiB7XG5cblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiAkdXA7XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Y29sb3I6IHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjA2NSk7XG5cblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXG5cdFx0XHRcdFx0XHRcdC8vIGNvbnRlbnQ6ICcnO1xuXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDoge1xuXG5cdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IHVybCguLi9pbWcvaWNvbnMvVUkvaWNvbl9kaXJlY3Rpb25fYXJyb3cuc3ZnKTtcblx0XHRcdFx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdFx0XHRzaXplOiAzMnB4IDMycHg7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IDAgMDtcblxuXHRcdFx0XHRcdFx0XHR9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdC1jb2xvcihcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzICA6IC0yLjUlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNhdHVyYXRpb24gOiAxLjUlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFscGhhIFx0XHQ6IC0wLjUyNVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksIDAuMDAwXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuZXZlbnQtbGluayB7XG5cblx0XHRcdFx0XHRcdGEge1xuXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG5cdFx0XHRcdFx0XHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMzJweDtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMXB4IDEycHggMCAxMnB4O1xuXG5cdFx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0XHRcdFx0XHRcdFx0Zm9udDoge1xuXG5cdFx0XHRcdFx0XHRcdFx0ZmFtaWx5OiAkaW5kdXN0cnk7XG5cdFx0XHRcdFx0XHRcdFx0c2l6ZTogMTBweDtcblx0XHRcdFx0XHRcdFx0XHR3ZWlnaHQ6IDYwMDtcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XG5cblx0XHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDY1ZW07XG5cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3QtY29sb3IoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRibHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzcyAgOiAtMi41JSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzYXR1cmF0aW9uIDogMS41JSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbHBoYSBcdFx0OiAtMC41MjVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLCAwLjAwMFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiAkYWxsMjIwO1xuXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZmlsbCggJGJsdWUsIDAuMjM1ICk7XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHBhbmVsLnJlc291cmNlcyBjb21wb25lbnQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRwYW5lbF9zaXplIDogY2FsYyggMTAwJSAtIDRyZW0gKTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNtZW51LXBhbmVsLXJlc291cmNlcyB7XG5cbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoIDBkZWcsICRjdmVsbG93LCAwLjQ4NSwgMCUsIHRyYW5zcGFyZW50LCAxLjAwMCwgNTAlICk7XG5cbiAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgIC5wYW5lbC1oZWFkZXIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZlbGxvdywgMC41NjUgKTtcblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHBhbmVsLnNvY2lhbC5tZWRpYSBjb21wb25lbnQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRwYW5lbF9zaXplIDogY2FsYyggMTAwJSAtIDRyZW0gKTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNtZW51LXBhbmVsLXNvY2lhbCB7XG5cbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoIDBkZWcsICRyb2FyYW5nZSwgMC40MjUsIDAlLCB0cmFuc3BhcmVudCwgMS4wMDAsIDUwJSApO1xuXG4gICAgICAgIC8vIHBhZGRpbmc6IDRyZW0gMXJlbSAwIDFyZW07XG5cbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAgIC8vIGhlYWRlclxuICAgICAgICAucGFuZWwtaGVhZGVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjU2NSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBzb2NpYWwgZmVlZFxuICAgICAgICAjc29jaWFsLXN0cmVhbSB7XG5cblx0XHRcdC5zbS1jb250YWluZXIge1xuXG5cdFx0XHRcdC8vIHBhZGRpbmc6IDMycHg7XG5cdFx0XHRcdHBhZGRpbmc6IDE2cHg7XG5cblx0XHRcdFx0YmFja2dyb3VuZDoge1xuXG5cdFx0XHRcdFx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0XHQuc20tY2FyZCB7XG5cblx0XHRcdFx0bWFyZ2luOiAwIDAgMTZweCAwO1xuXG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cblx0XHRcdFx0XHRjb2xvcjogdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuOTY1KTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0b3BhY2l0eTogMC4wMDA7XG5cblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMjBtcyBsaW5lYXIgMG1zO1xuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyIHtcblxuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHtcblxuXHRcdFx0XHRcdFx0Y29sb3I6IHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjkxNSk7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGEge1xuXG5cdFx0XHRcdFx0Y29sb3I6ICRnb2xkO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc20tY2FyZC1oZWFkZXIge1xuXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdFx0cGFkZGluZzogMjRweCA0MHB4IDBweCAyNHB4O1xuXG5cdFx0XHRcdFx0LnBsYXRmb3JtLWxhYmVsIHtcblxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRyaWdodDogMDtcblxuXHRcdFx0XHRcdFx0ei1pbmRleDogMTAwO1xuXG5cdFx0XHRcdFx0XHQucGxhdGZvcm0taWNvbi1ib3gge1xuXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdFx0XHR6LWluZGV4OiAxMDA7XG5cblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDA7XG5cblx0XHRcdFx0XHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogMCA2MHB4IDYwcHggMDtcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Ji50d2l0dGVyIHtcblxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjpcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRhZGp1c3QtY29sb3IoXG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkdHdpdHRlcixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkaHVlIFx0IFx0OiAwJSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkc2F0dXJhdGlvbiA6IC0zMCUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0JGxpZ2h0bmVzcyAgOiAyLjUlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCRhbHBoYSBcdFx0OiAtMC4xMDVcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cblx0XHRcdFx0XHRcdFx0XHRcdDtcblxuXG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmLmZhY2Vib29rIHtcblxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjpcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRhZGp1c3QtY29sb3IoXG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkZmFjZWJvb2ssXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0JGh1ZSBcdCBcdDogMCUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0JHNhdHVyYXRpb24gOiAtNSUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0JGxpZ2h0bmVzcyAgOiAwJSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkYWxwaGEgXHRcdDogLTAuMTE1XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXG5cdFx0XHRcdFx0XHRcdFx0XHQ7XG5cblxuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Ji55b3V0dWJlIHtcblxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjpcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRhZGp1c3QtY29sb3IoXG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkeW91dHViZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkaHVlIFx0IFx0OiAwJSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkc2F0dXJhdGlvbiA6IC0yMCUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0JGxpZ2h0bmVzcyAgOiA1JSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkYWxwaGEgXHRcdDogLTAuMjg1XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXG5cdFx0XHRcdFx0XHRcdFx0XHQ7XG5cblxuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Ji5pbnN0YWdyYW0ge1xuXG5cdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNjBweDtcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNjBweDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IHVybCguLi9pbWcvcGF0dGVybnMvaW5zdGFncmFtX2Nvcm5lci5wbmcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0c2l6ZTogNjBweCA2MHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogdG9wIHJpZ2h0O1xuXG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuODE1O1xuXG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnRlbnQ6ICcnO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogMCA2MHB4IDYwcHggMDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWltYWdlOlxuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxpbmVhci1ncmFkaWVudChcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC0xMjVkZWcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHJhbnNwYXJlbnRpemUoI0YzODU0OCwgMC4xMjUpIDAlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRyYW5zcGFyZW50IDQwJSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0cmFuc3BhcmVudCAxMDAlXG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXG5cdFx0XHRcdFx0XHRcdFx0XHQ7XG5cblx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdC5wbGF0Zm9ybS1pY29uIHtcblxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblxuXHRcdFx0XHRcdFx0XHRcdHotaW5kZXg6IDEwO1xuXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMzJweDtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAycHggMCAwIDA7XG5cblx0XHRcdFx0XHRcdFx0XHRmb250OiB7XG5cblx0XHRcdFx0XHRcdFx0XHRcdHNpemU6IDIwcHg7XG5cblx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzJweDtcblxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNtLWNhcmQtdXNlciB7XG5cblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHR6LWluZGV4OiAyMDA7XG5cblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdFx0XHQmLnJldHdlZXQtdXNlci1zaGlmdC1jbGFzcyB7XG5cblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5zbS11c2VyIHtcblxuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdFx0XHRcdCYucmV0d2VldC11c2VyLXNtLXVzZXItcnQge1xuXG5cdFx0XHRcdFx0XHRcdC51c2VyLWxpbmsge1xuXG5cdFx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQuc20tYXZhdGFyIHtcblxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdC5zbS11c2VyLW5hbWUge1xuXG5cdFx0XHRcdFx0XHRcdFx0Ji5yZXR3ZWV0LXVzZXItc2hpZnQtY2xhc3Mge1xuXG5cdFx0XHRcdFx0XHRcdFx0XHQubmFtZSB7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMjRweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgMjRweDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRmb250OiB7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmYW1pbHk6ICRpbmR1c3RyeTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogaXRhbGljO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogaW5pdGlhbDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wMzVlbTtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuNTI1KTtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHQuZmEge1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ei1pbmRleDogMTA7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMjRweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQ6IHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2l6ZTogMTJweDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwIDAgMXB4IDA7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdC5oYW5kbGUge1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LnVzZXItbGluayB7XG5cblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LnNtLWF2YXRhciB7XG5cblx0XHRcdFx0XHRcdFx0ZmxleC1ncm93OiAxO1xuXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA0OHB4O1xuXHRcdFx0XHRcdFx0XHRtaW4td2lkdGg6IDQ4cHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNDhweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwIDEycHggMCAwO1xuXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHtcblxuXHRcdFx0XHRcdFx0XHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0XHRcdHNpemU6IGNvdmVyO1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuc20tdXNlci1uYW1lIHtcblxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuXHRcdFx0XHRcdFx0XHRmbGV4LWdyb3c6IDA7XG5cblx0XHRcdFx0XHRcdFx0LnNtLW5hbWUge1xuXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTZweDtcblxuXHRcdFx0XHRcdFx0XHRcdCYubmFtZSB7XG5cblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQ6IHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRmYW1pbHk6ICRpbmR1c3RyeTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0c2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDcwMDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJG9yYW5nZTtcblxuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdCYuaGFuZGxlIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udDoge1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZhbWlseTogJGluZHVzdHJ5O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRzaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjAzNWVtO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuMzE1KTtcblxuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNtLWNhcmQtY29udGVudCB7XG5cblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHRcdHBhZGRpbmc6IDhweCAwIDE2cHggMDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNtLWNvbnRlbnQtY29tcG9uZW50IHtcblxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDhweCAyNHB4IDhweCAyNHB4O1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc20taW1hZ2UtYm94IHtcblxuXHRcdFx0XHRcdCYuc2xpY2stc2xpZGVyIHtcblxuXHRcdFx0XHRcdFx0LnNsaWNrLWFycm93IHtcblxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cblx0XHRcdFx0XHRcdFx0ei1pbmRleDogMjA7XG5cblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMzJweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtMTZweDtcblxuXHRcdFx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjgyNSk7XG5cblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogJGFsbDIyMDtcblxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRvcmFuZ2UsIDAuMjE1KTtcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Ji5zbGljay1wcmV2IHtcblxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDI0cHg7XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCYuc2xpY2stbmV4dCB7XG5cblx0XHRcdFx0XHRcdFx0XHRyaWdodDogMjRweDtcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0LmFycm93LWljb24ge1xuXG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAtOHB4O1xuXHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAtOHB4O1xuXHRcdFx0XHRcdFx0XHRcdGJvdHRvbTogLThweDtcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAtOHB4O1xuXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDQ4cHg7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA0OHB4O1xuXG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuc2xpY2stbGlzdCB7XG5cblx0XHRcdFx0XHRcdFx0ei1pbmRleDogMTA7XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNtLXRleHQsXG5cdFx0XHRcdC5zbS1tZXNzYWdlLXRleHQge1xuXG5cdFx0XHRcdFx0Zm9udDoge1xuXG5cdFx0XHRcdFx0XHRmYW1pbHk6ICRpbmR1c3RyeTtcblx0XHRcdFx0XHRcdHNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdHdlaWdodDogbm9ybWFsO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcblxuXHRcdFx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC4wMzUpO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc20tdGl0bGUge1xuXG5cdFx0XHRcdFx0Zm9udDoge1xuXG5cdFx0XHRcdFx0XHRmYW1pbHk6ICRrbGF2aXNsaW07XG5cdFx0XHRcdFx0XHRzaXplOiAxNnB4O1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wNDVlbTtcblxuXHRcdFx0XHRcdGEge1xuXG5cdFx0XHRcdFx0XHQvLyBjb2xvcjogJGdyZWVuO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc20tbWVzc2FnZS10ZXh0IHtcblxuXHRcdFx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNtLWNhcmQtZm9vdGVyIHtcblxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDE2cHggMCAxNnB4O1xuXG5cdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0XHRcdFx0Zm9udDoge1xuXG5cdFx0XHRcdFx0XHRmYW1pbHk6ICRpbmR1c3RyeTtcblx0XHRcdFx0XHRcdHNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdHdlaWdodDogbm9ybWFsO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuOTQ1KTtcblxuXHRcdFx0XHRcdC5zbS1saWtlLWJveCB7XG5cblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cblx0XHRcdFx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC40MzUpO1xuXG5cdFx0XHRcdFx0XHQuc20taWNvbiB7XG5cblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cblx0XHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMzJweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwIDEycHggMCAwIDtcblxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuZmEge1xuXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG5cdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMzJweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwIDZweCAwIDA7XG5cblx0XHRcdFx0XHRcdFx0Zm9udDoge1xuXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdFx0XHR3ZWlnaHQ6IG5vcm1hbDtcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Ji5mYS1yZXR3ZWV0IHtcblxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkZ3JlZW47XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCYuZmEtaGVhcnQge1xuXG5cdFx0XHRcdFx0XHRcdFx0Zm9udDoge1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRzaXplOiAxMnB4O1xuXG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCYuZmEtY29tbWVudCxcblx0XHRcdFx0XHRcdFx0Ji5mYS1jb21tZW50cyxcblx0XHRcdFx0XHRcdFx0Ji5mYS1jb21tZW50cy1vIHtcblxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkZ29sZDtcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Ji5mYS10aHVtYnMtdXAge1xuXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRncmVlbjtcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Ji5mYS1zaGFyZSxcblx0XHRcdFx0XHRcdFx0Ji5mYS10diB7XG5cblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJG9yYW5nZTtcblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5zbS10aW1lLXBvaW50IHtcblxuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cblx0XHRcdFx0XHRcdGZvbnQ6IHtcblxuXHRcdFx0XHRcdFx0XHRmYW1pbHk6ICRpbmR1c3RyeTtcblx0XHRcdFx0XHRcdFx0c2l6ZTogOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudGl6ZSh3aGl0ZSwgMC4xODUpO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBwYW5lbC5jb250YWN0IGNvbXBvbmVudCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHBhbmVsX3NpemUgOiBjYWxjKCAxMDAlIC0gNHJlbSApO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI21lbnUtcGFuZWwtZGlyZWN0b3J5IHtcblxuICAgICAgICAvLyBwYWRkaW5nOiA0cmVtIDAgMXJlbSAwO1xuXG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyay1uaXRlLCAwLjM2NSApO1xuXG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KCAwZGVnLCAkZzE0MCwgMC42MjUsIDAlLCB0cmFuc3BhcmVudCwgMS4wMDAsIDUwJSApO1xuXG4gICAgICAgIC8vIGhlYWRlclxuICAgICAgICAucGFuZWwtaGVhZGVyIHtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjIxNSApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHBhbmVsIGludGVyaW9yXG4gICAgICAgIC5wYW5lbC1pbnRlcmlvciB7XG5cbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBwYW5lbCBjb250ZW50XG4gICAgICAgIC5wYW5lbC1jb250ZW50IHtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA2cmVtIDA7XG5cbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udHJvbHNcbiAgICAgICAgI21lbnUtZGlyZWN0b3J5LWNvbnRyb2xzIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1zdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDZyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRkYXJrLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAvLyBwYWdpbmF0aW9uXG4gICAgICAgICAgICAuZGF0YVRhYmxlc19wYWdpbmF0ZSxcbiAgICAgICAgICAgIC5kYXRhVGFibGVzX2luZm8ge1xuXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZGlyZWN0b3J5IGluZm9cbiAgICAgICAgICAgIC5kYXRhVGFibGVzX2luZm8ge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0b29sYmFyXG4gICAgICAgICNkaXJlY3RvcnktdG9vbGJhciB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42ODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC8vIGFscGhhYmV0XG4gICAgICAgICAgICAuYWxwaGFiZXQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAycmVtO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBsYWJlbFxuICAgICAgICAgICAgICAgIC5hbHBoYWJldC1sYWJlbCB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbSAwIDAuNzVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjQyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuMjVyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGxldHRlcnNcbiAgICAgICAgICAgICAgICAuYWxwaGFiZXQtY29udHJvbCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuMjVyZW0gMCAwLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAxLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC41cmVtIDAgMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjYW1wYWlnbiwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gY2xlYXIgY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAmLmNsZWFyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjc1cmVtIDAgMC43NXJlbTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udHJvbCBncm91cFxuICAgICAgICAjZGlyZWN0b3J5LWZpZWxkcyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAuZGF0YVRhYmxlc19sZW5ndGgsXG4gICAgICAgICAgICAuZGF0YVRhYmxlc19maWx0ZXIge1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250cm9sIGRpcmVjdG9yeSB2aWV3KHMpXG4gICAgICAgICNkaXJlY3RvcnktcmVjb3Jkc19sZW5ndGgge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuXG4gICAgICAgICAgICAvLyBsYWJlbFxuICAgICAgICAgICAgbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc2VsZWN0XG4gICAgICAgICAgICBzZWxlY3Qge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbSAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuMjVyZW0gMCAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBub25lLCBjZW50ZXIgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMTY1ICk7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2U6IHVybCguLi9pbWcvaWNvbnMvYWRtaW4vaWNvbl9iaWxsYm9hcmQuc3ZnKTtcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IDEuMjVyZW0gMS4yNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciByaWdodDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2RpY29uKCAxcmVtLCAycmVtLCAwLjVyZW0gMCAwLjVyZW0gMCwgMXJlbSwgd2hpdGUsICdcXEVEQzknICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udHJvbCBkaXJlY3RvcnkgdmlldyhzKVxuICAgICAgICAjZGlyZWN0b3J5LXJlY29yZHNfZmlsdGVyIHtcblxuICAgICAgICAgICAgLy8gbGFiZWxcbiAgICAgICAgICAgIGxhYmVsIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGlucHV0XG4gICAgICAgICAgICBpbnB1dCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbSAwIDAuNXJlbTtcblxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMTY1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdmlld3NcbiAgICAgICAgI21lbnUtZGlyZWN0b3J5LXZpZXdzIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgLy8gZmlsdGVyXG4gICAgICAgICAgICAuZGF0YVRhYmxlc19maWx0ZXIge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgICAgICAgICAvLyBsYWJlbFxuICAgICAgICAgICAgICAgIGxhYmVsIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjY4NzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk0NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGlucHV0XG4gICAgICAgICAgICAgICAgaW5wdXQge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjVyZW0gMCAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb250cm9sIGRpcmVjdG9yeSB2aWV3KHMpXG4gICAgICAgICAgICAuZGF0YVRhYmxlc19sZW5ndGgge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBsYWJlbFxuICAgICAgICAgICAgICAgIGxhYmVsIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHNlbGVjdFxuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbSAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjI1cmVtIDAgMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUsIGNlbnRlciApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45MjUgKTtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGltYWdlOiB1cmwoLi4vaW1nL2ljb25zL2FkbWluL2ljb25fYmlsbGJvYXJkLnN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDEuMjVyZW0gMS4yNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gd3JhcHBlclxuICAgICAgICAjbWVudS1kaXJlY3RvcnktcmVjb3Jkc193cmFwcGVyIHtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRhYmxlXG4gICAgICAgICNtZW51LWRpcmVjdG9yeS1yZWNvcmRzIHtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgICAgICB0aGVhZCB7XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC44ODUgKTtcblxuICAgICAgICAgICAgICAgIC8vIHJvd1xuICAgICAgICAgICAgICAgIHRyIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBoZWFkXG4gICAgICAgICAgICAgICAgdGgge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNzVyZW0gMCAxcmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMDg1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcm93XG4gICAgICAgICAgICAucmVjb3JkIHtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggaW5oZXJpdCwgLTAuMDA1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4yODUgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGljb25zXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDEuNXJlbSwgMi4zMTI1cmVtLCAwLjY4NzVyZW0gMCAwLjQzNzVyZW0gMC41cmVtLCAwLjVyZW0sICRibHVlLCBpbmhlcml0ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZW50OiAnXFxFRDVCJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZW50OiAnXFxFRDVDJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGNhbXBhaWduLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTM1LCAwLjE2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0b2dnbGUgY29udHJvbHNcbiAgICAgICAgICAgICAgICAgICAgLm1vYmlsZS10b2dnbGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmUtPm9wZW5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY2FtcGFpZ24sIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXItPmNsb3NlXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gZW1haWxcbiAgICAgICAgICAgICAgICAgICAgLmVtYWlsLWxpbmssXG4gICAgICAgICAgICAgICAgICAgIC5tZW1iZXItbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMyMG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBleHBhbmRlZCBzdGF0ZVxuICAgICAgICAgICAgICAgICYucGFyZW50IHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzEzNSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCAkcm9hcmFuZ2UsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRvZ2dsZSBjb250cm9sc1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1vYmlsZS10b2dnbGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlLT5vcGVuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhZnRlci0+Y2xvc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJHJvYXJhbmdlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1lbWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1lbWJlci1saW5rIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRvZ2dsZSBjb250cm9sc1xuICAgICAgICAgICAgICAgICAgICAubW9iaWxlLXRvZ2dsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGljb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgY29sb3IoIHJlZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmUtPm9wZW5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyLT5jbG9zZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgICAgIC5tZW1iZXItbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjb2x1bW5zXG4gICAgICAgICAgICAgICAgLmxpbmstY29sdW1uIHtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjc1cmVtIDAgMXJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1lbWJlclxuICAgICAgICAgICAgICAgIC5tZW1iZXItbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4xMjVyZW0gMC43NXJlbSAwcmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4yODUgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzIwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMC43NXJlbSAwLjQzNzVyZW0gMHJlbTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGFnaW5hdGlvbiBjb250cm9sc1xuICAgICAgICAuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBkaXJlY3Rpb25zXG4gICAgICAgICAgICAucHJldmlvdXMsXG4gICAgICAgICAgICAubmV4dCB7XG5cbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgICAgICAgICAvLyBkaXNhYmxlZFxuICAgICAgICAgICAgICAgICYuZGlzYWJsZWQge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZWxsaXBzaXNcbiAgICAgICAgICAgIC5lbGxpcHNpcyB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtIDAgMC41cmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAgICAgLnBhZ2luYXRlX2J1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtIDAgMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4yNjUgKTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSggd2hpdGUsIDAuMjY1ICkgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGNhbXBhaWduLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2FtcGFpZ24gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzEzNSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGRpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjYyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSggd2hpdGUsIDAuNjI1ICkgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGN1cnJlbnQgc3RhdGVcbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzIwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDAuNXJlbSAwIDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBwYW5lbC5uZXdzIGNvbXBvbmVudCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHBhbmVsX3NpemUgOiBjYWxjKCAxMDAlIC0gNHJlbSApO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI21lbnUtcGFuZWwtbmV3cyB7XG5cbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoIDBkZWcsIHdoaXRlLCAwLjY4NSwgMCUsIHRyYW5zcGFyZW50LCAxLjAwMCwgNTAlICk7XG5cbiAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgIC5wYW5lbC1oZWFkZXIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NDUgKTtcblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGJyYW5kIHN0eWxlc2hlZXQgY29tcGlsZXJcblxuICAgIEBpbXBvcnQgJ2JyYW5kLmhlYWRlcic7XG5cbiAgICAvLyBicmFuZC5yYW1zXG4gICAgLy8gQGltcG9ydCAnYnJhbmQucmFtcyc7XG5cbiAgICAvLyBicmFuZC5zdGF0ZVxuICAgIC8vIEBpbXBvcnQgJ2JyYW5kLnN0YXRlJztcblxuICAgIC8vIGJyYW5kLmN2bWJzXG4gICAgLy8gQGltcG9ydCAnYnJhbmQuY3ZtYnMnO1xuXG4gICAgLy8gYnJhbmQucGl4ZWxzXG4gICAgQGltcG9ydCAnYnJhbmQucGl4ZWxzJztcblxuICAgIC8vIGJyYW5kLmZvdW5kYXRpb25cbiAgICBAaW1wb3J0ICdicmFuZC5mb3VuZGF0aW9uJztcblxuICAgIC8vIGJyYW5kLmxvY2FsXG4gICAgLy8gQGltcG9ydCAnYnJhbmQubG9jYWwnO1xuIiwiLnNpdGUtYnJhbmRpbmcge1xuXHRmbGV4LWdyb3c6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0cGFkZGluZzogLjc1ZW07XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAxZW07XG5cblx0QGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcblx0XHRwYWRkaW5nOiAuOTM3NWVtIDEuMjVlbSAuOTM3NWVtIC42MjVlbTtcblx0XHRwYWRkaW5nLWxlZnQ6IDFlbTtcblx0fVxufVxuXG4uY3N1LXNpZ25hdHVyZSB7XG5cdG1hcmdpbi1yaWdodDogLjc1ZW07XG5cdHBhZGRpbmctcmlnaHQ6IC43NWVtO1xuXHRib3JkZXItcmlnaHQ6IC4xMjVlbSBzb2xpZCB3aGl0ZTtcblx0Zm9udC1zaXplOiAxZW07XG5cblx0QGluY2x1ZGUgYnBvaW50KHBob25lKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAuODc1ZW07XG5cdFx0cGFkZGluZy1yaWdodDogLjg3NWVtO1xuXHR9XG5cblx0QGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcblx0XHRtYXJnaW4tcmlnaHQ6IC45Mzc1ZW07XG5cdFx0cGFkZGluZy1yaWdodDogLjkzNzVlbTtcblx0XHRmb250LXNpemU6IDEuMzEyNWVtO1xuXHR9XG59XG5cbi5zaWduYXR1cmUtbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogJGFjcm9ueW1fd2lkdGg7XG5cdGhlaWdodDogJHNpZ25hdHVyZV9oZWlnaHQ7XG5cdGJhY2tncm91bmQ6IHVybCguLi9pbWcvc2lnbmF0dXJlcy9zaWduYXR1cmUtYWNyb255bS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY29udGFpbjtcblx0Y29sb3I6IHdoaXRlO1xuXG5cdEBpbmNsdWRlIGJwb2ludCg1MGVtKSB7XG5cdFx0d2lkdGg6ICRzdGFja2VkX3dpZHRoO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2lnbmF0dXJlcy9zaWduYXR1cmUtc3RhY2tlZC5zdmcpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnBvaW50KDcwZW0pIHtcblx0XHR3aWR0aDogJG9uZWxpbmVfd2lkdGg7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zaWduYXR1cmVzL3NpZ25hdHVyZS1vbmVsaW5lLnN2Zyk7XG5cdH1cbn1cblxuLnNpdGUtaWRlbnRpZmllciB7XG5cdG1heC13aWR0aDogMjVlbTtcblx0bWFyZ2luOiAwIGF1dG8gMCAwO1xuXHRmb250LWZhbWlseTogJHByb3hpbWE7XG5cdGZvbnQtc2l6ZTogLjg3NWVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRsZXR0ZXItc3BhY2luZzogLjAxNWVtO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdEBpbmNsdWRlIGJwb2ludChwaG9uZSkge1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHR9XG5cblx0QGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcblx0XHRmb250LXNpemU6IDEuMDYyNWVtO1xuXHR9XG5cblx0QGluY2x1ZGUgYnBvaW50KDUwZW0pIHtcblx0XHRmb250LXNpemU6IDEuMTI1ZW07XG5cdH1cblxuXHRAaW5jbHVkZSBicG9pbnQoNjBlbSkge1xuXHRcdGZvbnQtc2l6ZTogMS4xODc1ZW07XG5cdH1cblxuXHRAaW5jbHVkZSBicG9pbnQoNzBlbSkge1xuXHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xuXHR9XG5cblx0JiArICYge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoNTBlbSkge1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMCAwIDAgMi4yNWVtO1xuXHRcdFx0Zm9udC1zaXplOiAuODc1ZW07XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnBvaW50KDcwZW0pIHtcblx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdH1cblx0fVxuXG5cdCYuaWRlbnRpZmllci0tY29sbGVnZSB7XG5cdFx0bWF4LXdpZHRoOiAxOGVtO1xuXHR9XG59XG5cbi5pZGVudGlmaWVyLWxpbmsge1xuXHRjb2xvcjogd2hpdGU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOnZpc2l0ZWQge1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0fVxuXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cbn1cbiIsIi8vIHN0eWxlc2hlZXQgOjogYnJhbmQucGl4ZWxzIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkYnJhbmRfc3F1YXJlIDogNHJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNicmFuZC1waXhlbHMge1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgd2lkdGg6ICRicmFuZF9zcXVhcmU7XG4gICAgICAgIGhlaWdodDogJGJyYW5kX3NxdWFyZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgLy8gY29udGVudDogJyc7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgbGVmdDogMnJlbTtcblxuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaW5lcGl4ZWw7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYm94bW9kZWwoIHdoaXRlLCAwLjkwNSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgIHRvcDogLTJyZW07XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICBib3R0b206IC0ycmVtO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBicmFuZC5mb3VuZGF0aW9uIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkYnJhbmRfbGluZWFyIDogNHJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNicmFuZC1mb3VuZGF0aW9uIHtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDRyZW07XG5cbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICB3aWR0aDogMTByZW07XG4gICAgICAgIGhlaWdodDogJGJyYW5kX2xpbmVhcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5icmFuZC1wcmltYXJ5IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBmb250OiB7XG5cbiAgICAgICAgICAgICAgICBmYW1pbHk6ICRpbmR1c3RyeTtcbiAgICAgICAgICAgICAgICBzaXplOiAwLjY4NzVyZW07XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuNzVyZW07XG5cbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEwNWVtO1xuXG4gICAgICAgICAgICB0ZXh0OiB7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICR1cDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgIC5kb3Qge1xuXG4gICAgICAgICAgICAgICAgZm9udDoge1xuXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoIHdoaXRlLCAwLjQyNSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY2NlbnQge1xuXG4gICAgICAgICAgICAgICAgZm9udDoge1xuXG4gICAgICAgICAgICAgICAgICAgIHdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiXG4vLyBAaW1wb3J0ICdibG9jay5nbG9iYWxzJztcblxuQGltcG9ydCAnc2Vjb25kYXJ5LXBhZ2UtaGVhZGVyJztcblxuQGltcG9ydCAnbGFib3JhdG9yeS1wYWdlLWhlYWRlcic7XG5cbkBpbXBvcnQgJ2ZsZXhpYmxlLXBhZ2UtaGVhZGVyJztcblxuQGltcG9ydCAnY2FsbC1vdXQnO1xuXG5AaW1wb3J0ICdmYXN0LWZhY3RzJztcblxuQGltcG9ydCAnbGF1bmNoLXBhZHMnO1xuXG5AaW1wb3J0ICdzcG90bGlnaHQnO1xuXG5AaW1wb3J0ICdjb250ZW50LXdpdGgtaW1hZ2UnO1xuXG5AaW1wb3J0ICdoaWdobGlnaHQtZ3JvdXAnO1xuXG5AaW1wb3J0ICdwYWdlLXF1b3RlJztcblxuQGltcG9ydCAnZHVhbC1jdGFzJztcblxuQGltcG9ydCAnc291cmNlLXN0b3JpZXMnO1xuXG5AaW1wb3J0ICdncm91cC1iaW9zJztcblxuQGltcG9ydCAnc2luZ2xlLWN0YSc7XG5cbkBpbXBvcnQgJ2p1bmstZHJhd2VyJztcblxuQGltcG9ydCAnZmxvYXRlZC1pbWFnZSc7XG5cbkBpbXBvcnQgJ3ZpZGVvJztcblxuQGltcG9ydCAnZ2VuZXJhbC1jb250ZW50JztcblxuQGltcG9ydCAnZmxleGlibGUtY3Rhcyc7XG5cbkBpbXBvcnQgJ2FjY29yZGlvbnMnO1xuXG5AaW1wb3J0ICdub3RpZmljYXRpb24nO1xuXG5AaW1wb3J0ICd0ZXN0aW1vbmlhbHMnO1xuXG5AaW1wb3J0ICdpbWFnZS5hcnJheSc7XG5cbkBpbXBvcnQgJ3N0YXRpc3RpY3MnO1xuXG5AaW1wb3J0ICd0ZXh0LmVkaXRvcic7XG5cbkBpbXBvcnQgJ3N0eWxlZC5saXN0JztcblxuQGltcG9ydCAndGltZWxpbmUnO1xuXG5AaW1wb3J0ICdzdGVwcyc7XG5cbkBpbXBvcnQgJ2N1c3RvbS5tZW51JztcbiIsIi5zZWNvbmRhcnktcGFnZS1oZWFkZXIge1xuXHRkaXNwbGF5OiAtbXMtZ3JpZDtcblx0ZGlzcGxheTogZ3JpZDtcblx0LW1zLWdyaWQtcm93czogYXV0bztcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXHQtbXMtZ3JpZC1jb2x1bW5zOiAxZnI7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuXHQmX19pbm5lciB7XG5cdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdC1tcy1ncmlkLWNvbHVtbjogMTtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRmb250LWZhbWlseTogJGtsYXZpa2E7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ZmxleC1ncm93OiAxO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtaW4taGVpZ2h0OiAxMHJlbTtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gdG9wLFxuXHRcdFx0XHRyZ2JhKCRkYXJrLW5pdGUsIC43KSAwLFxuXHRcdFx0XHRyZ2JhKCRkYXJrLW5pdGUsIC41MjUpIDE1JSxcblx0XHRcdFx0cmdiYSgkZGFyay1uaXRlLCAuMzUpIDMwJSxcblx0XHRcdFx0cmdiYSgkZGFyay1uaXRlLCAuMTc1KSA2NSUsXG5cdFx0XHRcdHJnYmEoJGRhcmstbml0ZSwgMCkgMTAwJVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAydncgOHZ3IDR2dztcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRkYXJrLW5pdGUsIC43KTtcblx0XHRjb2xvcjogJHJpdGUtbGl0ZTtcblxuXHRcdCYtaW5uZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6IDM1cmVtO1xuXHRcdH1cblx0fVxuXG5cdC5lbnRyeS10aXRsZSB7XG5cdFx0Y29sb3I6ICRjdmVsbG93O1xuXHRcdGxldHRlci1zcGFjaW5nOiAuMDY1ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0fVxuXG5cdC5lbnRyeS1zdWJ0aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogLjc1cmVtO1xuXHRcdGZvbnQtZmFtaWx5OiAka2xhdmlzbGltO1xuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcblx0XHRsZXR0ZXItc3BhY2luZzogLjA3NWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdEBpbmNsdWRlIGJwb2ludCg0MGVtKSB7XG5cdFx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBcbiIsIi8vIHN0eWxlc2hlZXQgOjogZmxleGlibGUgcGFnZSB0ZW1wbGF0ZSBzdHlsZXNcblxuXHQvLyBzZXR0aW5nc1xuXHQkZmxleGlibGUgOiAxcmVtO1xuXG5cdC8vIHN0eWxlc1xuXHQuZmxleGlibGUtcGFnZS1oZWFkZXIge1xuXG5cdFx0cGFkZGluZzogNi4yNXJlbSA4dncgMDtcblx0XHRwYWRkaW5nOiA5cmVtIDh2dyAwIDh2dztcblx0XHRmb250LXNpemU6IC43NXJlbTtcblxuXHRcdC8vIG1vYmlsZVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG5cdFx0XHRwYWRkaW5nOiA2cmVtIDJyZW0gMCAycmVtO1xuXG5cdFx0fVxuXG5cdFx0LmVudHJ5LXRpdGxlIHtcblx0XHRcdG1heC13aWR0aDogNzVyZW07XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR9XG5cblx0XHQmLS1zdHlsZWQge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJGRhcmstbml0ZSwgLjcpO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19pbm5lciB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtaW4taGVpZ2h0OiA0Ny41dmg7XG5cdFx0XHRcdC8vIG1pbi1oZWlnaHQ6IDU1dmg7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRwYWRkaW5nOiA4cmVtIDh2dyAzcmVtO1xuXG5cdFx0XHRcdC8vIG1vYmlsZVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtICkge1xuXG5cdFx0XHRcdFx0bWluLWhlaWdodDogNjB2aDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdFx0Jl9fY29udGVudCB7XG5cdFx0XHRcdHdpZHRoOiA3NXJlbTtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0Y29sb3I6ICRyaXRlLWxpdGU7XG5cblx0XHRcdFx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHA6bm90KFtjbGFzc10pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IC43NXJlbTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAuMDQ1ZW07XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmVudHJ5LXRpdGxlIHtcblx0XHRcdFx0Y29sb3I6ICRjdmVsbG93O1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLjA2NWVtO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0fVxuXG5cdFx0XHQuZW50cnktc3VidGl0bGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAuNzVyZW07XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAka2xhdmlzbGltO1xuXHRcdFx0XHRmb250LXNpemU6IDEuMjVyZW07XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAuMDQ1ZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuIiwiLmNhbGwtb3V0IHtcblx0cGFkZGluZzogOHZ3O1xuXG5cdCZfX2lubmVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogNjVlbTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiA4JTtcblx0XHRcdFx0Ym9yZGVyLXRvcDogLjE4NzVlbSBzb2xpZCAkZzEzNTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogLjE4NzVlbSBzb2xpZCAkZzEzNTtcblx0XHRcdH1cblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItbGVmdDogLjE4NzVlbSBzb2xpZCAkZzEzNTtcblx0XHRcdH1cblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogLjE4NzVlbSBzb2xpZCAkZzEzNTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAuMjVlbSAwO1xuXG5cdFx0Ji13cmFwIHtcblx0XHRcdGZvbnQtc2l6ZTogMS42MjVlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IC4zNzVlbTtcblx0XHRjb2xvcjogJGcxMzU7XG5cdFx0Zm9udC1mYW1pbHk6ICRrbGF2aXNsaW07XG5cdFx0Zm9udC1zaXplOiAyLjI1ZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxufVxuIiwiLmZhc3QtZmFjdHMge1xuXHRiYWNrZ3JvdW5kOiAkc2VjX3RlbXBfd2hpdGUgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3Zlcjtcblx0Y29sb3I6ICRjaGFyY29hbDtcblxuXHQmX19pbm5lciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHBhZGRpbmc6IDV2dztcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRzZWNfdGVtcF93aGl0ZSwgLjgyKTtcblxuXHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdHBhZGRpbmc6IDh2dztcblx0XHR9XG5cdH1cblxuXHQmX19ncmlkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXHRcdH1cblx0fVxufVxuXG4uZmFzdC1mYWN0IHtcblx0bWF4LXdpZHRoOiAxM3JlbTtcblx0bWFyZ2luOiAzdnc7XG5cdGZvbnQtZmFtaWx5OiAkdml0ZXNzZTtcblx0bGV0dGVyLXNwYWNpbmc6IC4wNGVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdHdpZHRoOiAzMCU7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0Jl9fdmFsdWUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNvbG9yOiAkZzEzNTtcblx0XHRmb250LXNpemU6IDMuNWVtO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHR9XG5cblx0Jl9fcmF0ZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICRnMTM1O1xuXHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH1cblxuXHQmX19kZXNjIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nLXRvcDogLjJlbTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG5cblx0Jl9fc291cmNlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LWZhbWlseTogJGtsYXZpc2xpbTtcblx0fVxufVxuIiwiLmxhdW5jaC1wYWRzIHtcblx0JGJsb2NrOiAmO1xuXHRmb250LWZhbWlseTogJGtsYXZpa2E7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cblx0Jl9faW50cm8ge1xuXHRcdHBhZGRpbmc6IDQuMjVyZW0gOHZ3O1xuXHRcdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cblx0XHQmLmJnLS1ibHVlIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjdm5hdnk7XG5cdFx0fVxuXG5cdFx0Ji5iZy0tZ3JlZW4ge1xuXHRcdFx0YmFja2dyb3VuZDogJHNlY190ZW1wX2RhcmtfZ3JlZW47XG5cdFx0fVxuXG5cdFx0Ji13cmFwIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAzNXJlbTtcblxuXHRcdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAxZW0pO1xuXHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRcdG1pbi13aWR0aDogMzVyZW07XG5cdFx0XHR9XG5cblx0XHRcdCYgPiAqOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRmb250LWZhbWlseTogJGtsYXZpc2xpbTtcblx0XHRmb250LXNpemU6IDIuMjVlbTtcblx0XHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHQuYmctLWJsdWUgJiB7XG5cdFx0XHRjb2xvcjogJGJsdWU7XG5cdFx0fVxuXG5cdFx0LmJnLS1ncmVlbiAmIHtcblx0XHRcdGNvbG9yOiAkY3ZlbGxvdztcblx0XHR9XG5cdH1cblxuXHQmX19ncmlkIHtcblx0XHRtYXJnaW4tdG9wOiAtMS41cmVtO1xuXHRcdHBhZGRpbmc6IDAgOHZ3IDVlbTtcblxuXHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR9XG5cblx0XHQmLWl0ZW0ge1xuXHRcdFx0JGJsb2NrOiAmO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRib3gtc2hhZG93OiAwIC41ZW0gMWVtIDAgdHJhbnNwYXJlbnRpemUoJGRhcmstbml0ZSwgLjYyNSk7XG5cdFx0XHRtYXJnaW4tdG9wOiAyZW07XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXHRcdFx0Y29sb3I6ICRzZWNfdGVtcF93aGl0ZTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogJHNlY190ZW1wX3doaXRlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAxZW0pO1xuXG5cdFx0XHRcdCY6bnRoLWNoaWxkKC1uKzIpIHsgLy8gZmlyc3QgdHdvIGl0ZW1zXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHRcdC5ncmlkLS0zLWNvbHVtbnMgJiB7XG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAtICgyZW0gKiAyIC8gMykgIC0gLjFweCk7IC8vIHJlbW92ZSAuMXB4IHRvIGZpeCBJRSBub3QgY2FsY3VsYXRpbmcgcGVyY2VudGFnZXMgdGhlIHNhbWUgYXMgcmVhbCBicm93c2Vyc1xuXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoLW4rMykge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOm5vdCg6bnRoLWNoaWxkKDNuKzEpKSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDNtcztcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgkc2VjX3RlbXBfd2hpdGUsIC43Mik7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA1MCU7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHRcdFx0dG8gdG9wLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgLjg1KSAwLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgLjcpIDUlLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgLjU1KSAxMCUsXG5cdFx0XHRcdFx0XHRyZ2JhKCRkYXJrLCAuNCkgMTUlLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgLjI1KSAyMCUsXG5cdFx0XHRcdFx0XHRyZ2JhKCRkYXJrLCAuMSkgMjUlLFxuXHRcdFx0XHRcdFx0cmdiYSgkZGFyaywgMCkgNTAlXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCN7ICRibG9jayB9LW5hbWUge1xuXHRcdFx0XHRcdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkZGFyaywgLjk1KSwgcmdiYSgkZGFyaywgLjg1KSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji1uYW1lIHtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDM2MG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSAzbXM7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJHNlY190ZW1wX3doaXRlLCAuNzIpO1xuXHRcdFx0XHRwYWRkaW5nOiAuMjVlbSAxZW0gLjc1ZW07XG5cdFx0XHRcdGNvbG9yOiAkZzEzNTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRrbGF2aXNsaW07XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4yNWVtO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5zcG90bGlnaHQge1xuXHRiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXG5cdCZfX2lubmVyIHtcblx0XHRjb2xvcjogJHNlY190ZW1wX3doaXRlO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0YmFja2dyb3VuZDogcmdiYSgkc2VjX3RlbXBfYnJvd24sIC44NCk7XG5cdFx0cGFkZGluZzogOHZ3IDh2dyAwO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdHBhZGRpbmc6IDR2dyA4dncgNHZ3IDFlbTtcblx0XHR9XG5cblx0XHQmLXdyYXAge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGNvbG9yOiAkZ29sZDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0fVxuXG5cdCZfX2ltZyB7XG5cdFx0ZGlzcGxheTogLW1zLWdyaWQ7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHQtbXMtZ3JpZC1yb3ctYWxpZ246IGVuZDtcblx0XHRhbGlnbi1pdGVtczogZW5kO1xuXHRcdC1tcy1ncmlkLWNvbHVtbi1hbGlnbjogY2VudGVyO1xuXHRcdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcblx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHR0byBib3R0b20sXG5cdFx0XHRyZ2JhKCRzZWNfdGVtcF9icm93biwgLjg0KSAwJSxcblx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNzgpIDEwJSxcblx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNzIpIDIwJSxcblx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNjYpIDMwJSxcblx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNjMpIDQwJSxcblx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNjApIDUwJSxcblx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNTcpIDYwJSxcblx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNTQpIDcwJSxcblx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNTEpIDgwJSxcblx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNDgpIDEwMCVcblx0XHQpO1xuXHRcdHBhZGRpbmc6IDAgOHZ3O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdHdpZHRoOiA0MCU7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdHRvIGxlZnQsXG5cdFx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuODQpIDAlLFxuXHRcdFx0XHRyZ2JhKCRzZWNfdGVtcF9icm93biwgLjc4KSAxMCUsXG5cdFx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNzIpIDIwJSxcblx0XHRcdFx0cmdiYSgkc2VjX3RlbXBfYnJvd24sIC42NikgMzAlLFxuXHRcdFx0XHRyZ2JhKCRzZWNfdGVtcF9icm93biwgLjYzKSA0MCUsXG5cdFx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNjApIDUwJSxcblx0XHRcdFx0cmdiYSgkc2VjX3RlbXBfYnJvd24sIC41NykgNjAlLFxuXHRcdFx0XHRyZ2JhKCRzZWNfdGVtcF9icm93biwgLjU0KSA3MCUsXG5cdFx0XHRcdHJnYmEoJHNlY190ZW1wX2Jyb3duLCAuNTEpIDgwJSxcblx0XHRcdFx0cmdiYSgkc2VjX3RlbXBfYnJvd24sIC40OCkgMTAwJVxuXHRcdFx0KTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYnV0dG9uIHtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Ym9yZGVyOiAuMDYyNWVtIHNvbGlkICRnb2xkO1xuXHRcdHBhZGRpbmc6IDEuMzc1ZW0gMS41ZW07XG5cdFx0Y29sb3I6ICRzZWNfdGVtcF93aGl0ZTtcblx0XHRmb250LXNpemU6IC44NzVlbTtcblx0XHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRzZWNfdGVtcF93aGl0ZSwgLjEpO1xuXHRcdFx0Y29sb3I6ICRzZWNfdGVtcF93aGl0ZTtcblx0XHR9XG5cdH1cbn1cbiIsIi5jb250ZW50LXdpdGgtaW1hZ2Uge1xuXHRkaXNwbGF5OiAtbXMtZ3JpZDtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC1nYXA6IDR2dztcblx0LW1zLWdyaWQtcm93czogYXV0byA0dncgYXV0bztcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgYXV0byk7XG5cdC1tcy1ncmlkLWNvbHVtbnM6IDFmcjtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdGJhY2tncm91bmQ6ICNlZGVkZWQ7XG5cdHBhZGRpbmc6IDh2dztcblxuXHQvLyByZW1vdmUgdG9wIHBhZGRpbmcgZnJvbSBzZWNvbmQgc2VjdGlvbiB3aGVuIHRoZXJlIGFyZSB0d28gY29uc2VjdXRpdmVcblx0JiArICYge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG5cblx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHQtbXMtZ3JpZC1yb3dzOiBhdXRvO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblx0XHQtbXMtZ3JpZC1jb2x1bW5zOiAxZnIgNHZ3IDFmcjtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHR9XG5cblx0Jl9faW1nIHtcblx0XHQtbXMtZ3JpZC1yb3c6IDE7XG5cdFx0Z3JpZC1yb3c6IDE7XG5cdFx0LW1zLWdyaWQtY29sdW1uOiAxO1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHRcdGdyaWQtcm93OiAxO1xuXG5cdFx0XHQuaW1hZ2UtLXJpZ2h0ICYge1xuXHRcdFx0XHQtbXMtZ3JpZC1jb2x1bW46IDM7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRAc3VwcG9ydHMgKG9iamVjdC1maXQ6IGNvdmVyKSB7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdC1tcy1ncmlkLXJvdzogMztcblx0XHRncmlkLXJvdzogMjtcblx0XHQtbXMtZ3JpZC1jb2x1bW46IDE7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdFx0Z3JpZC1yb3c6IDE7XG5cblx0XHRcdC5pbWFnZS0tbGVmdCAmIHtcblx0XHRcdFx0LW1zLWdyaWQtY29sdW1uOiAzO1xuXHRcdFx0XHRncmlkLWNvbHVtbjogMjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHR9XG5cblx0Jl9fYnV0dG9uIHtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Ym9yZGVyOiAuMDYyNWVtIHNvbGlkICRzZWNfdGVtcF9saW5rX2NvbG9yO1xuXHRcdHBhZGRpbmc6IDEuMzc1ZW0gMS41ZW07XG5cdFx0Zm9udC1zaXplOiAuODc1ZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdCY6bGluayB7XG5cdFx0XHRjb2xvcjogJG9pbDtcblx0XHR9XG5cblx0XHQmOnZpc2l0ZWQge1xuXHRcdFx0Y29sb3I6ICRvaWw7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLFxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzZWNfdGVtcF9saW5rX2NvbG9yO1xuXHRcdFx0Y29sb3I6ICRzZWNfdGVtcF93aGl0ZTtcblx0XHR9XG5cdH1cblxuXHQmX19saW5rcyB7XG5cdFx0Ji10aXRsZSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xuXHRcdH1cblxuXHRcdCYtaXRlbSB7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXG5cdFx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogLjVlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5oaWdobGlnaHQtZ3JvdXAge1xuXHQkbWF4X3dpZHRoOiA2NXJlbTtcblx0cGFkZGluZzogOHZ3O1xuXG5cdCYuYmctLWdyZWVuIHtcblx0XHRiYWNrZ3JvdW5kOiAjMTYzZDIwO1xuXHR9XG5cblx0Jl9faW5uZXIge1xuXHRcdG1heC13aWR0aDogJG1heF93aWR0aDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0Zm9udC1mYW1pbHk6ICR2aXRlc3NlO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0LmJnLS1ncmVlbiAmIHtcblx0XHRcdGNvbG9yOiAkY3ZlbGxvdztcblx0XHR9XG5cdH1cblxuXHQmX19ncmlkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW4tdG9wOiAzLjc1JTtcblxuXHRcdCYtaXRlbSB7XG5cdFx0XHR3aWR0aDogY2FsYygoI3sgJG1heF93aWR0aCB9IC8gMykgIC0gLjFweCk7IC8vIHJlbW92ZSAuMXB4IHRvIGZpeCBJRSBub3QgY2FsY3VsYXRpbmcgcGVyY2VudGFnZXMgdGhlIHNhbWUgYXMgcmVhbCBicm93c2Vyc1xuXHRcdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0XHRwYWRkaW5nOiA1JSAyLjUlO1xuXHRcdFx0Zm9udC1zaXplOiAxLjA2MjVlbTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0QGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjM3NWVtO1xuXHRcdFx0fVxuXG5cdFx0XHQuZ3JpZC0tNC1jb2x1bW5zICYge1xuXHRcdFx0XHR3aWR0aDogY2FsYygjeyAkbWF4X3dpZHRoIH0gLyA0KTtcblx0XHRcdH1cblxuXHRcdFx0Ji1pY29uIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEzZW0gKiAuMzUpO1xuXHRcdFx0XHRoZWlnaHQ6IGNhbGMoMTJlbSAqIC4zNSk7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvIDEuMjVlbTtcblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji1uYW1lIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGNvbG9yOiAkbmF2eS1oO1xuXHRcdFx0XHRmb250LWZhbWlseTogJGtsYXZpc2xpbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4xZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0XHRcdC5iZy0tZ3JlZW4gJiB7XG5cdFx0XHRcdFx0Y29sb3I6ICRzZWNfdGVtcF93aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmW2hyZWZdIHtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDM2MG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAzNjBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgLjI1ZW0gLjYyNWVtIC4wNjI1ZW0gcmdiYSgkYmxhY2ssIC4yKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMsXG5cdFx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRzZWNfdGVtcF93aGl0ZSwgLjA1KTtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwIC4yNWVtIC43NWVtIC4xMjVlbSByZ2JhKCRzZWNfdGVtcF9ibGFjaywgLjEpO1xuXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLnBhZ2UtcXVvdGUge1xuXHRwYWRkaW5nOiA4dnc7XG5cblx0Jl9fd3JhcCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwYWRkaW5nOiAwIDh2dztcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRmb250LWZhbWlseTogJGtsYXZpa2E7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdGRpc3BsYXk6IC1tcy1ncmlkO1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdC1tcy1ncmlkLXJvd3M6IGF1dG8gYXV0bztcblx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uczogOHZ3IDFmciA4dnc7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDh2dyAxZnIgOHZ3O1xuXHRcdFx0cGFkZGluZzogMnZ3IDV2dyAwO1xuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHQmX19pY29uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmaWxsOiAkaXJvbjtcblxuXHRcdCYtLW9wZW4sICYtLWNsb3NlZCB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHRcdFx0Z3JpZC1yb3c6IDE7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tb3BlbiB7XG5cdFx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRcdC1tcy1ncmlkLWNvbHVtbjogMTtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtMnZ3O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLWNsb3NlZCB7XG5cdFx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHRcdC1tcy1ncmlkLWNvbHVtbjogMztcblx0XHRcdFx0Z3JpZC1jb2x1bW46IDM7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYygtMnZ3ICsgMXJlbSk7IC8vIGFjY291bnQgZm9yIGJvdHRvbSBtYXJnaW4gb24gZmluYWwgcGFyYWdyYXBoIGluIHF1b3RhdGlvblxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3F1b3RhdGlvbiB7XG5cdFx0Zm9udC1zaXplOiAxLjI1ZW07XG5cblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cdFx0XHQtbXMtZ3JpZC1yb3c6IDE7XG5cdFx0XHRncmlkLXJvdzogMTtcblx0XHRcdC1tcy1ncmlkLWNvbHVtbjogMjtcblx0XHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdFx0cGFkZGluZzogMCAydnc7XG5cdFx0XHRmb250LXNpemU6IDEuNzVlbTtcblx0XHR9XG5cdH1cblxuXHQmX19hdHRyaWJ1dGlvbiB7XG5cdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0LW1zLWdyaWQtcm93OiAyO1xuXHRcdFx0Z3JpZC1yb3c6IDI7XG5cdFx0XHQtbXMtZ3JpZC1jb2x1bW46IDI7XG5cdFx0XHRncmlkLWNvbHVtbjogMjtcblx0XHRcdG1pbi1oZWlnaHQ6IDJ2dztcblx0XHRcdHBhZGRpbmc6IDAgMnZ3O1xuXHRcdH1cblx0fVxuXG5cdCZfX2NpdGUge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXHRcdFx0Zm9udC1zaXplOiAxLjI1ZW07XG5cdFx0fVxuXHR9XG5cblx0Jl9fbmFtZSB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdH1cbn1cbiIsIi5kdWFsLWN0YXMge1xuXHRwYWRkaW5nOiA4dnc7XG5cdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdHBhZGRpbmc6IDN2dyAwO1xuXHR9XG5cblx0Ji5iZy0tYmx1ZSB7XG5cdFx0YmFja2dyb3VuZDogJGN2bmF2eTtcblx0fVxuXG5cdCYuYmctLWdyZWVuIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2VjX3RlbXBfZGFya19ncmVlbjtcblx0fVxuXG5cdCZfX2lubmVyIHtcblx0XHRkaXNwbGF5OiAtbXMtZ3JpZDtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtZ2FwOiBjYWxjKDJlbSArIDJ2dyk7XG5cdFx0LW1zLWdyaWQtcm93czogYXV0byBjYWxjKDJlbSArIDJ2dykgYXV0bztcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcblx0XHQtbXMtZ3JpZC1jb2x1bW5zOiAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0Z3JpZC1nYXA6IC4wNjI1ZW07XG5cdFx0XHQtbXMtZ3JpZC1yb3dzOiBhdXRvO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uczogMWZyIC4wNjI1ZW0gMWZyO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblxuXHRcdFx0LmJnLS1ibHVlICYge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHRcdH1cblxuXHRcdFx0LmJnLS1ncmVlbiAmIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGN2ZWxsb3c7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdHBhZGRpbmc6IDN2dyA2dnc7XG5cblx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdFx0XHRncmlkLXJvdzogMTtcblx0XHRcdFx0LW1zLWdyaWQtY29sdW1uOiAxO1xuXHRcdFx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHQtbXMtZ3JpZC1yb3c6IDE7XG5cdFx0XHRcdGdyaWQtcm93OiAxO1xuXHRcdFx0XHQtbXMtZ3JpZC1jb2x1bW46IDM7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5iZy0tYmx1ZSAmIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjdm5hdnk7XG5cdFx0fVxuXG5cdFx0LmJnLS1ncmVlbiAmIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzZWNfdGVtcF9kYXJrX2dyZWVuO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdC5iZy0tYmx1ZSAmIHtcblx0XHRcdGNvbG9yOiAkYmx1ZTtcblx0XHR9XG5cblx0XHQuYmctLWdyZWVuICYge1xuXHRcdFx0Y29sb3I6ICRjdmVsbG93O1xuXHRcdH1cblx0fVxuXG5cdCZfX2N0YSB7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdG1hcmdpbjogMmVtIDAgMDtcblx0XHR9XG5cdH1cblxuXHQmX19idXR0b24ge1xuXHRcdHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRib3JkZXI6IC4wNjI1ZW0gc29saWQ7XG5cdFx0cGFkZGluZzogMS4zNzVlbSAxLjVlbTtcblx0XHRjb2xvcjogJHNlY190ZW1wX3doaXRlO1xuXHRcdGZvbnQtc2l6ZTogLjg3NWVtO1xuXHRcdGxldHRlci1zcGFjaW5nOiAuMWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0LmJnLS1ibHVlICYge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkYmx1ZTtcblx0XHR9XG5cblx0XHQuYmctLWdyZWVuICYge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY3ZlbGxvdztcblx0XHR9XG5cblx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJHNlY190ZW1wX3doaXRlLCAuMSk7XG5cdFx0XHRjb2xvcjogJHNlY190ZW1wX3doaXRlO1xuXHRcdH1cblx0fVxufVxuIiwiLnNvdXJjZS1zdG9yaWVzIHtcblx0cGFkZGluZzogOHZ3O1xuXG5cdCZfX2hlYWRpbmcge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdG1hcmdpbjogMCAuNWVtIDAgMDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0fVxuXG5cdCZfX2N0YSB7XG5cdFx0bWFyZ2luOiAwIDAgMCBhdXRvO1xuXHRcdHBhZGRpbmctbGVmdDogMWVtO1xuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJHNlY190ZW1wX2xpbmtfY29sb3I7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6dmlzaXRlZCB7XG5cdFx0XHRcdGNvbG9yOiAkc2VjX3RlbXBfbGlua192aXNpdGVkO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6ICRzZWNfdGVtcF9saW5rX2NvbG9yO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19ncmlkIHtcblx0XHRtYXJnaW4tdG9wOiAxLjVlbTtcblxuXHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdHRyYW5zaXRpb246IGFsbCAzNjBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDIwZW07XG5cdFx0bWFyZ2luOiAxLjVlbSBhdXRvIDA7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHRyYW5zaXRpb246IGFsbCAzNjBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRib3gtc2hhZG93OiAwIC4yNWVtIC42MjVlbSAuMDYyNWVtIHJnYmEoJGJsYWNrLCAuMik7XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDFlbSk7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRtYXJnaW46IDJlbSAwIDA7XG5cblx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMmVtO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHR3aWR0aDogY2FsYygoMTAwJSAvIDMpIC0gKDJlbSAqIDIgLyAzKSAgLSAuMXB4KTsgLy8gcmVtb3ZlIC4xcHggdG8gZml4IElFIG5vdCBjYWxjdWxhdGluZyBwZXJjZW50YWdlcyB0aGUgc2FtZSBhcyByZWFsIGJyb3dzZXJzXG5cblx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdH1cblxuXHRcdFx0Jjpub3QoOm50aC1jaGlsZCgzbiArIDEpKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjp2aXNpdGVkIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0uMjVlbSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIC4yNWVtIC43NWVtIC4xMjVlbSByZ2JhKCRzZWNfdGVtcF9ibGFjaywgLjIpO1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtaW1hZ2Uge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQ6ICRkYXJrIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY292ZXI7XG5cdFx0XHRwYWRkaW5nLXRvcDogNzUlO1xuXHRcdH1cblxuXHRcdCYtY29udGVudCB7XG5cdFx0XHRmbGV4OiAxIDAgYXV0bztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDogJHNlY190ZW1wX3doaXRlO1xuXHRcdFx0cGFkZGluZzogMWVtO1xuXHRcdH1cblxuXHRcdCYtdGl0bGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjM3NWVtO1xuXHRcdFx0Y29sb3I6ICRkYXJrO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICR2aXRlc3NlO1xuXHRcdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLjA1ZW07XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdH1cblxuXHRcdCYtZXhjZXJwdCB7XG5cdFx0XHRmb250LXNpemU6IC44NzVlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXG5cdFx0XHQqOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLmdyb3VwLWJpb3Mge1xuXG5cdHBhZGRpbmc6IDh2dztcblxuXHQmX19oZWFkaW5nIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHR9XG5cblx0Jl9fZ3JpZCB7XG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHR9XG5cblx0XHQmLWl0ZW0ge1xuXHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcblxuXHRcdFx0QGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcblx0XHRcdFx0ZGlzcGxheTogLW1zLWdyaWQ7XG5cdFx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRcdGdyaWQtZ2FwOiAxZW07XG5cdFx0XHRcdC1tcy1ncmlkLXJvd3M6IGF1dG87XG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblx0XHRcdFx0LW1zLWdyaWQtY29sdW1uczogYXV0byAxZW0gMWZyO1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAxZW0pO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyZW07XG5cblx0XHRcdFx0JjpudGgtY2hpbGQoLW4rMikge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19pbWFnZSB7XG5cblx0XHRtYXgtd2lkdGg6IDE1MHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xuXG5cdFx0aW1nIHtcblxuXHRcdFx0QGluY2x1ZGUgc2hhZG93Ym94KCAxLjVyZW0sIDNyZW0sIGJsYWNrLCAwLjQ2NSApO1xuXG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcblx0XHRcdC1tcy1ncmlkLXJvdzogMTtcblx0XHRcdGdyaWQtcm93OiAxO1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uOiAxO1xuXHRcdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX2RldGFpbHMge1xuXHRcdEBpbmNsdWRlIGJwb2ludCg0MGVtKSB7XG5cdFx0XHQtbXMtZ3JpZC1yb3c6IDE7XG5cdFx0XHRncmlkLXJvdzogMTtcblx0XHRcdC1tcy1ncmlkLWNvbHVtbjogMztcblx0XHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjM3NXJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fbmFtZSB7XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRjb2xvcjogJGcxNDA7XG5cdFx0Zm9udC1mYW1pbHk6ICR2aXRlc3NlO1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHR0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuXHRcdC8vIGhvdmVyIHN0YXRlXG5cdFx0Jjpob3ZlciB7XG5cblx0XHRcdGNvbG9yOiAkZGFyaztcblxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwb2ludCg0MGVtKSB7XG5cdFx0XHRmb250LXNpemU6IDEuMTI1ZW07XG5cdFx0fVxuXHR9XG5cblx0Jl9fZGVzYyB7XG5cblx0XHRtYXJnaW46IDAgMCAxcmVtIDA7XG5cblx0XHRmb250LXNpemU6IC44NzVlbTtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHR9XG5cblx0Jl9fY29udGFjdCB7XG5cdFx0Zm9udC1mYW1pbHk6ICR2aXRlc3NlO1xuXHRcdGZvbnQtc2l6ZTogLjkzNzVlbTtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXG5cdFx0YSB7XG5cblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0QGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG5cdFx0fVxuXG5cdFx0Ji1kZXRhaWwge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHR9XG5cdH1cbn1cbiIsIi5zaW5nbGUtY3RhIHtcblx0YmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuXHQmX19pbm5lciB7XG5cdFx0cGFkZGluZzogOHZ3O1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoJHNlY190ZW1wX2JsYWNrLCAuNjgpO1xuXHRcdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDUwZW07XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGNvbG9yOiAkY3ZlbGxvdztcblx0XHRsaW5lLWhlaWdodDogMTtcblx0fVxuXG5cdCZfX2J1dHRvbiB7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJvcmRlcjogLjA2MjVlbSBzb2xpZCAkY3ZlbGxvdztcblx0XHRwYWRkaW5nOiAxLjM3NWVtIDEuNWVtO1xuXHRcdGNvbG9yOiAkc2VjX3RlbXBfd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAuODc1ZW07XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4xZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJHNlY190ZW1wX3doaXRlLCAuMSk7XG5cdFx0XHRjb2xvcjogJHNlY190ZW1wX3doaXRlO1xuXHRcdH1cblx0fVxufVxuIiwiLmp1bmstZHJhd2VyIHtcblx0cGFkZGluZzogOHZ3IDR2dyA4dncgOHZ3O1xuXG5cdC5iZy0tbm9uZSArICYge1xuXHRcdGJhY2tncm91bmQ6ICRzZWNfdGVtcF9ncmV5O1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHR9XG5cblx0Jl9fbGlzdCB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdCYtaXRlbSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxLjVlbTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDR2dztcblx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHR9XG5cdH1cblxuXHQmX19saW5rIHtcblx0XHRib3JkZXItYm90dG9tOiAuMDYyNWVtIHNvbGlkO1xuXHRcdHBhZGRpbmctYm90dG9tOiAuMTI1ZW07XG5cdFx0Y29sb3I6ICRzZWNfdGVtcF9saW5rX2NvbG9yO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Jjp2aXNpdGVkIHtcblx0XHRcdGNvbG9yOiAkc2VjX3RlbXBfbGlua192aXNpdGVkO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAuMTI1ZW0gc29saWQ7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogLjA2MjVlbTtcblx0XHR9XG5cdH1cbn1cbiIsIiVmbG9hdGVkLWltYWdlIHtcblxuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1ib3R0b206IDJyZW07XG5cblx0QGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzLjVyZW0sIGJsYWNrLCAwLjU2NSApO1xuXG5cdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cblx0XHRtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMWVtKTtcblxuXHR9XG5cbn1cblxuLmZsb2F0ZWQtaW1hZ2Uge1xuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdCYtLWxlZnQge1xuXHRcdEBleHRlbmQgJWZsb2F0ZWQtaW1hZ2U7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDJyZW07XG5cdFx0fVxuXHR9XG5cblx0Ji0tcmlnaHQge1xuXHRcdEBleHRlbmQgJWZsb2F0ZWQtaW1hZ2U7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDFlbTtcblx0XHR9XG5cdH1cblxuXHQmLS1sZWZ0LFxuXHQmLS1yaWdodCB7XG5cblx0XHQmLnRyYW5zcGFyZW50IHtcblxuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fY2FwdGlvbiB7XG5cdFx0cGFkZGluZzogLjVyZW0gLjVyZW0gMDtcblx0XHRmb250LXNpemU6IC44NzVlbTtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHRwIHtcblxuXHRcdC8vIGxhc3QgY2hpbGRcblx0XHQmOmxhc3QtY2hpbGQge1xuXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0fVxuXG5cdH1cblxuXHR1bCwgb2wge1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctbGVmdDogMS4yNXJlbTtcblxuXHRcdGxpIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cblx0XHRcdCY6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAuNGVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLmxheWVyZWQtdmlkZW8ge1xuXG5cdGJhY2tncm91bmQ6IHVybCguLi9pbWcvY29udGVudC9jb250ZW50LmJhY2tncm91bmQuMDAuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXHRwYWRkaW5nOiA4dnc7XG5cblx0Jl9fd3JhcCB7XG5cblx0XHRtYXgtd2lkdGg6IDUwcmVtO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdH1cblxuXHQmX19pbm5lciB7XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZy10b3A6IDU2LjI1JTtcblxuXHRcdGlmcmFtZSB7XG5cblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0QGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCA0cmVtLCBibGFjaywgMC40NjUgKTtcblxuXHRcdH1cblxuXHR9XG5cblx0Ly8gdGV4dFxuXHQmX190ZXh0IHtcblxuXHRcdG1hcmdpbjogM3JlbSAwIDAgMDtcblxuXHRcdC8vIG1vYmlsZVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG5cdFx0XHRtYXJnaW4tdG9wOiAycmVtO1xuXG5cdFx0fVxuXG5cdFx0Ly8gcGFyYWdyYXBoc1xuXHRcdHAge1xuXG5cdFx0XHQvLyBsYXN0IGNoaWxkXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXG5cdFx0XHRcdG1hcmdpbjogMCAwIDAgMDtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxufVxuXG4vLyB0b3AgbGV2ZWwgaG9va1xuLnRlbXBsYXRlLWJsb2NrIHtcblxuXHQvLyB2aWRlbyB0YXJnZXRcblx0Ji52aWRlbyB7XG5cblx0XHQvLyBoZWFkaW5nc1xuXHRcdGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi5nZW5lcmFsLWNvbnRlbnQge1xuXHRwYWRkaW5nOiA4dnc7XG5cblx0Jl9faW5uZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogNTBlbTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxufVxuIiwiJGN0YV9iZzogI2RhZGFjODtcbiRidG5fYmc6ICMyMzY2NzA7XG5cbi5jdGFzX19ncmlkIHtcblxuXHQvLyB0YWJsZXRcblx0QGluY2x1ZGUgYnBvaW50KCB0YWJsZXQgKSB7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIGZsZXgtaC1qLXYtcyggZmFsc2UgKTtcblxuXHR9XG5cblx0Ji1pdGVtIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRcdG1heC13aWR0aDogMjVyZW07XG5cdFx0Ly8gbWFyZ2luOiAxcmVtIDFyZW0gMXJlbSAxcmVtO1xuXG5cdFx0QGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzLjVyZW0sIGJsYWNrLCAwLjU4NiApO1xuXG5cdFx0Ly8gbGFzdCBjaGlsZFxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG5cblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0Ly8gbWFyZ2luOiAxcmVtIDFyZW0gMXJlbSAxcmVtO1xuXHRcdFx0bWFyZ2luOiAwIDAgMnJlbSAwO1xuXG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblxuXHRcdFx0LmdyaWQtLTMtY29sdW1ucyAmIHtcblxuXHRcdFx0XHR3aWR0aDogY2FsYyggMzMuMzMzMzMzMyUgLSAycmVtICk7XG5cdFx0XHRcdG1hcmdpbjogMHJlbSAwcmVtIDNyZW0gMHJlbTtcblxuXHRcdFx0fVxuXG5cdFx0XHQuZ3JpZC0tMi1jb2x1bW5zICYge1xuXG5cdFx0XHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gMikgLSAoMnJlbSAqIDIgLyAyKSAgLSAuMXB4KTsgLy8gcmVtb3ZlIC4xcHggdG8gZml4IElFIG5vdCBjYWxjdWxhdGluZyBwZXJjZW50YWdlcyB0aGUgc2FtZSBhcyByZWFsIGJyb3dzZXJzXG5cdFx0XHRcdG1hcmdpbjogMHJlbSAwcmVtIDNyZW0gMHJlbTtcblxuXHRcdFx0XHQvLyBsYXN0IGNoaWxkc1xuXHRcdFx0XHQmOm50aC1sYXN0LWNoaWxkKCAyICksXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cblx0XHRcdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ji1pbWFnZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXHRcdFx0cGFkZGluZy10b3A6IDUwJTtcblx0XHR9XG5cblx0XHQmLWNvbnRlbnQge1xuXHRcdFx0ZmxleC1ncm93OiAxO1xuXHRcdFx0YmFja2dyb3VuZDogJGN0YV9iZztcblx0XHRcdHBhZGRpbmc6IDEwJSA3LjUlO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblxuXHRcdCYtaGVhZGluZyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcblx0XHRcdGZvbnQtZmFtaWx5OiAkaW5kdXN0cnk7XG5cdFx0XHRmb250LXNpemU6IDEuMjVlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLjAyNWVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0fVxuXG5cdFx0Ji1kZXNjIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IC43NXJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0fVxuXG5cdFx0Ji1saW5rIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0Ji1idG4ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0YmFja2dyb3VuZDogJGJ0bl9iZztcblx0XHRcdHBhZGRpbmc6IC43NWVtIDEuMjVlbTtcblx0XHRcdGNvbG9yOiAkc2VjX3RlbXBfb2ZmX3doaXRlO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbigkYnRuX2JnLCAyLjUlKTtcblx0XHRcdFx0Y29sb3I6ICRzZWNfdGVtcF9vZmZfd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGFjY29yZGlvbnMgVUlcblxuXHQuY3ZtYnMtYWNjb3JkaW9ucyB7XG5cblx0XHQvLyBtYXJnaW4tdG9wOiAycmVtO1xuXG5cdH1cblxuXHQuY3ZtYnMtYWNjb3JkaW9uIHtcblxuXHRcdEBpbmNsdWRlIHNoYWRvd2JveCggMC4xMjVyZW0sIDAuNzVyZW0sIGJsYWNrLCAwLjg4NSApO1xuXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG5cdFx0dHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cblx0XHQvLyBob3ZlciBzdGF0ZVxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cy13aXRoaW4ge1xuXG5cdFx0XHRAaW5jbHVkZSBzaGFkb3dib3goIDAuNXJlbSwgMnJlbSwgYmxhY2ssIDAuNjg1ICk7XG5cblx0XHR9XG5cblx0XHQmLmhhcy1sb2FkZWQge1xuXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXG5cdFx0XHQvLyBsYXN0IGNoaWxkXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCZfX3RpdGxlIHtcblxuXHRcdFx0QGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS41cmVtLCA0MDAgKTtcblxuXHRcdFx0Lmhhcy1sb2FkZWQgJiB7XG5cblx0XHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQmX190b2dnbGUge1xuXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdEBpbmNsdWRlIGZsZXgtaC1qLXYtYyggZmFsc2UgKTtcblxuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAxLjI1cmVtIDNyZW0gMS4yNXJlbSAxLjI1cmVtO1xuXG5cdFx0XHRAaW5jbHVkZSB0ZXh0KCAkdXAsIGxlZnQgKTtcblxuXHRcdFx0QGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG5cdFx0XHRAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cblx0XHRcdC8vIGhvdmVyIHN0YXRlXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCY6YWN0aXZlIHtcblxuXHRcdFx0XHQvLyBAaW5jbHVkZSBmaWxsKCAkYXBwMDUsIDAuODI1ICk7XG5cdFx0XHRcdEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMDAwICk7XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gb3BlbmVkIHN0YXRlXG5cdFx0XHQmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG5cblx0XHRcdFx0Ly8gYmVmb3JlXG5cdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdG9wYWNpdHk6IDAuMDAwO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBhZnRlclxuXHRcdFx0XHQmOmFmdGVyIHtcblxuXHRcdFx0XHRcdG9wYWNpdHk6IDEuMDAwO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBjbG9zZWQgc3RhdGVcblx0XHRcdCZbYXJpYS1leHBhbmRlZD0nZmFsc2UnXSB7XG5cblx0XHRcdFx0Ly8gYmVmb3JlXG5cdFx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRcdG9wYWNpdHk6IDEuMDAwO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBhZnRlclxuXHRcdFx0XHQmOmFmdGVyIHtcblxuXHRcdFx0XHRcdG9wYWNpdHk6IDAuMDAwO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBpY29uc1xuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdFx0dG9wOiAxLjVyZW07XG5cdFx0XHRcdHJpZ2h0OiAxLjVyZW07XG5cdFx0XHRcdGJvdHRvbTogMS41cmVtO1xuXG5cdFx0XHRcdHotaW5kZXg6IDEwO1xuXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCA4MG1zIGxpbmVhciAwbXM7XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gYmVmb3JlXG5cdFx0XHQmOmJlZm9yZSB7XG5cblx0XHRcdFx0QGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMXJlbSwgdHJhbnNwYXJlbnRpemUoICRhcHAwNSwgMC4zMjUgKSwgJ1xcRUQ1RCcgKTtcblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBhZnRlclxuXHRcdFx0JjphZnRlciB7XG5cblx0XHRcdFx0QGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMXJlbSwgdHJhbnNwYXJlbnRpemUoICRhcHAwNSwgMC4zMjUgKSwgJ1xcRUQ1RScgKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Jl9fY29udGVudCB7XG5cblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdHRyYW5zaXRpb246IGFsbCAzNjBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cblx0XHRcdEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjAwMCApO1xuXG5cdFx0XHRmb250LXNpemU6IC44NzVyZW07XG5cblx0XHRcdC5oYXMtbG9hZGVkICYge1xuXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdG1heC1oZWlnaHQ6IDEwMDB2aDtcblx0XHRcdFx0cGFkZGluZzogMCAxLjI1cmVtIDEuMjVyZW0gMS4yNXJlbTtcblxuXHRcdFx0XHRvcGFjaXR5OiAxLjAwMDtcblxuXHRcdFx0XHQmW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG5cblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXG5cdFx0XHRcdFx0b3BhY2l0eTogMC4wMDA7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYgPiAqOmxhc3QtY2hpbGQge1xuXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gbmVzdGVkIGltYWdlc1xuXHRcdFx0LmFsaWdubGVmdCxcblx0XHRcdC5hbGlnbnJpZ2h0IHtcblxuXHRcdFx0XHRjbGVhcjogYm90aDtcblxuXHRcdFx0XHRtYXgtd2lkdGg6IDM1JTtcblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBsZWZ0XG5cdFx0XHQuYWxpZ25sZWZ0IHtcblxuXHRcdFx0XHRmbG9hdDogbGVmdDtcblxuXHRcdFx0XHRtYXJnaW46IDAgMS43NXJlbSAwLjc1cmVtIDA7XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gcmlnaHRcblx0XHRcdC5hbGlnbnJpZ2h0IHtcblxuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cblx0XHRcdFx0bWFyZ2luOiAwIDAgMC43NXJlbSAxLjc1cmVtO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuIiwiLm5vdGlmaWNhdGlvbi1ib3gge1xuXG5cdC8vIG1hcmdpbjogMS41ZW0gYXV0bztcblx0Ym94LXNoYWRvdzogMCAuMTI1ZW0gLjVlbSAuMTI1ZW0gcmdiYShibGFjaywuMSk7XG5cblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdHBhZGRpbmc6IDEuNWVtO1xuXG5cdEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgMy41cmVtLCBibGFjaywgMC42ODUgKTtcblxuXHQmLmJveCB7XG5cblx0XHQmLS1kYXRlIHtcblxuXHRcdFx0Ym9yZGVyLWxlZnQ6IDAuMzEyNXJlbSBzb2xpZCAkY2FtcGFpZ247XG5cblx0XHR9XG5cblx0XHQmLS1pbmZvIHtcblxuXHRcdFx0Ym9yZGVyLWxlZnQ6IDAuMzEyNXJlbSBzb2xpZCAkYmx1ZTtcblxuXHRcdH1cblxuXHRcdCYtLW5vdGljZSB7XG5cblx0XHRcdGJvcmRlci1sZWZ0OiAwLjMxMjVyZW0gc29saWQgJHllbGxvdy1oO1xuXG5cdFx0fVxuXG5cdFx0Ji0td2FybmluZyxcblx0XHQmLS13YXJuIHtcblxuXHRcdFx0Ym9yZGVyLWxlZnQ6IDAuMzEyNXJlbSBzb2xpZCAkcm9hcmFuZ2U7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX2ltYWdlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Jl9faWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRmb250LXNpemU6IDEuNzVyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRAaW5jbHVkZSBicG9pbnQoNDBlbSkge1xuXHRcdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0PiAqOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cbiIsIlxuXG5cdC8vIHN0eWxlc1xuXHQudGVtcGxhdGUtYmxvY2sge1xuXG5cdFx0Ly8gdGVzdGltb25pYWwgYmxvY2tcblx0XHQmLnRlc3RpbW9uaWFsIHtcblxuXHRcdFx0bWFyZ2luOiAycmVtIDAgMnJlbSAwO1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0YmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuXHRcdFx0Ly8gbW9iaWxlXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuXHRcdFx0XHRtYXJnaW46IDFyZW0gMCAxcmVtO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIHRlc3RpbW9uaWFsXG5cdC50ZXN0aW1vbmlhbCB7XG5cblx0XHQvLyBpbm5lclxuXHRcdCZfX2lubmVyIHtcblxuXHRcdFx0cGFkZGluZzogMTByZW0gMTByZW0gMTByZW0gMTByZW07XG5cblx0XHRcdC8vIG1vYmlsZVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cblx0XHRcdFx0cGFkZGluZzogNnJlbSA0cmVtIDZyZW0gNHJlbTtcblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBtdWx0aXBsZVxuXHRcdFx0Ji5tdWx0aXBsZSB7XG5cblx0XHRcdFx0QGluY2x1ZGUgZmxleC1oLWotdi10KCBmYWxzZSApO1xuXG5cdFx0XHRcdHBhZGRpbmc6IDEwcmVtIDRyZW0gMTByZW0gNHJlbTtcblxuXHRcdFx0XHQvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZyZW0gNHJlbSA2cmVtIDRyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gZGFyayB0aGVtZVxuXHRcdFx0LmRhcmsgJiB7XG5cblx0XHRcdFx0QGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZpbGwoICRkYXJrLW5pdGUsIDAuMTY1ICk7XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gbGlnaHQgdGhlbWVcblx0XHRcdC5saWdodCAmIHtcblxuXHRcdFx0XHRAaW5jbHVkZSBjb2xvciggJGN2bmF2eSwgMC4xNjUgKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4xNjUgKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ly8gdGVzdGltb25pYWxcblx0XHQmX19jb250ZW50IHtcblxuXHRcdFx0QGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG5cdFx0XHRtYXJnaW46IDAgMCAwIDA7XG5cblx0XHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aWthLCAycmVtLCA1MDAgKTtcblxuXHRcdFx0QGluY2x1ZGUgdGV4dCggbm9uZSwgY2VudGVyICk7XG5cblx0XHRcdC8vIG1vYmlsZVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cblx0XHRcdFx0QGluY2x1ZGUgZm9udCggJGtsYXZpa2EsIDFyZW0sIDUwMCApO1xuXG5cdFx0XHR9XG5cblx0XHRcdC8vIG11bHRpcGxlXG5cdFx0XHQubXVsdGlwbGUgJiB7XG5cblx0XHRcdFx0ZmxleC1iYXNpczogMzMuMzMzMzMzMyU7XG5cblx0XHRcdFx0bWFyZ2luOiAwIDFyZW0gMCAxcmVtO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aWthLCAxLjI1cmVtLCA0MDAgKTtcblxuXHRcdFx0XHRAaW5jbHVkZSB0eXBvKCAxLjc1cmVtLCAwLjA2NWVtICk7XG5cblx0XHRcdFx0Ly8gbW9iaWxlXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG5cdFx0XHRcdFx0Ly8gZmxleC1iYXNpczogMTAwJTtcblxuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDJyZW0gMDtcblxuXHRcdFx0XHRcdC50ZXN0aW1vbmlhbF9fY29udGVudCB7XG5cblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGxhc3QgY2hpbGRcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQvLyBhdHRyaWJ1dGlvblxuXHRcdCZfX2F0dHJpYnV0aW9uIHtcblxuXHRcdFx0QGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cblx0XHRcdG1hcmdpbjogMnJlbSAwIDAgMDtcblxuXHRcdFx0QGluY2x1ZGUgZm9udCggJGtsYXZpa2EsIDEuMjVyZW0sIDcwMCwgaXRhbGljICk7XG5cblx0XHRcdEBpbmNsdWRlIHR5cG8oIDJyZW0sIDAuMDY1ZW0gKTtcblxuXHRcdFx0Ly8gbW9iaWxlXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuXHRcdFx0XHRtYXJnaW46IDAgMCAwIDA7XG5cblx0XHRcdFx0QGluY2x1ZGUgZm9udCggJGtsYXZpa2EsIDAuODc1cmVtLCA3MDAsIGl0YWxpYyApO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQvLyBjb250ZXh0XG5cdFx0Jl9fY29udGV4dCB7XG5cblx0XHRcdEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuXHRcdFx0bWFyZ2luOiAwIDAgMCAwO1xuXG5cdFx0XHRAaW5jbHVkZSBmb250KCAka2xhdmlrYSwgMS4yNXJlbSwgNDAwLCBpdGFsaWMgKTtcblxuXHRcdFx0QGluY2x1ZGUgdHlwbyggMXJlbSwgMC4wNjVlbSApO1xuXG5cdFx0XHQvLyBtb2JpbGVcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aWthLCAwLjg3NXJlbSwgNDAwLCBpdGFsaWMgKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogaW1hZ2UgYXJyYXkgY29udGVudCBibG9jayBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGltYWdlcyA6IGF1dG87XG4gICAgJHBhZ2ViYXNlIDogI0U1RTdFNztcblxuICAgIC8vIHN0eWxlc1xuICAgIC50ZW1wbGF0ZS1ibG9jayB7XG5cbiAgICAgICAgJi5pbWFnZS1hcnJheSB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gNXJlbSAzcmVtIDVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRwYWdlYmFzZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAxcmVtIDJyZW07XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcm93XG4gICAgICAgICAgICAuY29udGVudC1yb3cge1xuXG4gICAgICAgICAgICAgICAgLy8gY2xhc3NcbiAgICAgICAgICAgICAgICAmLnRoaXJkcyB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1zdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYmxvY2tzXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50LWJsb2NrIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZ3JleTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGltYWdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaGFsZnNpZXNcbiAgICAgICAgICAgICAgICAmLmhhbGZzaWVzIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGZ1bGxcbiAgICAgICAgICAgICAgICAmLmZ1bGwge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHBhZGRpbmc6IDNyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCAkYXBwMDUsIDAuMzg1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHN0YXRpc3RpY3MgYXJyYXkgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRpbmZvc3RhdHMgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLnRlbXBsYXRlLWJsb2NrIHtcblxuICAgICAgICAvLyBjbGFzcyBob29rXG4gICAgICAgICYuc3RhdGlzdGljcyB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gNXJlbSAzcmVtIDVyZW07XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZpbGwoICRwYWdlYmFzZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAxcmVtIDJyZW07XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGhpcmRzXG4gICAgICAgICAgICAuY29udGVudC1yb3cge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbSAwIDNyZW0gMDtcblxuICAgICAgICAgICAgICAgIC8vIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSggJGFwcDA1LCAwLjM4NSApO1xuICAgICAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSggJGFwcDA1LCAwLjM4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1zdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBwYWRkaW5nOiAycmVtIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnRlbnQgYmxvY2tzXG4gICAgICAgICAgICAuY29udGVudC1ibG9jayB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBub25lLCBjZW50ZXIgKTtcblxuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMlO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XG5cbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBncmV5O1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoICRhcHAwNSwgMC4zODUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMCAycmVtIDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBzZWNvbmQgYmxvY2tcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCggMiApIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBudW1iZXJcbiAgICAgICAgICAgICAgICAgICAgLm51bWJlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICR2aXRlc3NlLCA1LjVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCA0cmVtLCAtMC4wMjVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG51bWJlclxuICAgICAgICAgICAgLm51bWJlciB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCA2cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDRyZW0sIDAuMDI1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgLnRpdGxlIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkIHRyYW5zcGFyZW50aXplKCAkYXBwMDUsIDAuNjQ1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAyLjI1cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMi41cmVtLCAtMC4wMjVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNhcHRpb25cbiAgICAgICAgICAgIC5jYXB0aW9uIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAycmVtLCAtMC4wMjVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC41NjUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogdGV4dCBlZGl0b3IgYmxvY2sgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICR0ZXh0IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC50ZW1wbGF0ZS1ibG9jayB7XG5cbiAgICAgICAgLy8gY2xhc3MgaG9va1xuICAgICAgICAmLnRleHQtZWRpdG9yIHtcblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgcCB7XG5cbiAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBzdHlsZWQgbGlzdCBjb250ZW50IGJsb2NrXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRsaXN0cyA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAudGVtcGxhdGUtYmxvY2sge1xuXG4gICAgICAgIC8vIGNsYXNzIGhvb2tcbiAgICAgICAgJi5zdHlsZWQtbGlzdCB7XG5cbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDJyZW0gMCAycmVtIDA7XG5cbiAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgIC5zdHlsZWQtbGlzdC1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIC8vIGNvbnRhaW5lclxuICAgICAgICAgICAgICAgIC5zdHlsZWQtbGlzdC1pdGVtIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgNHJlbTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgY29kaWNvbiggM3JlbSwgM3JlbSwgMXJlbSwgMXJlbSwgJGFwcDA1LCAnXFxFRUI3JyApO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggM3JlbSwgM3JlbSwgMXJlbSwgMXJlbSwgd2hpdGUsICdcXEVFQjcnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuNTg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGg1XG4gICAgICAgICAgICAgICAgICAgIGg1IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDFyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgICAgIC5zdHlsZWQtbGlzdC1pdGVtLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdW5vcmRlcmVkIGxpc3RcbiAgICAgICAgICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBsaXN0IGl0ZW1cbiAgICAgICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAxcmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogdGltZWxpbmUgY29udGVudCBib2NrIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkdGltZWxpbmUgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLnRlbXBsYXRlLWJsb2NrIHtcblxuICAgICAgICAvLyBjbGFzcyBob29rXG4gICAgICAgICYudGltZWxpbmUge1xuXG4gICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgLnRpbWVsaW5lLXRpdGxlIHtcblxuICAgICAgICAgICAgICAgIC8vXG5cbiAgICAgICAgICAgIH1cblxuICAgIFx0XHQvLyBlbnRyaWVzXG4gICAgXHRcdC50aW1lbGluZS1lbnRyaWVzIHtcblxuICAgIFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIFx0XHRcdC8vIGJlZm9yZVxuICAgIFx0XHRcdCY6YmVmb3JlIHtcblxuICAgIFx0XHRcdFx0Y29udGVudDogJyc7XG5cbiAgICBcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIFx0XHRcdFx0dG9wOiAwO1xuICAgIFx0XHRcdFx0bGVmdDogMi40Mzc1cmVtO1xuXG4gICAgXHRcdFx0XHR6LWluZGV4OiAxO1xuXG4gICAgXHRcdFx0XHR3aWR0aDogMnB4O1xuICAgIFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG4gICAgXHRcdFx0XHQvLyBAaW5jbHVkZSBmaWxsKCAkYXBwMDUsIDAuNzY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDE4MGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRhcHAwNSwgMC43NjUsIDgwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAxLjAwMCwgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICBcdFx0XHR9XG5cbiAgICBcdFx0fVxuXG4gICAgICAgICAgICAvLyBlbnRyeVxuICAgICAgICAgICAgLnRpbWVsaW5lLWVudHJ5IHtcblxuICAgIFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIFx0XHRcdG1pbi1oZWlnaHQ6IDZyZW07XG4gICAgXHRcdFx0bWFyZ2luOiAwIDAgMi41cmVtIDA7XG4gICAgXHRcdFx0cGFkZGluZzogMCAwIDAgNnJlbTtcblxuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgc3R5bGVcbiAgICAgICAgICAgICAgICAmLmRlZmF1bHQge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBcdFx0XHRcdHRvcDogNS41cmVtO1xuICAgICAgICBcdFx0XHRcdGxlZnQ6IDIuNTYyNXJlbTtcblxuICAgICAgICBcdFx0XHRcdHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIuNDM3NXJlbTtcbiAgICAgICAgXHRcdFx0XHRoZWlnaHQ6IDAuMTI1cmVtO1xuXG4gICAgICAgIFx0XHRcdFx0QGluY2x1ZGUgZmlsbCggJGFwcDA1LCAwLjc2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIC50aW1lbGluZS1lbnRyeS10aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgLnRpbWVsaW5lLWVudHJ5LXRleHQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDZyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGRhdGVcbiAgICAgICAgICAgICAgICAudGltZWxpbmUtZW50cnktZGF0ZSB7XG5cbiAgICBcdFx0XHRcdEBpbmNsdWRlIHNoYWRvd2JveCggMC43NXJlbSwgMnJlbSwgYmxhY2ssIDAuNDY1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICBcdFx0XHQvLyBkYXRlXG4gICAgXHRcdFx0LmRhdGUge1xuXG4gICAgXHRcdFx0XHQvLyBzdHlsZWRcbiAgICBcdFx0XHRcdCZfX3N0eWxlZCB7XG5cbiAgICBcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgXHRcdFx0XHRcdHRvcDogMDtcbiAgICBcdFx0XHRcdFx0bGVmdDogMDtcblxuICAgIFx0XHRcdFx0XHR6LWluZGV4OiAxMDtcblxuICAgIFx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LXYtai1oLXN0KCBmYWxzZSApO1xuXG4gICAgXHRcdFx0XHRcdHdpZHRoOiA1cmVtO1xuICAgIFx0XHRcdFx0XHRoZWlnaHQ6IDZyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjAwMCApO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICBcdFx0XHRcdH1cblxuICAgIFx0XHRcdFx0Ly8gZGVmYXVsdFxuICAgIFx0XHRcdFx0Jl9fZGVmYXVsdCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG4gICAgXHRcdFx0XHRcdHBhZGRpbmc6IDAuMDYyNXJlbSAxcmVtIDAgMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICBcdFx0XHRcdFx0QGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICBcdFx0XHRcdFx0QGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnb2xkLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTM1LCAwLjAwMCApO1xuXG4gICAgXHRcdFx0XHR9XG5cbiAgICBcdFx0XHR9XG5cbiAgICBcdFx0XHQvLyBtZXRhXG4gICAgXHRcdFx0LmVudHJ5LW1ldGEge1xuXG4gICAgXHRcdFx0XHQvLyBtb250aFxuICAgIFx0XHRcdFx0Jl9fbW9udGgge1xuXG4gICAgXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgIFx0XHRcdFx0XHRoZWlnaHQ6IDIuNXJlbTtcbiAgICBcdFx0XHRcdFx0cGFkZGluZzogMC41cmVtIDAgMCAwO1xuXG4gICAgXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDAuODc1cmVtLCA0MDAgKTtcblxuICAgIFx0XHRcdFx0XHRAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgIFx0XHRcdFx0XHRAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICBcdFx0XHRcdH1cblxuICAgIFx0XHRcdFx0Ly8gZGF5XG4gICAgXHRcdFx0XHQmX19kYXkge1xuXG4gICAgXHRcdFx0XHRcdEBpbmNsdWRlIGZsZXgtdi10LWgtYyggZmFsc2UgKTtcblxuICAgIFx0XHRcdFx0XHRoZWlnaHQ6IDRyZW07XG4gICAgXHRcdFx0XHRcdC8vIHBhZGRpbmc6IDAgMCAwLjVyZW0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwIDAgMDtcblxuICAgIFx0XHRcdFx0XHRAaW5jbHVkZSBmb250KCAkZGVjaW1hLCAycmVtLCA0MDAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDNyZW0sIDUwMCApO1xuXG4gICAgXHRcdFx0XHRcdEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAycmVtLCAwLjAyNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuXG4gICAgXHRcdFx0XHR9XG5cbiAgICBcdFx0XHR9XG5cbiAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgIC50aW1lbGluZS1lbnRyeS10aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCBpbmhlcml0LCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2bmF2eSwgMC4xNjUgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBzdGVwIGJ5IHN0ZXAgY29udGVudCBibG9jayBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHN0ZXBzIDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC50ZW1wbGF0ZS1ibG9jayB7XG5cbiAgICAgICAgLy8gY2xhc3MgaG9va1xuICAgICAgICAmLnN0ZXBzIHtcblxuICAgICAgICAgICAgLy8gc3RlcC1ieS1zdGVwXG4gICAgICAgICAgICAuc3RlcHMge1xuXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZzogMXJlbSAwIDJyZW0gMDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzdGVwc1xuICAgICAgICAgICAgLnN0ZXAtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAvLyBmaXJzdFxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHN0ZXAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIC5zdGVwLW51bWJlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHN0ZXAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIC5zdGVwLW51bWJlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxLjMxMjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gc3RlcCBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIC5zdGVwLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYXBwMDUsIDEuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxODBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcHAwNSwgMC43ODUsIDIwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIDEuMDAwLCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gc3RlcCBudW1iZXJcbiAgICAgICAgICAgICAgICAuc3RlcC1udW1iZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLWUoIGZhbHNlIClcblxuICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMC4wNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC4wNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYXBwMDUsIDAuNzg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMC4wNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYXBwMDUsIDAuNzg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIC5zdGVwLWxhYmVsIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjY4NzVyZW0sIDAuMDI1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC40NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIC5zdGVwLW51bWVyYWwge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAzcmVtLCA3MDAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZvbnQoICRkZWNpbWEsIDNyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAycmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBzdGVwIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAuc3RlcC1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDAgMnJlbSAxcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjA2MjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIDEwMCUgLSAxLjI1cmVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRhcHAwNSwgMC43ODUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGN1c3RvbSBtZW51IGNvbnRlbnQgYmxvY2sgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRtZW51IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC50ZW1wbGF0ZS1ibG9jayB7XG5cbiAgICAgICAgLy8gY2xhc3MgaG9va1xuICAgICAgICAmLmN1c3RvbS1tZW51IHtcblxuICAgICAgICAgICAgLy8gY29udGFpbmVyXG4gICAgICAgICAgICAuY3VzdG9tLW1lbnUtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIC8vXG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbWVudVxuICAgICAgICAgICAgLmN1c3RvbS1tZW51LWxpbmtzIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIC8vIGxpc3RcbiAgICAgICAgICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgLTAuNXJlbSAwIC0wLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1lbnUgaXRlbXNcbiAgICAgICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtIDFyZW0gMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAxcmVtIDAgMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRhcHAwNSwgMC44NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTM1LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBVSSBGWCBzdHlsZXMgWyBub24tSlMgXVxuXG4gICAgLy8gZ2xvYmFsc1xuICAgIEBpbXBvcnQgJ3VpLmZ4Lmdsb2JhbHMnO1xuXG4gICAgLy8gbWVudXNcbiAgICBAaW1wb3J0ICd1aS5meC5tZW51cyc7XG4iLCIiLCIvLyBzdHlsZXNoZWV0IDo6IG1lbnUgVUkgYW5pbWF0aW9uIEZYXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRnbG9iYWwtZWFzZSA6ICRvdXRleDtcblxuICAgIC8vIHN0eWxlc1xuXG4gICAgICAgIC8vIG1haW4gc2l0ZSBjb250ZW50XG4gICAgICAgICNzaXRlLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAmLnNpdGUtbWVudS1vcGVuIHtcblxuICAgICAgICAgICAgICAgIC8vIGZha2UgbmV3c1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG9mZi1jYW52YXMgb3ZlcmxheVxuICAgICAgICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDEyMG1zICRvdXRleCAxODBtcztcblxuICAgICAgICAgICAgJi5pcy12aXNpYmxlIHtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAmLmlzLWNsb3NhYmxlIHtcblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU16SndlQ0lnYUdWcFoyaDBQU0l6TW5CNElpQjJhV1YzUW05NFBTSXdJREFnTXpJZ016SWlQanh3WVhSb0lHWnBiR3c5SWlOR1JrWkdSa1lpSUdROUlrMHhOeTQwTVRRc01UWnNOeTQzTnpnc055NDNOemhzTFRFdU5ERTBMREV1TkRFMFRERTJMREUzTGpReE5Hd3ROeTQzTnpnc055NDNOemhzTFRFdU5ERTBMVEV1TkRFMFRERTBMalU0Tml3eE5rdzJMamd3T0N3NExqSXlNaUJzTVM0ME1UUXRNUzQwTVRSTU1UWXNNVFF1TlRnMmJEY3VOemM0TFRjdU56YzRiREV1TkRFMExERXVOREUwVERFM0xqUXhOQ3d4Tm5vaVBqd3ZjR0YwYUQ0OEwzTjJaejQ9KSAxNiAxNiwgYXV0bztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogcGFnZSB0ZW1wbGF0ZSBzdHlsZXMgY29tcGlsZXJcblxuICAgIC8vIGdsb2JhbHNcbiAgICBAaW1wb3J0ICdwYWdlLmdsb2JhbHMnO1xuXG4gICAgLy8gbWFpblxuICAgIEBpbXBvcnQgJ3BhZ2Uuc2Vjb25kYXJ5Lm1haW4nO1xuXG4gICAgLy8gZGVmYXVsdFxuICAgIEBpbXBvcnQgJ3BhZ2Uuc2Vjb25kYXJ5LmRlZmF1bHQnO1xuXG4gICAgLy8gc25hcHNob3RcbiAgICBAaW1wb3J0ICdwYWdlLmR2bS5mbGV4aWJsZSc7XG5cbiAgICAvLyBzbmFwc2hvdFxuICAgIEBpbXBvcnQgJ3BhZ2Uuc25hcHNob3QnO1xuXG4gICAgQGltcG9ydCAncGFnZS5kZWdwcm9nLm92ZXJ2aWV3JztcbiIsIi8vIHN0eWxlc2hlZXQgOjogc2Vjb25kYXJ5IHBhZ2UgdGVtcGxhdGUgZ2xvYmFsc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkcGFnZV9nbG9iYWwgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3NpdGUtbGF5b3V0IHtcblxuICAgICAgICAvLyBjbGFzcyBob29rXG4gICAgICAgICYuc2Vjb25kYXJ5IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAgICAgICB0b3A6IC0xcmVtO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IC0xcmVtO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogLTFyZW07XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtZW51IG9wZW5cbiAgICAgICAgICAgICYuc2l0ZS1tZW51LW9wZW4ge1xuXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoIDE2cHggKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1ciggMTZweCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnRlbnQgY29udGFpbmVyXG4gICAgICAgICAgICAuc2Vjb25kYXJ5LWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgLy8gbWVudSBvcGVuXG4gICAgICAgICAgICAgICAgLnNpdGUtbWVudS1vcGVuICYge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIC13ZWJraXQtZmlsdGVyOiBibHVyKCAxNnB4ICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmlsdGVyOiBibHVyKCAxNnB4ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgIC5zZWNvbmRhcnktY29udGVudCB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHNpZGViYXJcbiAgICAgICAgICAgIC5zaWRlYmFyLWFyZWEge1xuXG4gICAgICAgICAgICAgICAgLy8gd2lkZ2V0XG4gICAgICAgICAgICAgICAgLndpZGdldCB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGV4dCB3aWRnZXRcbiAgICAgICAgICAgICAgICAgICAgJi53aWRnZXRfdGV4dCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMTE1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmaXJzdCBjaGlsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gd2lkZ2V0IHRpdGxlXG4gICAgICAgICAgICAgICAgLnNpZGViYXItdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjg3NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC41cmVtLCAwLjA1NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4zNjUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1lbnVcbiAgICAgICAgICAgICAgICAubWVudSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgIC5pcy1hY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBtZW51IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgLm1lbnUtaXRlbSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxcmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzIwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZuYXZ5LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBtYWluIHNlY29uZGFyeSBwYWdlIHRlbXBsYXRlIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkcGFnZV9tYWluIDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNzaXRlLWxheW91dCB7XG5cbiAgICAgICAgLy8gY2xhc3MgaG9va1xuICAgICAgICAmLm1haW4ge1xuXG4gICAgICAgICAgICAvLyBjb250ZW50IGNvbnRhaW5lclxuICAgICAgICAgICAgLnNlY29uZGFyeS1jb250YWluZXIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzM3JlbSAwIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgLnNlY29uZGFyeS1hcnR3b3JrIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHRvcDogLTMzcmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzNyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudCggNDVkZWcsICRuaXRlLCAwLjM2NSwgMCUsICRuaXRlLCAxLjAwMCwgNjAlICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29udGVudFxuICAgICAgICAgICAgLnNlY29uZGFyeS1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgLy8gbWluLWhlaWdodDogY2FsYyggMTAwdmggKyAycmVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb250ZW50IGFyZWEocylcbiAgICAgICAgICAgIC5jb250ZW50LWFyZWEge1xuXG4gICAgICAgICAgICAgICAgLy8gY2xhc3MgaG9va1xuICAgICAgICAgICAgICAgICYubWFpbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDI0cmVtICk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgLnBhZ2UtdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTRyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDNyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjc1cmVtLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgICAgICAgICAuaGlnaGxpZ2h0LXRleHQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMnJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjIzNSApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb250ZW50IGFyZWEocylcbiAgICAgICAgICAgIC5zaWRlYmFyLWFyZWEge1xuXG4gICAgICAgICAgICAgICAgLy8gY2xhc3MgaG9va1xuICAgICAgICAgICAgICAgICYubWFpbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTRyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMnJlbSAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZWlnZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogbWFpbiBzZWNvbmRhcnkgcGFnZSB0ZW1wbGF0ZSBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHBhZ2VfbWFpbiA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjc2l0ZS1sYXlvdXQge1xuXG4gICAgICAgIC8vIGNsYXNzIGhvb2tcbiAgICAgICAgJi5kZWZhdWx0IHtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgLy8gaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIHNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IDAgLTRyZW07XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29udGVudCBjb250YWluZXJcbiAgICAgICAgICAgIC5zZWNvbmRhcnktY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTZyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgLmFydHdvcmstbGF5ZXIge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAtMTZyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgLmJhc2UtYXJ0d29yayB7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYXJ0d29ya1xuICAgICAgICAgICAgLmltYWdlLWFydHdvcmsge1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvcGF0dGVybnMvcGF0dGVybi52ZXJ0aWNhbC5zdmcpO1xuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogNTAlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xNjU7XG5cbiAgICAgICAgICAgICAgICAvLyBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTtcblxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGdyYWRpZW50KCA5MGRlZywgJGN2ZWxsb3csIDAuNDY1LCAwJSwgJGN2ZWxsb3csIDAuNDY1LCAxMDAlICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29udGVudFxuICAgICAgICAgICAgLnNlY29uZGFyeS1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDMwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyggMTAwdmggKyAycmVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb250ZW50IGFyZWEocylcbiAgICAgICAgICAgIC5jb250ZW50LWFyZWEge1xuXG4gICAgICAgICAgICAgICAgLy8gY2xhc3MgaG9va1xuICAgICAgICAgICAgICAgICYubWFpbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDI0cmVtICk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgLnBhZ2UtdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTRyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDNyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjc1cmVtLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29udGVudCBhcmVhKHMpXG4gICAgICAgICAgICAuc2lkZWJhci1hcmVhIHtcblxuICAgICAgICAgICAgICAgIC8vIGNsYXNzIGhvb2tcbiAgICAgICAgICAgICAgICAmLm1haW4ge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IC00cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmVpZ2UsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIucGFnZS10ZW1wbGF0ZS1kdm0tZmxleGlibGUge1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQ6ICRzZWNfdGVtcF9vZmZfd2hpdGU7XG5cdGNvbG9yOiAkc3RlZWw7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblxuXHQuY29udGVudC1hcmVhIHtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdH1cblxuXHQudGVtcGxhdGUtYmxvY2sge1xuXHRcdHBhZGRpbmc6IDAgOHZ3O1xuXG5cdFx0JjpsYXN0LWNoaWxkKCkge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEuMjVlbTtcblx0XHR9XG5cblx0XHQmX19pbm5lciB7XG5cdFx0XHRtYXgtd2lkdGg6IDc1cmVtO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0fVxuXHR9XG5cblx0LnRlbXBsYXRlLXRpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxLjZyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH1cblxuXHQuZmxleGlibGUtcXVvdGUge1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAxLjVlbSAuMjVlbSByZ2JhKGJsYWNrLCAuMik7XG5cdFx0Ly8gbWFyZ2luOiAyLjVlbSAwO1xuXHRcdGJhY2tncm91bmQ6ICRzZWNfdGVtcF9ncmV5O1xuXHRcdHBhZGRpbmc6IDZ2dyA4dnc7XG5cblx0XHQmOmxhc3QtY2hpbGQoKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5jb250YWN0LWdyb3VwIHtcblx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi10b3A6IDJlbTtcblx0XHR9XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMmVtO1xuXHRcdH1cblx0fVxuXG5cdC8vIHN0ZXAtYnktc3RlcFxuICAgIC5zdGVwcyB7XG5cbiAgICAgICAgLy8gcGFkZGluZzogMXJlbSAwIDJyZW0gMDtcblxuICAgIH1cblxuICAgIC8vIHN0ZXBzXG4gICAgLnN0ZXAtY29udGFpbmVyIHtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LXN0KCBmYWxzZSApO1xuXG4gICAgICAgIC8vIGZpcnN0XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAvLyBzdGVwIG51bWJlclxuICAgICAgICAgICAgLnN0ZXAtbnVtYmVyIHtcblxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoaWRlO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgLy8gc3RlcCBudW1iZXJcbiAgICAgICAgICAgIC5zdGVwLW51bWJlciB7XG5cbiAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxLjMxMjVyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc3RlcCBjb250ZW50XG4gICAgICAgICAgICAuc3RlcC1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBoaWRlO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHN0ZXAgbnVtYmVyXG4gICAgICAgIC5zdGVwLW51bWJlciB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1lKCBmYWxzZSApXG5cbiAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMDtcblxuICAgICAgICAgICAgd2lkdGg6IDVyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW0gMCAwO1xuXG4gICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMC4wNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDAuMDYyNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYXBwMDUsIDAuNzg1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMC4wNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGFwcDA1LCAwLjc4NSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxhYmVsXG4gICAgICAgICAgICAuc3RlcC1sYWJlbCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LWIoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjY4NzVyZW0sIDAuMDI1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuNDY1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbnVtYmVyXG4gICAgICAgICAgICAuc3RlcC1udW1lcmFsIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDNyZW0sIDcwMCApO1xuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZvbnQoICRkZWNpbWEsIDNyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMnJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHN0ZXAgY29udGVudFxuICAgICAgICAuc3RlcC1jb250ZW50IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDA7XG5cbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwIDJyZW0gMXJlbTtcblxuICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDAuMDYyNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIDEwMCUgLSAxLjI1cmVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYXBwMDUsIDAuNzg1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBzdHlsZWQgbGlzdFxuICAgIC5zdHlsZWQtbGlzdCB7XG5cbiAgICAgICAgLy8gcGFkZGluZzogMnJlbSAwIDJyZW0gMDtcblxuICAgICAgICAvLyBjb250YWluZXJcbiAgICAgICAgLnN0eWxlZC1saXN0LWl0ZW0ge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtIDRyZW07XG5cbiAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBjb2RpY29uKCAzcmVtLCAzcmVtLCAxcmVtLCAxcmVtLCAkYXBwMDUsICdcXEVFQjcnICk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggM3JlbSwgM3JlbSwgMXJlbSwgMXJlbSwgd2hpdGUsICdcXEVFQjcnICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjU4NSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGg1XG4gICAgICAgICAgICBoNSB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjI1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB1bm9yZGVyZWQgbGlzdFxuICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGlzdCBpdGVtXG4gICAgICAgIGxpIHtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAxcmVtLCA1MDAgKTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyB0aW1lbGluZVxuICAgIC50aW1lbGluZSB7XG5cbiAgICAgICAgcGFkZGluZzogMnJlbSAwIDJyZW0gMDtcblxuICAgICAgICAvLyB0aXRsZVxuICAgICAgICAudGltZWxpbmUtdGl0bGUge1xuXG4gICAgICAgICAgICAvL1xuXG4gICAgICAgIH1cblxuXHRcdC8vIGVudHJpZXNcblx0XHQudGltZWxpbmUtZW50cmllcyB7XG5cblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0Ly8gYmVmb3JlXG5cdFx0XHQmOmJlZm9yZSB7XG5cblx0XHRcdFx0Y29udGVudDogJyc7XG5cblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMi40Mzc1cmVtO1xuXG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cblx0XHRcdFx0d2lkdGg6IDJweDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGZpbGwoICRhcHAwNSwgMC43NjUgKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG4gICAgICAgIC8vIGVudHJ5XG4gICAgICAgIC50aW1lbGluZS1lbnRyeSB7XG5cblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0bWluLWhlaWdodDogNnJlbTtcblx0XHRcdG1hcmdpbjogMCAwIDIuNXJlbSAwO1xuXHRcdFx0cGFkZGluZzogMCAwIDAgNnJlbTtcblxuICAgICAgICAgICAgLy8gZXZlblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoIGV2ZW4gKSB7XG5cbiAgICAgICAgICAgICAgICAvL1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG9kZFxuICAgICAgICAgICAgJjpudGgtY2hpbGQoIG9kZCApIHtcblxuXHRcdFx0XHQvL1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGRhdGVcbiAgICAgICAgICAgIC50aW1lbGluZS1lbnRyeS1kYXRlIHtcblxuXHRcdFx0XHRAaW5jbHVkZSBzaGFkb3dib3goIDAuNzVyZW0sIDJyZW0sIGJsYWNrLCAwLjQ2NSApO1xuXG4gICAgICAgICAgICB9XG5cblx0XHRcdC8vIGRhdGVcblx0XHRcdC5kYXRlIHtcblxuXHRcdFx0XHQvLyBzdHlsZWRcblx0XHRcdFx0Jl9fc3R5bGVkIHtcblxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXG5cdFx0XHRcdFx0ei1pbmRleDogMTA7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBmbGV4LXYtai1oLXN0KCBmYWxzZSApO1xuXG5cdFx0XHRcdFx0d2lkdGg6IDVyZW07XG5cdFx0XHRcdFx0aGVpZ2h0OiA2cmVtO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMDAwICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGRlZmF1bHRcblx0XHRcdFx0Jl9fZGVmYXVsdCB7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBmaWxsKCBibHVlLCAwLjAwMCApO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBtZXRhXG5cdFx0XHQuZW50cnktbWV0YSB7XG5cblx0XHRcdFx0Ly8gbW9udGhcblx0XHRcdFx0Jl9fbW9udGgge1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG5cdFx0XHRcdFx0aGVpZ2h0OiAyLjVyZW07XG5cdFx0XHRcdFx0cGFkZGluZzogMC41cmVtIDAgMCAwO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMC44NzVyZW0sIDQwMCApO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgdGV4dCggJHVwICk7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGRheVxuXHRcdFx0XHQmX19kYXkge1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgZmxleC1oLWMtdi10KCBmYWxzZSApO1xuXG5cdFx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMCAwLjVyZW0gMDtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQoICRkZWNpbWEsIDJyZW0sIDQwMCApO1xuXHRcdFx0XHRcdC8vIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDNyZW0sIDQwMCApO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgdGV4dCggJHVwICk7XG5cblx0XHRcdFx0XHQvLyBsZXR0ZXItc3BhY2luZzogLTAuMWVtO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG4gICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgLnRpbWVsaW5lLWVudHJ5LXRpdGxlIHtcblxuICAgICAgICAgICAgICAgIC8vXG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cblx0Ly8gbm90aWZpY2F0aW9uXG5cdC5ub3RpZmljYXRpb24ge1xuXG5cdFx0bWFyZ2luOiAwIDAgMnJlbSAwO1xuXHRcdHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDIuMzc1cmVtO1xuXG5cdFx0Ym9yZGVyLWxlZnQ6IDAuMzc1cmVtIHNvbGlkO1xuXG5cdFx0QGluY2x1ZGUgc2hhZG93Ym94KCAwLjVyZW0sIDNyZW0sIGJsYWNrLCAwLjU2NSApO1xuXG5cdFx0Ly8gd2FybmluZ1xuXHRcdCYud2FybmluZyB7XG5cblx0XHRcdGJvcmRlci1jb2xvcjpcblxuXHRcdFx0XHRhZGp1c3QtY29sb3IoXG5cblx0XHRcdFx0XHQkY3ZlbGxvdyxcblx0XHRcdFx0XHQkaHVlIFx0IFx0OiAwJSxcblx0XHRcdFx0XHQkc2F0dXJhdGlvbiA6IDUlLFxuXHRcdFx0XHRcdCRsaWdodG5lc3MgIDogLTUlLFxuXHRcdFx0XHRcdCRhbHBoYSBcdFx0OiAtMC4wMDBcblxuXHRcdFx0XHQpXG5cblx0XHRcdDtcblxuXHRcdFx0Ly8gdGl0bGVcblx0XHRcdGgzIHtcblxuXHRcdFx0XHRjb2xvcjpcblxuXHRcdFx0XHRcdGFkanVzdC1jb2xvcihcblxuXHRcdFx0XHRcdCRjdmVsbG93LFxuXHRcdFx0XHRcdCRodWUgXHQgXHQ6IDAlLFxuXHRcdFx0XHRcdCRzYXR1cmF0aW9uIDogNSUsXG5cdFx0XHRcdFx0JGxpZ2h0bmVzcyAgOiAtNSUsXG5cdFx0XHRcdFx0JGFscGhhIFx0XHQ6IC0wLjAwMFxuXG5cdFx0XHRcdFx0KVxuXG5cdFx0XHRcdDtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ly8gYWxlcnRcblx0XHQmLmFsZXJ0IHtcblxuXHRcdFx0Ym9yZGVyLWNvbG9yOlxuXG5cdFx0XHRcdGFkanVzdC1jb2xvcihcblxuXHRcdFx0XHRcdCRyb2FyYW5nZSxcblx0XHRcdFx0XHQkaHVlIFx0IFx0OiAwJSxcblx0XHRcdFx0XHQkc2F0dXJhdGlvbiA6IDAlLFxuXHRcdFx0XHRcdCRsaWdodG5lc3MgIDogMCUsXG5cdFx0XHRcdFx0JGFscGhhIFx0XHQ6IC0wLjAwMFxuXG5cdFx0XHRcdClcblxuXHRcdFx0O1xuXG5cdFx0XHQvLyB0aXRsZVxuXHRcdFx0aDMge1xuXG5cdFx0XHRcdGNvbG9yOlxuXG5cdFx0XHRcdFx0YWRqdXN0LWNvbG9yKFxuXG5cdFx0XHRcdFx0XHQkcm9hcmFuZ2UsXG5cdFx0XHRcdFx0XHQkaHVlIFx0IFx0OiAwJSxcblx0XHRcdFx0XHRcdCRzYXR1cmF0aW9uIDogMCUsXG5cdFx0XHRcdFx0XHQkbGlnaHRuZXNzICA6IDAlLFxuXHRcdFx0XHRcdFx0JGFscGhhIFx0XHQ6IC0wLjAwMFxuXG5cdFx0XHRcdFx0KVxuXG5cdFx0XHRcdDtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ly8gaW5mb1xuXHRcdCYuaW5mbyB7XG5cblx0XHRcdGJvcmRlci1jb2xvcjpcblxuXHRcdFx0XHRhZGp1c3QtY29sb3IoXG5cblx0XHRcdFx0XHQkYmx1ZSxcblx0XHRcdFx0XHQkaHVlIFx0IFx0OiAwJSxcblx0XHRcdFx0XHQkc2F0dXJhdGlvbiA6IDAlLFxuXHRcdFx0XHRcdCRsaWdodG5lc3MgIDogMCUsXG5cdFx0XHRcdFx0JGFscGhhIFx0XHQ6IC0wLjAwMFxuXG5cdFx0XHRcdClcblxuXHRcdFx0O1xuXG5cdFx0XHQvLyB0aXRsZVxuXHRcdFx0aDMge1xuXG5cdFx0XHRcdGNvbG9yOlxuXG5cdFx0XHRcdFx0YWRqdXN0LWNvbG9yKFxuXG5cdFx0XHRcdFx0XHQkYmx1ZSxcblx0XHRcdFx0XHRcdCRodWUgXHQgXHQ6IDAlLFxuXHRcdFx0XHRcdFx0JHNhdHVyYXRpb24gOiAwJSxcblx0XHRcdFx0XHRcdCRsaWdodG5lc3MgIDogMCUsXG5cdFx0XHRcdFx0XHQkYWxwaGEgXHRcdDogLTAuMDAwXG5cblx0XHRcdFx0XHQpXG5cblx0XHRcdFx0O1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQvLyBzdWNjZXNzXG5cdFx0Ji5zdWNjZXNzIHtcblxuXHRcdFx0Ym9yZGVyLWNvbG9yOlxuXG5cdFx0XHRcdGFkanVzdC1jb2xvcihcblxuXHRcdFx0XHRcdCRnMTQwLFxuXHRcdFx0XHRcdCRodWUgXHQgXHQ6IDAlLFxuXHRcdFx0XHRcdCRzYXR1cmF0aW9uIDogNSUsXG5cdFx0XHRcdFx0JGxpZ2h0bmVzcyAgOiAxMCUsXG5cdFx0XHRcdFx0JGFscGhhIFx0XHQ6IC0wLjAwMFxuXG5cdFx0XHRcdClcblxuXHRcdFx0O1xuXG5cdFx0XHQvLyB0aXRsZVxuXHRcdFx0aDMge1xuXG5cdFx0XHRcdGNvbG9yOlxuXG5cdFx0XHRcdFx0YWRqdXN0LWNvbG9yKFxuXG5cdFx0XHRcdFx0XHQkZzE0MCxcblx0XHRcdFx0XHRcdCRodWUgXHQgXHQ6IDAlLFxuXHRcdFx0XHRcdFx0JHNhdHVyYXRpb24gOiA1JSxcblx0XHRcdFx0XHRcdCRsaWdodG5lc3MgIDogMTAlLFxuXHRcdFx0XHRcdFx0JGFscGhhIFx0XHQ6IC0wLjAwMFxuXG5cdFx0XHRcdFx0KVxuXG5cdFx0XHRcdDtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ly8gdGl0bGVcblx0XHRoMyB7XG5cblx0XHRcdG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcblxuXHRcdFx0QGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAxLjI1cmVtLCA3MDAgKTtcblxuXHRcdFx0QGluY2x1ZGUgdGV4dCggbm9uZSApO1xuXG5cdFx0XHRAaW5jbHVkZSB0eXBvKCAxLjc1cmVtLCAwLjAxNWVtICk7XG5cblx0XHRcdC8vIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMTY1ICk7XG5cblx0XHR9XG5cblx0XHQvLyB0ZXh0XG5cdFx0cCB7XG5cblx0XHRcdC8vIGxhc3QgY2hpbGRcblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cblx0XHRcdFx0bWFyZ2luOiAwIDAgMCAwO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGxheWVyZWQgbGF5b3V0IHBhZ2Ugc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRwYWdlYmFzZSA6ICNFNUU3RTc7XG5cbiAgICAvLyBjbGFzcyBob29rXG4gICAgLmR2bS1zbmFwc2hvdCB7XG5cbiAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4yNjUgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkcGFnZWJhc2UsIDAuMDAwICk7XG5cbiAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgIC5wYWdlLWhlYWRlciB7XG5cbiAgICAgICAgICAgIC8vIHN0eWxlZFxuICAgICAgICAgICAgJi5zdHlsZWQge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogNjV2aDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEydmggM3JlbSAxMnZoO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50OiBmaXhlZDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNzV2aDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTpcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5NWRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRibHVlLCAwLjU4NSApIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGN2ZWxsb3csIDAuNjE1ICkgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkY3ZuYXZ5LCAwLjAzNSApIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgIC5wYWdlLXRpdGxlLFxuICAgICAgICAgICAgICAgIC5wYWdlLXN1YnRpdGxlLFxuICAgICAgICAgICAgICAgIC5wYWdlLWludHJvIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgIC5wYWdlLXRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDNyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDJyZW0sIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2ZWxsb3csIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBzdWJ0aXRsZVxuICAgICAgICAgICAgICAgIC5wYWdlLXN1YnRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS41cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjI1cmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGludHJvXG4gICAgICAgICAgICAgICAgLnBhZ2UtaW50cm8ge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuNXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvbG9yKCAkcml0ZS1saXRlLCAwLjAwMCApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMTI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRlbnQgY29udGFpbmVyXG4gICAgICAgICNjb250ZW50LWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRwYWdlYmFzZSwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudCBhcmVhXG4gICAgICAgIC5jb250ZW50LWFyZWEge1xuXG4gICAgICAgICAgICAvLyBzdHlsZWRcbiAgICAgICAgICAgICYuc3R5bGVkIHtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGMoIDY1dmggKyA1cmVtICkgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKCA3NXZoICsgMnJlbSApIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGRlZmF1bHRcbiAgICAgICAgICAgICYuZGVmYXVsdCB7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbW1vblxuICAgICAgICAuY29udGVudC1yb3cge1xuXG4gICAgICAgICAgICBtYXJnaW46IDAgNXJlbSAwIDVyZW07XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDJyZW0gMCAycmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRlbW9ncmFwaGljc1xuICAgICAgICAjZGVtb2dyYXBoaWNzIHtcblxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDNyZW0gMDtcblxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdyZXk7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWFwXG4gICAgICAgICNtYXAge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDAgM3JlbSAwO1xuXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ3JleTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3RhdGlzdGljc1xuICAgICAgICAjc3RhdGlzdGljcyB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gMCAzcmVtIDA7XG5cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBncmV5O1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1zdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnRlbnQgYmxvY2tzXG4gICAgICAgICAgICAuY29udGVudC1ibG9jayB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBub25lLCBjZW50ZXIgKTtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMCAycmVtIDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG51bWJlclxuICAgICAgICAgICAgLm51bWJlciB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCA2cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDRyZW0sIDAuMDI1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgLnRpdGxlIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkIHRyYW5zcGFyZW50aXplKCAkYXBwMDUsIDAuNjQ1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAyLjI1cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMi41cmVtLCAtMC4wMjVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNhcHRpb25cbiAgICAgICAgICAgIC5jYXB0aW9uIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAycmVtLCAtMC4wMjVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC41NjUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBydXJhbFxuICAgICAgICAgICAgI3J1cmFsLWFyZWFzIHtcblxuICAgICAgICAgICAgICAgIC8vIG51bWJlclxuICAgICAgICAgICAgICAgIC5udW1iZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICR2aXRlc3NlLCA1LjVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDRyZW0sIC0wLjAyNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgICAgICAudGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsYW5ndWFnZXNcbiAgICAgICAgI2xhbmd1YWdlcyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgcGFkZGluZzogM3JlbSAwIDNyZW0gMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudCByb3dcbiAgICAgICAgLmNvbnRlbnQtcm93IHtcblxuICAgICAgICAgICAgLy8gY2xhc3NcbiAgICAgICAgICAgICYudGhpcmRzIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDIwcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXJlbSAwIDVyZW07XG5cbiAgICAgICAgICAgICAgICAvLyBibG9ja3NcbiAgICAgICAgICAgICAgICAuY29udGVudC1ibG9jayB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMlO1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBncmV5O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCAkYXBwMDUsIDAuMzg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBpbWFnZXNcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLmRlZ3JlZV9wcm9ncmFtLXRlbXBsYXRlLW92ZXJ2aWV3IHtcblx0Zm9udC1zaXplOiAxcmVtO1xuXG5cdC5saXN0LW9mLXByb2dyYW1zIHtcblx0XHRiYWNrZ3JvdW5kOiNFOEU3RTM7XG5cdFx0cGFkZGluZzo2dncgOHZ3O1xuXHRcdGNvbG9yOiM1NDU0NTQ7XG5cdH1cblxuXHQucHJvZ3JhbS1jaGlsZHJlbiB7XG5cdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblx0XHRcdGRpc3BsYXk6IC1tcy1ncmlkO1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdGdyaWQtZ2FwOiAyZW07XG5cdFx0XHQtbXMtZ3JpZC1yb3dzOiBhdXRvO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXHRcdFx0LW1zLWdyaWQtY29sdW1uczogMWZyIDJlbSAyZnI7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7XG5cdFx0XHRwYWRkaW5nOiAydncgMDtcblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHR9XG5cdH1cblxuXHQuY2hpbGQtcHJvZ3JhbS1uYW1lIHtcblx0XHQtbXMtZ3JpZC1yb3c6IDE7XG5cdFx0Z3JpZC1yb3c6IDE7XG5cdFx0LW1zLWdyaWQtY29sdW1uOiAxO1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXG5cdFx0QGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcblx0XHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cdFx0XHRmb250LXNpemU6IDEuNzVyZW07XG5cdFx0fVxuXHR9XG5cblx0LnByb2dyYW0tZGVzYyB7XG5cdFx0LW1zLWdyaWQtcm93OiAxO1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdC1tcy1ncmlkLWNvbHVtbjogMztcblx0XHRncmlkLWNvbHVtbjogMjtcblx0fVxufVxuIiwiLy8gc3R5bGVzaGVldCA6OiBkZXBhcnRtZW50IGhvbWVwYWdlIHN0eWxlcyBjb21waWxlclxuXG4gICAgLy8gYmlsbGJvYXJkXG4gICAgLy8gQGltcG9ydCAnZGVwYXJ0bWVudC5iaWxsYm9hcmQnO1xuXG4gICAgLy8gbGF5b3V0XG4gICAgQGltcG9ydCAnZGVwYXJ0bWVudC5sYXlvdXQnO1xuXG4gICAgLy8gY29udGVudFxuICAgIEBpbXBvcnQgJ2RlcGFydG1lbnQuY29udGVudCc7XG5cbiAgICAvLyBiYW5uZXJcbiAgICBAaW1wb3J0ICdkZXBhcnRtZW50LmJhbm5lcic7XG5cbiAgICAvLyBkZWdyZWUgcHJvZ3JhbXNcbiAgICBAaW1wb3J0ICdkZXBhcnRtZW50LmRlZ3JlZS5wcm9ncmFtcyc7XG5cbiAgICAvLyByZXNpZGVuY2llc1xuICAgIEBpbXBvcnQgJ2RlcGFydG1lbnQucmVzaWRlbmNpZXMnO1xuXG4gICAgLy8gcmVzZWFyY2hcbiAgICBAaW1wb3J0ICdkZXBhcnRtZW50LnJlc2VhcmNoJztcblxuICAgIC8vIGV4cGVydGlzZVxuICAgIEBpbXBvcnQgJ2RlcGFydG1lbnQuZXhwZXJ0aXNlJztcblxuICAgIC8vIG91dHJlYWNoXG4gICAgQGltcG9ydCAnZGVwYXJ0bWVudC5vdXRyZWFjaCc7XG5cbiAgICAvLyBuZXdzXG4gICAgQGltcG9ydCAnZGVwYXJ0bWVudC5uZXdzJztcblxuICAgIC8vIGdpdmluZ1xuICAgIEBpbXBvcnQgJ2RlcGFydG1lbnQuZ2l2aW5nJztcbiIsIi8vIHN0eWxlc2hlZXQgOjogZGVwYXJ0bWVudCBiaWxsYm9hcmQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRiaWxsYm9hcmQgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3NpdGUtbGF5b3V0LmRlcGFydG1lbnQge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogdG9wIGNlbnRlcjtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudSBvcGVuXG4gICAgICAgICYuc2l0ZS1tZW51LW9wZW4ge1xuXG4gICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1ciggMTZweCApO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoIDE2cHggKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogZGVwYXJ0bWVudCBiaWxsYm9hcmQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRjb250ZW50IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNkZXBhcnRtZW50LWNvbnRlbnQge1xuXG4gICAgICAgIC8vIG1lbnUgb3BlblxuICAgICAgICAuc2l0ZS1tZW51LW9wZW4gJiB7XG5cbiAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKCAxNnB4ICk7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1ciggMTZweCApO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbW1vblxuICAgICAgICAuaG9tZXBhZ2Utc2VjdGlvbiB7XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgLy8gcGFkZGluZzogNnJlbSA4cmVtIDZyZW0gOHJlbTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29tbW9uXG4gICAgICAgIC51aS1hcnRpY2xlIHtcblxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAvLyBjb250YWluZXJcbiAgICAgICAgICAgIC5hcnRpY2xlLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGRlcGFydG1lbnQgaG9tZXBhZ2UgaW50cm8vcXVpY2sgbGlua3NcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGludHJvIDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNkZXBhcnRtZW50LWJhbm5lciB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtcyggZmFsc2UgKTtcblxuICAgICAgICBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMTY1ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMnJlbSAycmVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnRyb1xuICAgICAgICAuaW50cm9kdWN0aW9uLXRleHQge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjA1NWVtICk7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4xMjVyZW0sIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaW5rc1xuICAgICAgICAubGluay1ib3gge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBoaWRlO1xuXG4gICAgICAgICAgICBtaW4td2lkdGg6IDE2cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAtN3JlbSAwIDAgMnJlbTtcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDAgMnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgIC5saW5rLWl0ZW0ge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBmaXJzdCBjaGlsZFxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCA0MSApIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRyb2FyYW5nZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjgyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGZpcnN0IGNoaWxkXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoIDQyICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbiggJGN2bmF2eSwgNy41JSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCBsaWdodGVuKCAkY3ZuYXZ5LCA3LjUlICksIDAuNTI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gZmlyc3QgY2hpbGRcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCggNDMgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY3ZlbGxvdztcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2ZWxsb3csIDAuODI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gZmlyc3QgY2hpbGRcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCggNDQgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJsdWUsIDAuODI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC41cmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRyaXRlLWxpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTE1ICk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTM1LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgMy41cmVtLCBibGFjaywgMC40NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2ZWxsb3csIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBkZXBhcnRtZW50IGhvbWVwYWdlIGludHJvL3F1aWNrIGxpbmtzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRpbnRybyA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAuZGVwdC1kZWctcHJvZ3Mge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBwYWRkaW5nOiA0cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC4wMDAgKTtcblxuICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICRnMTQwLCAwLjAwMCwgMCUsXG4gICAgICAgICAgICAkZzE0MCwgMS4wMDAsIDQwJVxuXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMnJlbSAycmVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBkZXNpZ25cbiAgICAgICAgLmRlc2lnbi1sYXllciB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAubGF5ZXIge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGltYWdlXG4gICAgICAgICAgICAuaW1hZ2Uge1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9wYXR0ZXJucy9wYXR0ZXJuLnZlcnRpY2FsLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuICAgICAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5O1xuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xNjU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29sb3JcbiAgICAgICAgICAgIC5jb2xvciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC4zNjUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBkZWdyZWVzXG4gICAgICAgICZfX2NvbnRlbnQge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAuc2VjdGlvbi1oZWFkaW5nIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMSwgMC4wODVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICNGM0YxRTAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQoNDBlbSkge1xuXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxpc3RcbiAgICAgICAgJl9fdHlwZSB7XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDFyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZ3JhbXMtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgLnByb2dyYW0tbGluayB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLXMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMnJlbSAycmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS4xMjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjIsIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC4zNjUgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDMpIC0gMnJlbSAgLSAuMXB4KTsgLy8gcmVtb3ZlIC4xcHggdG8gZml4IElFIG5vdCBjYWxjdWxhdGluZyBwZXJjZW50YWdlcyB0aGUgc2FtZSBhcyByZWFsIGJyb3dzZXJzXG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJwb2ludCh3aWRlc2NyZWVuKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7XG5cblx0XHRcdFx0fVxuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45MDUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3BhcmVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDAuODc1cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBkZXBhcnRtZW50IGhvbWVwYWdlIGludHJvL3F1aWNrIGxpbmtzXG5cblx0Ly8gc2V0dGluZ3Ncblx0JGludHJvIDogMXJlbTtcblxuXHQvLyBzdHlsZXNcblx0LnJlc2lkZW5jaWVzIHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdHBhZGRpbmc6IDRyZW07XG5cblx0XHRAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cblx0XHRAaW5jbHVkZSBmaWxsKCAkYXBwMzAsIDAuMDAwICk7XG5cblx0XHRAaW5jbHVkZSBncmFkaWVudChcblxuXHRcdFx0MGRlZyxcblx0XHRcdCRhcHAzMCwgMC4wMDAsIDAlLFxuXHRcdFx0JGFwcDMwLCAxLjAwMCwgNDAlXG5cblx0XHQpO1xuXG5cdFx0Ly8gbW9iaWxlXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cblx0XHRcdHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XG5cblx0XHR9XG5cblx0XHQvLyBkZXNpZ25cblx0XHQuZGVzaWduLWxheWVyIHtcblxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHQvLyBjb21tb25cblx0XHRcdC5sYXllciB7XG5cblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0bGVmdDogMDtcblxuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHR9XG5cblx0XHRcdC8vIGltYWdlXG5cdFx0XHQuaW1hZ2Uge1xuXG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWcvcGF0dGVybnMvcGF0dGVybi52ZXJ0aWNhbC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY292ZXI7XG5cblx0XHRcdFx0bWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG5cblx0XHRcdFx0b3BhY2l0eTogMC4xNjU7XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gY29sb3Jcblx0XHRcdC5jb2xvciB7XG5cblx0XHRcdFx0QGluY2x1ZGUgZmlsbCggJGFwcDMwLCAwLjM2NSApO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQvLyBkZWdyZWVzXG5cdFx0Jl9fY29udGVudCB7XG5cblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0Ly8gdGl0bGVcblx0XHRcdC5zZWN0aW9uLWhlYWRpbmcge1xuXG5cdFx0XHRcdG1hcmdpbjogMCAwIDFyZW0gMXJlbTtcblxuXHRcdFx0XHRAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAycmVtLCA0MDAgKTtcblxuXHRcdFx0XHRAaW5jbHVkZSB0eXBvKCAxLCAwLjA4NWVtICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgY29sb3IoICNGM0YxRTAsIDAuMDAwICk7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnBvaW50KDQwZW0pIHtcblxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMi41cmVtO1xuXG5cdFx0XHRcdH1cblxuXHRcdCAgfVxuXG5cdFx0XHQucHJvZ3JhbXMtY29udGFpbmVyIHtcblxuXHRcdFx0XHRAaW5jbHVkZSBmbGV4LWgtcy12LXN0KCBmYWxzZSApO1xuXG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gbGlua1xuXHRcdFx0LnByb2dyYW0tbGluayB7XG5cblx0XHRcdFx0QGluY2x1ZGUgZmxleC12LWMtaC1zKCB0cnVlICk7XG5cblx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuXG5cdFx0XHRcdG1hcmdpbjogMXJlbSAxcmVtIDFyZW0gMXJlbTtcblx0XHRcdFx0cGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcblxuXHRcdFx0XHRAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjEyNXJlbSwgNDAwICk7XG5cblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIHR5cG8oIDEuMiwgMC4wMzVlbSApO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjM2NSApO1xuXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblxuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicG9pbnQoZGVza3RvcCkge1xuXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAtIDJyZW0gIC0gLjFweCk7IC8vIHJlbW92ZSAuMXB4IHRvIGZpeCBJRSBub3QgY2FsY3VsYXRpbmcgcGVyY2VudGFnZXMgdGhlIHNhbWUgYXMgcmVhbCBicm93c2Vyc1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicG9pbnQod2lkZXNjcmVlbikge1xuXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGhvdmVyIHN0YXRlXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMsXG5cdFx0XHRcdCY6YWN0aXZlIHtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jl9fdGl0bGUge1xuXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogZGVwYXJ0bWVudCBiaWxsYm9hcmQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRzZWN0aW9uX2NvbG9yIDogdHJhbnNwYXJlbnRpemUoICRjdm5hdnksIDAuMTQ1ICk7XG4gICAgJGJpbGxib2FyZCAgICAgOiAnLi4vaW1nL3Jlc2VhcmNoL3Jlc2VhcmNoLnBhbmVsLjAwLmpwZyc7XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjZGVwYXJ0bWVudC1yZXNlYXJjaCB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtaC1lLXYtdCggZmFsc2UgKTtcblxuICAgICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjAwMCApO1xuXG4gICAgICAgIC8vIGRlc2lnblxuICAgICAgICAuZGVzaWduLWxheWVyIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAubGF5ZXIge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGltYWdlXG4gICAgICAgICAgICAuaW1hZ2Uge1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDogZml4ZWQ7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb2xvclxuICAgICAgICAgICAgLmNvbG9yIHtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC40NjUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250ZW50XG4gICAgICAgIC5jb250ZW50LWxheWVyIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgd2lkdGg6IDUwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjI2NSApO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICBpbWFnZTpcblxuICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGJsdWUsIDAuNTg1ICkgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCA4MCVcblxuICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaGVhZGxpbmVcbiAgICAgICAgICAgIC5oZWFkbGluZSB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAycmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggM3JlbSwgMC4wODVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgIC50ZXh0IHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggbm9uZSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYnV0dG9uc1xuICAgICAgICAgICAgLnJlc2VhcmNoLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAgICAgLmNvbnRlbnQtYnV0dG9uIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjc1cmVtLCAwLjEzNWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgNHJlbSwgYmxhY2ssIDAuMzg1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGRlcGFydG1lbnQgYmlsbGJvYXJkIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkc2VjdGlvbl9jb2xvciA6IHRyYW5zcGFyZW50aXplKCAkY3ZuYXZ5LCAwLjE0NSApO1xuICAgICRiaWxsYm9hcmQgICAgIDogJy4uL2ltZy9yZXNlYXJjaC9yZXNlYXJjaC5wYW5lbC4wMC5qcGcnO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLmRlcGFydG1lbnQtZXhwZXJ0aXNlIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgZmxleC1oLXMtdi10KCBmYWxzZSApO1xuXG4gICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZWlnZSwgMC4wMDAgKTtcblxuICAgICAgICAvLyBkZXNpZ25cbiAgICAgICAgLmRlc2lnbi1sYXllciB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgLmxheWVyIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpbWFnZVxuICAgICAgICAgICAgLmltYWdlIHtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb2xvclxuICAgICAgICAgICAgLmNvbG9yIHtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJlaWdlLCAwLjExNSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgLmNvbnRlbnQtbGF5ZXIge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmxleC12LWItaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjEyNSApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBoZWFkbGluZVxuICAgICAgICAgICAgLmhlYWRsaW5lIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAzcmVtLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgLnRleHQge1xuXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjVyZW07XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgdGV4dCggbm9uZSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBidXR0b25zXG4gICAgICAgICAgICAuZXhwZXJ0aXNlLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAgICAgLmV4cGVydGlzZS1hcmVhIHtcblxuICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMXJlbSAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDEuMjVyZW0gMCAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUsIGxlZnQgKTtcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMiwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4xMjUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTM1LCAxLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC41ODUgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTM1LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDJyZW0sIDJyZW0sIDAuNXJlbSwgMC41cmVtLCAkZzE0MCwgJ1xcRUQ2RicgKTtcblxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbWVudVxuICAgICAgICAgICAgLnJlc2VhcmNoLXRvcGljLW1lbnUge1xuXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBidXR0b25cbiAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xuXG4gICAgICAgICAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmxleC1oLXMtdi1jKCBmYWxzZSApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLy8gZmxleC1iYXNpczogMzMuMzMzMzMzMyU7XG5cbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogY2FsYyggNTAlIC0gMC41cmVtICk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUsIGxlZnQgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMiwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4xMjUgKTtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIC8vICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgICAgICAgICAvLyAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIC8vICAgICBsaW5lLWhlaWdodDogMXJlbTtcblxuICAgICAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgIC0gLjFweCk7IC8vIHJlbW92ZSAuMXB4IHRvIGZpeCBJRSBub3QgY2FsY3VsYXRpbmcgcGVyY2VudGFnZXMgdGhlIHNhbWUgYXMgcmVhbCBicm93c2Vyc1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludCh3aWRlc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDJyZW0sIDIuNGVtLCAwLjVyZW0sIDAuNXJlbSwgJGcxNDAsICdcXEVENkYnICk7XG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvZGljb24oIDJyZW0sIDIuNGVtLCAwLjVyZW0sIDFyZW0sICRnMTQwLCAnXFxFRDdCJyApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjEyNSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBkZXBhcnRtZW50IGhvbWVwYWdlIG91dHJlYWNoXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRvdXRyZWFjaCA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAuZGVwYXJ0bWVudC1vdXRyZWFjaCB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtdCggZmFsc2UgKTtcblxuICAgICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBwYWRkaW5nLXRvcDogNTB2aDtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkb3JhbmdlLCAwLjAwMCApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRlc2lnblxuICAgICAgICAuZGVzaWduLWxheWVyIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNTB2aDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgLmxheWVyIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpbWFnZVxuICAgICAgICAgICAgLmltYWdlIHtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcblxuICAgICAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb2xvclxuICAgICAgICAgICAgLmNvbG9yIHtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJG9yYW5nZSwgMC40NjUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250ZW50XG4gICAgICAgIC5jb250ZW50LWxheWVyIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkb3JhbmdlLW0sIDAuMDg1ICk7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkb3JhbmdlLCAwLjE4NSApIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgODAlXG5cbiAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgPiAqIHtcblxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBoZWFkbGluZVxuICAgICAgICAgICAgLmhlYWRsaW5lIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgLnRleHQge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBub25lICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBidXR0b25zXG4gICAgICAgICAgICAuY29udGVudC1idXR0b25zIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBidXR0b25cbiAgICAgICAgICAgIC5jb250ZW50LWJ1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMXJlbSAxcmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCwgY2VudGVyICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjIsIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk4NSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxZW0sIDNlbSwgYmxhY2ssIDAuMzg1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludChwaG9uZSkge1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCA1MCUgLSAwLjVyZW0gKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludCh0YWJsZXQpIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDUwJSAtIDAuNXJlbSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRvcmFuZ2UsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBkZXBhcnRtZW50IGhvbWVwYWdlIG5ld3NcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJG5ld3MgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI2RlcGFydG1lbnQtbmV3cyB7XG5cbiAgICAgICAgLy8gaGVpZ2h0OiAzMnJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmVpZ2UsIDAuMDAwICk7XG5cbiAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYiggZmFsc2UgKTtcblxuICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMnJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMjVyZW0sIDAuMTM1ZW0gKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRkYXJrLCAwLjEyNSApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS41cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCwgbGVmdCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBib3R0b206IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIGxpZ2h0ZW4oICRnMTQwLCA3LjUlICksIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgIC50aXRsZS1saW5rIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGRhcmssIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggLTEuNXJlbSwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgLnRpdGxlLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1iKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjY4NzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC41cmVtLCAwLjA3NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGRhcmssIDAuMzI1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMi4yNXJlbSwgMS4yNXJlbSAwIDAgMCwgMXJlbSwgJGRhcmssICdcXEVEQzgnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAtMnJlbSwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRhaW5lclxuICAgICAgICAuYXJ0aWNsZS1jb250YWluZXIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtai1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDRyZW0gNXJlbSA0cmVtO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAxcmVtIDByZW0gMXJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBmZWF0dXJlICsgc2lkZWJhclxuICAgICAgICAjbWFpbi1zb3VyY2UtY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1qLWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNvdXJjZSBmZWVkXG4gICAgICAgICNzb3VyY2UtZmVlZCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFydGljbGVcbiAgICAgICAgICAgIC5hcnRpY2xlIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMzMuMzMzMzMzMyU7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW0gMCAxcmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMTg1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDEuNXJlbSwgNHJlbSwgYmxhY2ssIDAuNjE1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjQwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtIDJyZW0gMXJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIC0xcmVtLCAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgICAgICAgICAgICAgIC5oZWFkZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpbWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYXlzY2FsZSggMC4wMDAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5KCAxLjAwMCApXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGhlYWRlclxuICAgICAgICAgICAgICAgIC5oZWFkZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cmVtO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGltYWdlXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjpcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYXlzY2FsZSggMC4wMDAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkoIDEuMDAwIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbWV0YVxuICAgICAgICAgICAgICAgICAgICAubWV0YSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoaWRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC5kYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgLnBvc3QtY2F0ZWdvcnkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDAuNXJlbSAwIDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC41NjI1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNjVlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kYXRlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk0NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhdGVnb3J5XG4gICAgICAgICAgICAgICAgICAgICAgICAucG9zdC1jYXRlZ29yeSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbSAwIDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC41NjI1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMTg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoaWRlIGNsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5zdXBlcmNoYW5uZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5uYXRpb25hbC13ZXN0ZXJuLXN0b2NrLXNob3csXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5zcGVjaWFsLWV2ZW50cyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhbXBhaWduXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5zdGF0ZS15b3VyLXB1cnBvc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2FtcGFpZ247XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMzI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvYml0dWFyaWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5vYml0dWFyaWVzIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC40MjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhlYWRsaW5lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubGF0ZXN0LWhlYWRsaW5lcyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjM4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmFtIGZhbWlseVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYucmFtLWZhbWlseSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJG9yYW5nZSwgMC4zODUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG91dHJlYWNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5vdXRyZWFjaCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2ZWxsb3csIDAuNjg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXNlYXJjaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYucmVzZWFyY2gge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuNDE1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjb250ZW50XG4gICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDhyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuNXJlbSwgMC4wMjVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGcxNDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICAgICAgcCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4yNXJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9pbDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGRlcGFydG1lbnQgaG9tZXBhZ2UgZ2l2aW5nXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRnaXZpbmcgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI2RlcGFydG1lbnQtZ2l2aW5nIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi10KCBmYWxzZSApO1xuXG4gICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRuaXRlLCAwLjAwMCApO1xuXG4gICAgICAgIC8vIGNvbW1vblxuICAgICAgICAmLmZ1bGwsXG4gICAgICAgICYuYmFzaWMge1xuXG4gICAgICAgICAgICAvLyBkZXNpZ25cbiAgICAgICAgICAgIC5kZXNpZ24tbGF5ZXIge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgICAgICAubGF5ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGltYWdlXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjb2xvclxuICAgICAgICAgICAgICAgIC5jb2xvciB7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMzY1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29udGVudFxuICAgICAgICAgICAgLmNvbnRlbnQtbGF5ZXIge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZ1bGwgbGF5b3V0XG4gICAgICAgICYuZnVsbCB7XG5cbiAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgIC5jb250ZW50LWxheWVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMDg1ICk7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRnMTQwLCAwLjM4NSApIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDgwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBoZWFkbGluZVxuICAgICAgICAgICAgICAgIC5oZWFkbGluZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDNyZW0sIDAuMDg1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgLnRleHQge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBub25lICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBidXR0b25cbiAgICAgICAgICAgICAgICAuY29udGVudC1idXR0b24ge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4xMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45ODUgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDRyZW0sIGJsYWNrLCAwLjM4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJhc2ljIGxheW91dFxuICAgICAgICAmLmJhc2ljIHtcblxuICAgICAgICAgICAgaGVpZ2h0OiAyNXZoO1xuXG4gICAgICAgICAgICAvLyBjb250ZW50XG4gICAgICAgICAgICAuY29udGVudC1sYXllciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRkYXJrLCAwLjQ4NSApO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZzE0MCwgMC41ODUgKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCA4MCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBidXR0b25cbiAgICAgICAgICAgIC5jb250ZW50LWJ1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAxLjVyZW0gMCAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4xMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMzY1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDRyZW0sIGJsYWNrLCAwLjM4NSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogbGFib3JhdG9yeSBob21lcGFnZSBzdHlsZXNoZWV0IGNvbXBpbGVyXG5cbiAgICAvLyBhcmNoaXZlXG4gICAgQGltcG9ydCAnbGFib3JhdG9yeS5hcmNoaXZlJztcblxuICAgIC8vIGJpbGxib2FyZFxuICAgIEBpbXBvcnQgJ2xhYm9yYXRvcnkuYmlsbGJvYXJkJztcblxuICAgIC8vIGxheW91dFxuICAgIEBpbXBvcnQgJ2xhYm9yYXRvcnkubGF5b3V0JztcblxuICAgIC8vIGRlc2NyaXB0aW9uXG4gICAgQGltcG9ydCAnbGFib3JhdG9yeS5kZXNjcmlwdGlvbic7XG5cbiAgICAvLyByZXNlYXJjaFxuICAgIEBpbXBvcnQgJ2xhYm9yYXRvcnkucmVzZWFyY2gnO1xuXG4gICAgLy8gcHVibGljYXRpb25zXG4gICAgQGltcG9ydCAnbGFib3JhdG9yeS5wdWJsaWNhdGlvbnMnO1xuXG4gICAgLy8gc2xpZGVzaG93XG4gICAgQGltcG9ydCAnbGFib3JhdG9yeS5zbGlkZXNob3cnO1xuXG4gICAgLy8gZmFjdHNcbiAgICBAaW1wb3J0ICdsYWJvcmF0b3J5LmZhY3RzJztcblxuICAgIC8vIHN0YWZmXG4gICAgQGltcG9ydCAnbGFib3JhdG9yeS5zdGFmZic7XG5cbiAgICAvLyBuZXdzXG4gICAgQGltcG9ydCAnbGFib3JhdG9yeS5uZXdzJztcblxuICAgIC8vIGNvbnRhY3RcbiAgICBAaW1wb3J0ICdsYWJvcmF0b3J5LmNvbnRhY3QnO1xuIiwiLy8gc3R5bGVzaGVldCA6OiBsYWJvcmF0b3J5IHNpdGUgYXJjaGl2ZSBwYWdlIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkYXJjaGl2ZSA6IDFyZW07XG4gICAgJGFyY2hpdmUgOiBhZGp1c3QtY29sb3IoXG5cbiAgICAgICAgJGFwcDA1LFxuICAgICAgICAkaHVlICAgICAgICAgIDogMCUsXG4gICAgICAgICRzYXR1cmF0aW9uIDogLTMwJSxcbiAgICAgICAgJGxpZ2h0bmVzcyAgOiAzNSUsXG4gICAgICAgICRhbHBoYSAgICAgICAgIDogLTAuMDAwXG5cbiAgICApO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3NpdGUtbGF5b3V0LmxhYnMtYXJjaGl2ZSB7XG5cbiAgICAgICAgLy8gcGF0dGVyblxuICAgICAgICAucGF0dGVybi1vdmVybGF5IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9wYXR0ZXJucy9wYXR0ZXJuLmhvcml6b250YWwucG5nKTtcbiAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogdG9wIGxlZnQ7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gb3BhY2l0eTogMC4zODU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRhaW5lclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHJlbSA0LjVyZW0gNHJlbSA0LjVyZW07XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZpbGwoICRhcmNoaXZlLCAwLjAwMCApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW5kZXhcbiAgICAgICAgI2xhYm9yYXRvcnktaW5kZXgge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaGVhZGluZ1xuICAgICAgICAuaW5kZXgtdGl0bGUge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDAuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaW5rc1xuICAgICAgICAubGFiLWxpbmsge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgLy8gd2lkdGg6IGNhbGMoIDI1JSAtIDJyZW0gKTtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjVyZW0gMXJlbSAwLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMXJlbSAwIDFyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCwgcmlnaHQgKTtcblxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxcmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4zNjUgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjkyNSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDMuNXJlbSwgYmxhY2ssIDAuNDY1ICk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogbGFib3JhdG9yeSBiaWxsYm9hcmQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRiaWxsYm9hcmQgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLmxhYm9yYXRvcnktYmlsbGJvYXJkIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zKCBmYWxzZSApO1xuXG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvdmVyO1xuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtICkge1xuXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2MHZoO1xuICAgICAgICAgICAgLy8gcGFkZGluZzogNjB2aCAwIDAgMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBncmFkaWVudCggMTgwZGVnLCB0cmFuc3BhcmVudCwgMS4wMDAsIDAlLCAkbml0ZSwgMC4wMDAsIDEwMCUgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHdoaXRlLCAwLjEwNSApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuNDY1ICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGdyYWRpZW50XG4gICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudCggMjAwZGVnLCB0cmFuc3BhcmVudCwgMS4wMDAsIDIwJSwgJGN2bmF2eSwgMC4xMDUsIDEwMCUgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgI2hvbWVwYWdlLXRpdGxlIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYiggZmFsc2UgKTtcblxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyOHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAycmVtIDVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMi41cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW0gMnJlbSAzcmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAuc2l0ZS10aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAvLyBzdGFuZGFsb25lXG4gICAgICAgICAgICAgICAgJi5zdGFuZGFsb25lIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDIuNXJlbSwgMC4wODVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCwgbGVmdCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMC4xMjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHcvIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgJi5kZXNjcmlwdGlvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDIuNXJlbSwgMC4wODVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCwgcmlnaHQgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAuc2l0ZS1kZXNjcmlwdGlvbiB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWIoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMnJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDdyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAycmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxLjI1cmVtIDJyZW07XG5cbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRjdmVsbG93O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjI1cmVtLCAwLjA2NWVtICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGxhYm9yYXRvcnkgcGFnZSBsYXlvdXQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRiaWxsYm9hcmQgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3NpdGUtbGF5b3V0LmxhYm9yYXRvcnkge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogdG9wIGNlbnRlcjtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudSBvcGVuXG4gICAgICAgICYuc2l0ZS1tZW51LW9wZW4ge1xuXG4gICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1ciggMTZweCApO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoIDE2cHggKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb21tb25cbiAgICAgICAgLmxhYm9yYXRvcnktY29udGVudCB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLy8gcGFkZGluZzogNXJlbSA1cmVtIDVyZW0gNXJlbTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmc6IDNyZW0gM3JlbSAzcmVtIDNyZW07XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaGVhZGluZ3NcbiAgICAgICAgICAgIGgyIHtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIC8vIHNsaWRlc1xuICAgICAgICAudWktc2xpZGUge1xuXG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBsYWJvcmF0b3J5IGRlc2NyaXB0aW9uIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkY29udGVudCA6IDFyZW07XG4gICAgJGRlc2NyaXB0aW9uIDogYWRqdXN0LWNvbG9yKFxuXG4gICAgICAgICRiZWlnZSxcbiAgICAgICAgJGh1ZSAgICAgICAgICA6IDAlLFxuICAgICAgICAkc2F0dXJhdGlvbiA6IDAlLFxuICAgICAgICAkbGlnaHRuZXNzICA6IDAlLFxuICAgICAgICAkYWxwaGEgICAgICAgICA6IC0wLjAwMFxuXG4gICAgKTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNsYWJvcmF0b3J5LWRlc2NyaXB0aW9uIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1zKCBmYWxzZSApO1xuXG4gICAgICAgIHBhZGRpbmc6IDVyZW0gNXJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4xNjUgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGVzY3JpcHRpb24sIDAuMDAwICk7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDNyZW0gM3JlbSAzcmVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnRyb1xuICAgICAgICAuZGVzY3JpcHRpb24tdGV4dCB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuNXJlbSwgMC4wNTVlbSApO1xuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogbGFib3JhdG9yeSByZXNlYXJjaCBwcm9qZWN0cyBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGNvbnRlbnQgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3Jlc2VhcmNoLXByb2plY3RzIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHZoO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4xNjUgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjAwMCApO1xuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNsYXNzIGhvb2tcbiAgICAgICAgLmJpbGxib2FyZC1jb250cm9sIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICBib3R0b206IDVyZW07XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwMDtcblxuICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkYWxsMjIwO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgYm90dG9tOiA1MCU7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmLnByZXYtYXJyb3csXG4gICAgICAgICAgICAmLm5leHQtYXJyb3cge1xuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBkaXNhYmxlZFxuICAgICAgICAgICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gc3ZnXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDY1O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBwcmV2LmFycm93XG4gICAgICAgICAgICAmLnByZXYtYXJyb3cge1xuXG4gICAgICAgICAgICAgICAgLy8gcmlnaHQ6IDlyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogNXJlbTtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjMxNSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAmLnNsaWNrLWRpc2FibGVkIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBuZXh0LmFycm93XG4gICAgICAgICAgICAmLm5leHQtYXJyb3cge1xuXG4gICAgICAgICAgICAgICAgLy8gcmlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogOXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjkyNSApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC4zMTUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTI1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTRyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjMxNSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsYWJlbHNcbiAgICAgICAgICAgIC5idXR0b24tbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNsaWNrIHN0dWZmXG4gICAgICAgIC5zbGljay1saXN0IHtcblxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgLy8gbWluLWhlaWdodDogNjB2aDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2xpZGUgdHJhY2tcbiAgICAgICAgLnNsaWNrLXRyYWNrIHtcblxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBmYWN0b3J5IHNsaWRlXG4gICAgICAgIC5zbGljay1zbGlkZSB7XG5cbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJhZCBuZXN0XG4gICAgICAgICAgICA+IGRpdiB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2xpZGVcbiAgICAgICAgLnJlc2VhcmNoLXNsaWRlIHtcblxuICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgbWluLWhlaWdodDogNjB2aDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgIC5pbWFnZS1jb250YWluZXIge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIC8vIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDYwdmg7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuNDY1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29udGVudFxuICAgICAgICAgICAgLmNvbnRlbnQtd3JhcHBlciB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcblxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwdmg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXJlbSA1cmVtIDVyZW0gNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDRyZW0gM3JlbSA0cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDEuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkY3ZuYXZ5LCAwLjAwMCwgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIDEuMDAwLCA4MCVcblxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcGF0dGVyblxuICAgICAgICAgICAgICAgIC5wYXR0ZXJuLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9wYXR0ZXJucy9wYXR0ZXJuLnZlcnRpY2FsLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHRvcCBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb21tb25cbiAgICAgICAgLnByb2plY3QtbGF5ZXIge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsYWJlbFxuICAgICAgICAucHJvamVjdC1sYWJlbCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC41cmVtLCAwLjA2NWVtICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgaDIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAycmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMi41cmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGV4dFxuICAgICAgICBwIHtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjAyNWVtICk7XG5cbiAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGlua1xuICAgICAgICAucHJvamVjdC1saW5rIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMS43NXJlbSAwIDEuNzVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjg3NXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjg4NSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjQ2NSApO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJsdWUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGxhYm9yYXRvcnkgcHVibGljYXRpb25zIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkY29udGVudCA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjcHVibGljYXRpb25zIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgZmxleC1oLWotdi1zKCBmYWxzZSApO1xuXG4gICAgICAgIHBhZGRpbmc6IDVyZW0gNXJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4xNjUgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gM3JlbSAzcmVtIDNyZW07XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRpdGxlXG4gICAgICAgIGgyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgYXV0bywgNDAwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGV4dFxuICAgICAgICBwIHtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjAyNWVtICk7XG5cbiAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGlua1xuICAgICAgICAucHVibGljYXRpb25zLWxpbmsge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgaGVpZ2h0OiA0ZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMS41cmVtIDAgMS41cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC40NjUgKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvbG9yKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGxhYm9yYXRvcnkgcmVzZWFyY2ggcHJvamVjdHMgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRjb250ZW50IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNzbGlkZXNob3cge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBtaW4taGVpZ2h0OiA2MHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHZoO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4xNjUgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbml0ZSwgMC4wMDAgKTtcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwdmg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRlc3QgcmVidWlsZFxuICAgICAgICAmLmJ1aWxkIHtcblxuICAgICAgICAgICAgLy8gc2xpZGVcbiAgICAgICAgICAgIC51aS1zbGlkZSB7XG5cbiAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0MHZoO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbGFzdCBjaGlsZFxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgICAgICAuaW1hZ2UtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAvLyBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDYwJTtcblxuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDUwdmg7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMzY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY29udGVudFxuICAgICAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG5cbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDB2aDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRuaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNjB2aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gNHJlbSAzcmVtIDRyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDEuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGFyaywgMC4xMjUsIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDgwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9wYXR0ZXJucy9wYXR0ZXJuLmhvcml6b250YWwuc3ZnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAyMDAlIDIwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IDIwMCUgY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTY1O1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcm9hcmFuZ2UsIDAuMDAwLCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2xhc3MgaG9va1xuICAgICAgICAuYmlsbGJvYXJkLWNvbnRyb2wge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIGJvdHRvbTogNXJlbTtcblxuICAgICAgICAgICAgei1pbmRleDogMjAwO1xuXG4gICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBib3R0b206IDUwJTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICYucHJldi1hcnJvdyxcbiAgICAgICAgICAgICYubmV4dC1hcnJvdyB7XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBzdmdcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC40NjU7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHByZXYuYXJyb3dcbiAgICAgICAgICAgICYucHJldi1hcnJvdyB7XG5cbiAgICAgICAgICAgICAgICByaWdodDogOXJlbTtcbiAgICAgICAgICAgICAgICAvLyBsZWZ0OiA1cmVtO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjAxO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMzY1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgM3JlbSwgYmxhY2ssIDAuMzE1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBkaXNhYmxlZFxuICAgICAgICAgICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG5leHQuYXJyb3dcbiAgICAgICAgICAgICYubmV4dC1hcnJvdyB7XG5cbiAgICAgICAgICAgICAgICByaWdodDogNXJlbTtcbiAgICAgICAgICAgICAgICAvLyBsZWZ0OiA5cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuNjI1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjMxNSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAmLnNsaWNrLWRpc2FibGVkIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45MjUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNHJlbTtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRuaXRlLCAwLjU2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgM3JlbSwgYmxhY2ssIDAuMzE1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtM3JlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRuaXRlLCAxLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsYWJlbHNcbiAgICAgICAgICAgIC5idXR0b24tbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNsaWNrIHN0dWZmXG4gICAgICAgIC5zbGljay1saXN0IHtcblxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBzbGlkZSB0cmFja1xuICAgICAgICAuc2xpY2stdHJhY2sge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZhY3Rvcnkgc2xpZGVcbiAgICAgICAgLnNsaWNrLXNsaWRlIHtcblxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAvLyBiYWQgbmVzdFxuICAgICAgICAgICAgPiBkaXYge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNsaWRlXG4gICAgICAgIC51aS1zbGlkZSB7XG5cbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcbiAgICAgICAgICAgICAgICAvLyBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGltYWdlXG4gICAgICAgICAgICAuaW1hZ2UtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgLy8gbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAvLyBtaW4taGVpZ2h0OiA1MHZoO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC4zNjUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb250ZW50XG4gICAgICAgICAgICAuY29udGVudC13cmFwcGVyIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTB2aDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJG5pdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbSAzcmVtIDNyZW0gM3JlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAxLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGRhcmssIDAuMTI1LCA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDgwJVxuXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvcGF0dGVybnMvcGF0dGVybi5ob3Jpem9udGFsLnN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDIwMCUgMjAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAyMDAlIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xNjU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkcm9hcmFuZ2UsIDAuMDAwLCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAxLjAwMCwgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29tbW9uXG4gICAgICAgIC5zbGlkZXNob3ctbGF5ZXIge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aXRsZVxuICAgICAgICBoMiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIGF1dG8sIDQwMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0ZXh0XG4gICAgICAgIHAge1xuXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjVyZW0sIDAuMDI1ZW0gKTtcblxuICAgICAgICAgICAgLy8gbGFzdCBjaGlsZFxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogbGFib3JhdG9yeSBmYXN0IGZhY3RzIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkY29udGVudCA6IDFyZW07XG4gICAgJGZhY3RzIDogYWRqdXN0LWNvbG9yKFxuXG4gICAgICAgICRibHVlLFxuICAgICAgICAkaHVlICAgICAgICAgIDogMCUsXG4gICAgICAgICRzYXR1cmF0aW9uIDogLTEwJSxcbiAgICAgICAgJGxpZ2h0bmVzcyAgOiAzNSUsXG4gICAgICAgICRhbHBoYSAgICAgICAgIDogLTAuMDAwXG5cbiAgICApO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI2xhYm9yYXRvcnktZmFjdHMge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LXMoIGZhbHNlICk7XG5cbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjE2NSApO1xuXG4gICAgICAgIC8vIEBpbmNsdWRlIGZpbGwoICRmYWN0cywgMC4wMDAgKTtcbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4wMDAgKTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2JpbGxib2FyZHMvYmlsbGJvYXJkLjEwLmpwZyk7XG4gICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgLy8gcGFkZGluZzogM3JlbSAzcmVtIDNyZW0gM3JlbTtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBjbGFzcyBob29rXG4gICAgLmZhc3QtZmFjdHMge1xuXG4gICAgICAgIC8vIGNvbnRhaW5lclxuICAgICAgICAmX19pbm5lciB7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTByZW0gNXJlbSAxMHJlbSA1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZmFjdHMsIDAuMjY1ICk7XG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjI4NSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgIDE4MGRlZyxcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDAlLFxuICAgICAgICAgICAgICAgIHdoaXRlLCAwLjE2NSwgMTAwJVxuXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbSAzcmVtIDNyZW0gM3JlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBpdGVtIGhvb2tcbiAgICAgICAgLmZhc3QtZmFjdCB7XG5cbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMzMzJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIDAgMnJlbSAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHZhbHVlXG4gICAgICAgICAgICAmX192YWx1ZSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkdml0ZXNzZSwgMi41cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGJsdWUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcmF0ZVxuICAgICAgICAgICAgJl9fcmF0ZSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgY29sb3IoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAmX19kZXNjIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMzY1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGxhYm9yYXRvcnkgc3RhZmYgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRiYWNrZHJvcCA6IGFkanVzdC1jb2xvcihcblxuICAgICAgICAkYmVpZ2UsXG4gICAgICAgICRodWUgICAgICAgICAgOiAwJSxcbiAgICAgICAgJHNhdHVyYXRpb24gOiAtNSUsXG4gICAgICAgICRsaWdodG5lc3MgIDogNSUsXG4gICAgICAgICRhbHBoYSAgICAgICAgIDogLTAuMDAwXG5cbiAgICApO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3N0YWZmIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgZmxleC1oLWotdi1zKCBmYWxzZSApO1xuXG4gICAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgICAgcGFkZGluZzogNXJlbSA1cmVtIDVyZW0gNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMTY1ICk7XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDNyZW0gM3JlbSAzcmVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBoZWFkaW5nXG4gICAgICAgIGgyIHtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjc1cmVtLCBhdXRvICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNsYXNzIGhvb2tcbiAgICAgICAgLmdyb3VwLWJpb3Mge1xuXG4gICAgICAgICAgICAmX19ncmlkIHtcblxuICAgICAgICBcdFx0QGluY2x1ZGUgYnBvaW50KGRlc2t0b3ApIHtcblxuICAgICAgICAgICAgICAgIFx0ZGlzcGxheTogZmxleDtcbiAgICAgICAgXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgIFx0XHQmLWl0ZW0ge1xuICAgICAgICBcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgICAgIFx0XHRcdEBpbmNsdWRlIGJwb2ludCg0MGVtKSB7XG4gICAgICAgIFx0XHRcdFx0ZGlzcGxheTogLW1zLWdyaWQ7XG4gICAgICAgIFx0XHRcdFx0ZGlzcGxheTogZ3JpZDtcbiAgICAgICAgXHRcdFx0XHRncmlkLWdhcDogMXJlbTtcbiAgICAgICAgXHRcdFx0XHQtbXMtZ3JpZC1yb3dzOiBhdXRvO1xuICAgICAgICBcdFx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgXHRcdFx0XHQtbXMtZ3JpZC1jb2x1bW5zOiBhdXRvIDFlbSAxZnI7XG4gICAgICAgIFx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgXHRcdFx0fVxuXG4gICAgICAgIFx0XHRcdEBpbmNsdWRlIGJwb2ludChkZXNrdG9wKSB7XG4gICAgICAgIFx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMWVtKTtcbiAgICAgICAgXHRcdFx0XHRtYXJnaW4tdG9wOiAyZW07XG5cbiAgICAgICAgXHRcdFx0XHQmOm50aC1jaGlsZCgtbisyKSB7XG4gICAgICAgIFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuICAgICAgICBcdFx0XHRcdH1cbiAgICAgICAgXHRcdFx0fVxuICAgICAgICBcdFx0fVxuICAgICAgICBcdH1cblxuICAgICAgICAgICAgLy8gaXRlbVxuICAgICAgICAgICAgJl9fZ3JpZC1pdGVtIHtcblxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDJyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgICZfX2ltYWdlIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDEuNXJlbSwgM3JlbSwgYmxhY2ssIDAuNDY1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGVtcHRpbmVzc1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRldGFpbHNcbiAgICAgICAgLmdyb3VwLWJpb3NfX2RldGFpbHMge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aXRsZVxuICAgICAgICAuZ3JvdXAtYmlvc19fbmFtZSB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMC41cmVtIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICR2aXRlc3NlLCAxLjEyNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBkZXNjcmlwdGlvblxuICAgICAgICAuZ3JvdXAtYmlvc19fZGVzYyB7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggaW5oZXJpdCwgMC44NzVyZW0sIDQwMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0ZXh0XG4gICAgICAgIHAge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkdml0ZXNzZSwgMC45Mzc1cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjM3NSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBlbWFpbFxuICAgICAgICBhIHtcblxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMzc1ICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQgKTtcblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGxhYm9yYXRvcnkgbmV3cyBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJG5ld3MgOiBhZGp1c3QtY29sb3IoXG5cbiAgICAgICAgJGJlaWdlLFxuICAgICAgICAkaHVlICAgICAgICAgIDogMCUsXG4gICAgICAgICRzYXR1cmF0aW9uIDogMCUsXG4gICAgICAgICRsaWdodG5lc3MgIDogMCUsXG4gICAgICAgICRhbHBoYSAgICAgICAgIDogLTAuMDAwXG5cbiAgICApO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI2xhYm9yYXRvcnktbmV3cyB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHBhZGRpbmc6IDVyZW0gNHJlbSA0cmVtIDRyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4xNjUgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbmV3cywgMC4wMDAgKTtcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gMnJlbSAycmVtIDJyZW07XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxpbmtzXG4gICAgICAgIC50aXRsZS1saW5rIHtcblxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aXRsZVxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDFyZW07XG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAwIDAgMXJlbSAxcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjI1cmVtLCBpbmhlcml0ICk7XG5cbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTM1LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgLmxpbmstbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZGFyaywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAtMS41cmVtLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEuMDAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAubGluay1sYWJlbCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LWIoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbSAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjg3NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjVyZW0sIDAuMDc1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZGFyaywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFydGljbGVzXG4gICAgICAgIC5hcnRpY2xlcyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYXJ0aWNsZVxuICAgICAgICAuYXJ0aWNsZSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtc3QoIHRydWUgKTtcblxuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzMzMlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTZyZW07XG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMXJlbSAxcmVtIDFyZW07XG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAycmVtIDJyZW0gMnJlbSAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCBhdXRvLCA0MDAgKTtcblxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxLjVyZW0sIDNyZW0sIGJsYWNrLCAwLjQ2NSApO1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxLjVyZW0sIDRyZW0sIGJsYWNrLCAwLjI2NSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgLTFyZW0sIDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBoZWFkZXJcbiAgICAgICAgICAgIC5oZWFkZXIge1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2MCU7XG5cbiAgICAgICAgICAgICAgICAvLyBpbWFnZVxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoIDAuMDAwICkgb3BhY2l0eSggMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb250ZW50XG4gICAgICAgICAgICAuY29udGVudCB7XG5cbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW0gMnJlbSAycmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRhdGVcbiAgICAgICAgLmRhdGUge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjg3NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjQ2NSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aXRsZVxuICAgICAgICAudGl0bGUge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjI1cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuNXJlbSwgMC4wMTVlbSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjI1cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0ZXh0XG4gICAgICAgIC5leGNlcnB0IHtcblxuICAgICAgICAgICAgcCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuNzVyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMjY1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGxhYm9yYXRvcnkgY29udGFjdCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGNvbnRlbnQgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI2NvbnRhY3Qge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4xNjUgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbml0ZSwgMC4wMDAgKTtcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2xpZGVcbiAgICAgICAgLnVpLXNsaWRlIHtcblxuICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgbWluLWhlaWdodDogNTB2aDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpbWFnZVxuICAgICAgICAgICAgLmltYWdlLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9iaWxsYm9hcmRzL2JpbGxib2FyZC4zMy5qcGcpO1xuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRkYXJrLCAwLjM2NSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gNXJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbml0ZSwgMC4xMTUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgIDBkZWcsXG4gICAgICAgICAgICAgICAgICAgICRnMTM1LCAwLjE3NSwgMCUsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAxLjAwMCwgMTAwJVxuXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gM3JlbSAzcmVtIDNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRnMTM1LCAwLjE3NSwgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIDEuMDAwLCA4MCVcblxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRpdGxlXG4gICAgICAgIGgyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgYXV0bywgNDAwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGV4dFxuICAgICAgICBwIHtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjAyNWVtICk7XG5cbiAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGlua1xuICAgICAgICAuZW1haWwge1xuXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc29jaWFsIG1lZGlhIGJ1dHRvbnNcbiAgICAgICAgLnNvY2lhbC1tZWRpYS1saW5rcyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgIC5zb2NpYWwtbGluayB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45MjUgKTtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGZhY2Vib29rXG4gICAgICAgICAgICAgICAgJi5mYWNlYm9vayB7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9pY29ucy9zb2NpYWwvZmFjZWJvb2suc3ZnKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZmFjZWJvb2ssIDAuMTE1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaW5zdGFncmFtXG4gICAgICAgICAgICAgICAgJi5pbnN0YWdyYW0ge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2ljb25zL3NvY2lhbC9pbnN0YWdyYW1fbmV3LnN2Zyk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2ljb25zL3NvY2lhbC9pbnN0YWdyYW0uZ3JhZGllbnQucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAycmVtIDJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCguLi9pbWcvaWNvbnMvc29jaWFsL2luc3RhZ3JhbV9uZXcuc3ZnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsKC4uL2ltZy9pY29ucy9zb2NpYWwvaW5zdGFncmFtLmdyYWRpZW50LnBuZylcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDFyZW0gMXJlbSwgMnJlbSAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHR3aXR0ZXJcbiAgICAgICAgICAgICAgICAmLnR3aXR0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvaWNvbnMvc29jaWFsL3R3aXR0ZXIuc3ZnKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkdHdpdHRlciwgMC4wODUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB5b3V0dWJlXG4gICAgICAgICAgICAgICAgJi55b3V0dWJlIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2ljb25zL3NvY2lhbC95b3V0dWJlLnN2Zyk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHlvdXR1YmUsIDAuMDg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbGlua2VkaW5cbiAgICAgICAgICAgICAgICAmLmxpbmtlZGluIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2ljb25zL3NvY2lhbC9saW5rZWRpbi5zdmcpO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRsaW5rZWRpbiwgMC4xMDUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBsYWJlbFxuICAgICAgICAgICAgICAgIC5saW5rLWxhYmVsIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBzcGVjaWFsIHVuaXQgaG9tZXBhZ2Ugc3R5bGVzaGVldCBjb21waWxlclxuXG4gICAgLy8gbGF5b3V0XG4gICAgQGltcG9ydCAnc3BlY2lhbC5sYXlvdXQnO1xuXG4gICAgLy8gYmlsbGJvYXJkXG4gICAgQGltcG9ydCAnc3BlY2lhbC5iaWxsYm9hcmQnO1xuXG4gICAgLy8gZGVzY3JpcHRpb25cbiAgICBAaW1wb3J0ICdzcGVjaWFsLmRlc2NyaXB0aW9uJztcblxuICAgIC8vIGxhdW5jaHBhZHNcbiAgICBAaW1wb3J0ICdzcGVjaWFsLmxhdW5jaHBhZHMnO1xuXG4gICAgLy8gYW5ub3VuY2VtZW50c1xuICAgIEBpbXBvcnQgJ3NwZWNpYWwuYW5ub3VuY2VtZW50cyc7XG5cbiAgICAvLyBldmVudHNcbiAgICBAaW1wb3J0ICdzcGVjaWFsLmV2ZW50cyc7XG5cbiAgICAvLyBuZXdzXG4gICAgQGltcG9ydCAnc3BlY2lhbC5uZXdzJztcblxuICAgIC8vIGdpdmluZ1xuICAgIEBpbXBvcnQgJ3NwZWNpYWwuZ2l2aW5nJztcblxuICAgIC8vIGNvbnRhY3RcbiAgICBAaW1wb3J0ICdzcGVjaWFsLmNvbnRhY3QnO1xuIiwiLy8gc3R5bGVzaGVldCA6OiBnbG9iYWwgc3BlY2lhbCB1bml0IHN0eWxlc3NcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHNwZWNpYWwgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3NpdGUtbGF5b3V0IHtcblxuICAgICAgICAvLyBjbGFzcyBob29rXG4gICAgICAgICYuc3BlY2lhbCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGxhYm9yYXRvcnkgYmlsbGJvYXJkIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkYmlsbGJvYXJkIDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC5zcGVjaWFsLXVuaXQtaG9tZXBhZ2UtYmlsbGJvYXJkIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1zKCBmYWxzZSApO1xuXG4gICAgICAgIGhlaWdodDogNzV2aDtcbiAgICAgICAgbWluLWhlaWdodDogNzV2aDtcbiAgICAgICAgcGFkZGluZzogNXJlbSAwIDAgMDtcblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggeGxhcmdlIHVwICkge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDYwdmg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2MHZoO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIG1lZGl1bSBkb3duICkge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAwIDAgMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYmlsbGJvYXJkIGNvbnRlbnRcbiAgICAgICAgLmJpbGxib2FyZC1jb250ZW50IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBtZWRpdW0gZG93biApIHtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogNzV2aDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhbm5vdW5jZW1lbnRcbiAgICAgICAgICAgICYuYW5ub3VuY2VtZW50IHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA3MHZ3O1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIG1lZGl1bSBkb3duICkge1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBleHBpcmVkXG4gICAgICAgICAgICAmLmV4cGlyZWQge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGN1c3RvbVxuICAgICAgICAgICAgJi5jdXN0b20ge1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyggNTB2aCAtIDRyZW0gKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXJlbSAwIDAgMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBncmFkaWVudCggMTgwZGVnLCB0cmFuc3BhcmVudCwgMS4wMDAsIDAlLCAkbml0ZSwgMC4wMDAsIDEwMCUgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkd2hpdGUsIDAuMTA1ICk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRkYXJrLCAwLjQ2NSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gZ3JhZGllbnRcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAxODBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGRhcmssIDAuMzY1LCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4MGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZGFyaywgMC4zNjUgKSAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIyNWRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGcxMzUsIDAuMzY1ICkgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDMwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoICRuaXRlLCAwLjAwMCApIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGhlYWRlclxuICAgICAgICAgICAgICAgICNob21lcGFnZS10aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cmVtIDVyZW0gNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgM3JlbSAzcmVtIDNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDFyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCA0LjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMi41cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY2FtcGFpZ24sIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAzcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgICAgIC50ZXh0IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMjVyZW0sIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjEyNXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGluZSBicmVha1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoaWRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGRlZmF1bHRcbiAgICAgICAgICAgICYuZGVmYXVsdCB7XG5cbiAgICAgICAgICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZ3JhZGllbnQoIDE4MGRlZywgdHJhbnNwYXJlbnQsIDEuMDAwLCAwJSwgJG5pdGUsIDAuMDAwLCAxMDAlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHdoaXRlLCAwLjEwNSApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC43NjUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGdyYWRpZW50XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRkYXJrLCAwLjAwMCwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDgwJVxuXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBoZWFkZXJcbiAgICAgICAgICAgICAgICAjaG9tZXBhZ2UtdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMnJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMi41cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtIGRvd24gKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW0gMnJlbSAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAxcmVtIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMy41cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDIuNXJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCByZWQsIDAuNjc1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICAgICAgLnRleHQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjI1cmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgIC8vIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZ3JhZGllbnQoIDE4MGRlZywgdHJhbnNwYXJlbnQsIDEuMDAwLCAwJSwgJG5pdGUsIDAuMDAwLCAxMDAlICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkd2hpdGUsIDAuMTA1ICk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuNDY1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZ3JhZGllbnRcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgLy8gY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KCAyMDBkZWcsIHRyYW5zcGFyZW50LCAxLjAwMCwgMjAlLCAkY3ZuYXZ5LCAwLjEwNSwgMTAwJSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBzcGVjaWFsIHVuaXQgZGVzY3JpcHRpb24gYmxvY2sgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRzcGVjaWFsIDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC5zcGVjaWFsLWRlc2NyaXB0aW9uIHtcblxuICAgICAgICBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMTQ1ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBtZWRpdW0gZG93biApIHtcblxuICAgICAgICAgICAgcGFkZGluZzogM3JlbSAzcmVtIDNyZW0gM3JlbTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgLmRlc2NyaXB0aW9uLXRpdGxlIHtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAycmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGV4dFxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjA1NWVtICk7XG5cbiAgICAgICAgICAgIC8vIHByc2VcbiAgICAgICAgICAgICYucHJzZSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtIGRvd24gKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdW5pdFxuICAgICAgICAgICAgICAgIC51bml0X2Rlc2NyaXB0aW9uIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDNyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtIGRvd24gKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBwcnNlXG4gICAgICAgICAgICAgICAgLnByc2VfZGVzY3JpcHRpb24ge1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggd2hpdGUgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzLjVyZW0sIGJsYWNrLCAwLjY3NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtIGRvd24gKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDNyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBjb2xvciggJGN2bmF2eSwgMC4xMjUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYmVpZ2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgICAgICAgICAudGV4dCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxNDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4yMTUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC43MjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJGFsbDIyMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcGFyYWdyYXBoXG4gICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBib2xkXG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogc3BlY2lhbCB1bml0IGxhdW5jaHBhZCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHNwZWNpYWwgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgLmhvbWVwYWdlLXNlY3Rpb24ge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAvLyBwYXR0ZXJuXG4gICAgICAgIC5wYXR0ZXJuLW92ZXJsYXkge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgIC8vIGltYWdlOiB1cmwoLi4vaW1nL3BhdHRlcm5zL3BhdHRlcm4uaG9yaXpvbnRhbC5wbmcpO1xuICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0b3AgbGVmdDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBvcGFjaXR5OiAwLjM4NTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2xhc3MgaG9va1xuICAgICAgICAubGF1bmNocGFkcyB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gNHJlbSA0cmVtIDRyZW07XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZpbGwoICRkYXJrLCAwLjAwMCApO1xuICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjE2NSApO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJlaWdlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgIDE4MGRlZyxcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDAlLFxuICAgICAgICAgICAgICAgIC8vICRyb2FyYW5nZSwgMC4xMDUsIDEwMCVcbiAgICAgICAgICAgICAgICAvLyAkYmVpZ2UsIDAuMTA1LCAxMDAlXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIDEuMDAwLCAxMDAlXG5cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsYXlvdXQgdHdvXG4gICAgICAgICAgICAmLnR3byB7XG5cbiAgICAgICAgICAgICAgICAvLyBsYXVuY2hwYWRcbiAgICAgICAgICAgICAgICAubGF1bmNocGFkIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggNTAlIC0gMnJlbSApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxheW91dCB0aHJlZVxuICAgICAgICAgICAgJi50aHJlZSB7XG5cbiAgICAgICAgICAgICAgICAvLyBsYXVuY2hwYWRcbiAgICAgICAgICAgICAgICAubGF1bmNocGFkIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMzMuMzMzMzMzMyUgLSAycmVtICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGF5b3V0IGZvdXJcbiAgICAgICAgICAgICYuZm91ciB7XG5cbiAgICAgICAgICAgICAgICAvLyBsYXVuY2hwYWRcbiAgICAgICAgICAgICAgICAubGF1bmNocGFkIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMjUlIC0gMnJlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtIGRvd24gKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCA1MCUgLSAycmVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxheW91dCBtdWx0aXBsZXNcbiAgICAgICAgICAgICYubXVsdGlwbGVzIHtcblxuICAgICAgICAgICAgICAgIC8vIGxhdW5jaHBhZFxuICAgICAgICAgICAgICAgIC5sYXVuY2hwYWQge1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAzMy4zMzMzMzMzJSAtIDJyZW0gKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsYXVuY2hwYWRcbiAgICAgICAgICAgIC5sYXVuY2hwYWQge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LWIoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogMTRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDFyZW0gMXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XG5cbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS4xMjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwLCByaWdodCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjEyNSApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC40NjUgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAycmVtICkgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnb2xkLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMTgwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAxLjAwMCwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gJGN2bmF2eSwgMC4wMDAsIDEwMCVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGFyaywgMC4wMDAsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSggMS4zNzUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxOTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC4zNjUgKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4zNjUgKTtcblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU0NTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDE4MGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAxLjAwMCwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAkY3ZuYXZ5LCAwLjEwNSwgMTAwJVxuICAgICAgICAgICAgICAgICAgICAgICAgJGRhcmssIDAuMTA1LCAxMDAlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBkYXJrZW4oICRyb2FyYW5nZSwgNSUgKSwgMC4wMDAsIDEwMCVcblxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gc3RpY2t5XG4gICAgICAgICAgICAgICAgJi5zdGlja3kge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2ZWxsb3cgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTgwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3ZuYXZ5LCAwLjAwMCwgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxODBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsIDEuMDAwLCAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3ZuYXZ5LCAwLjEwNSwgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGluZGljYXRvclxuICAgICAgICAgICAgICAgIC5pbmRpY2F0b3Ige1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMXJlbSwgd2hpdGUsICdcXEVBNTknICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoIDEuMTI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0aXRsZT1cbiAgICAgICAgICAgICAgICAudGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogc3BlY2lhbCB1bml0IGFubm91bmNlbWVudHMgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRzcGVjaWFsIDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC5hbm5vdW5jZW1lbnRzIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgd2lkdGg6IDMwdnc7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogM3JlbSAzcmVtIDNyZW0gM3JlbTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjEyNSApO1xuXG4gICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgMy41cmVtLCBibGFjaywgMC40NjUgKTtcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIG1lZGl1bSBkb3duICkge1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbW1vblxuICAgICAgICAuYW5ub3VuY2VtZW50LWNvbnRlbnQge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGFiZWxcbiAgICAgICAgLmxhYmVsIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjVyZW0gMCAwLjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42MjVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkcm9hcmFuZ2UsIDAuMTY1ICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRpdGxlXG4gICAgICAgIC50aXRsZSB7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0ZXh0XG4gICAgICAgIC50ZXh0IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4xMjVyZW0sIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjE4NSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaW5rXG4gICAgICAgIC5saW5rIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMC43NXJlbSAwIDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAxLjVyZW0gMCAxLjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgMi43NXJlbSwgYmxhY2ssIDAuNTY1ICk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkcm9hcmFuZ2UsIDAuMTg1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHNwZWNpYWwgdW5pdCBldmVudHMgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRzcGVjaWFsIDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC5ldmVudHMge1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtcyggZmFsc2UgKVxuXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aXRsZVxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1lLXYtdCggdHJ1ZSApO1xuXG4gICAgICAgICAgICB3aWR0aDogMjV2dztcbiAgICAgICAgICAgIC8vIGhlaWdodDogOHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCwgcmlnaHQgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LXQoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDNyZW0gM3JlbSAzcmVtO1xuXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDFyZW0sIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaXN0XG4gICAgICAgIC5ldmVudHMtbGlzdCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtcyggdHJ1ZSApO1xuXG4gICAgICAgICAgICB3aWR0aDogNzV2dztcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgLmV2ZW50LWxpbmsge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1zKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzJTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogOHJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC43NXJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDNyZW0gM3JlbSAzcmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSggMSApLFxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoIDIgKSxcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKCAzICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyAxXG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSggMSApIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjkyNSApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCBibGFjaywgMC45MjUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIDJcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKCAyICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuODI1ICk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIGJsYWNrLCAwLjgyNSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gM1xuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoIDMgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC43MjUgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggYmxhY2ssIDAuNzI1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAgICAgLmV2ZW50LXRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgLmV2ZW50LXRleHQge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4yNXJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBzcGVjaWFsIHVuaXQgbmV3cyBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHNwZWNpYWwgOiAxcmVtO1xuXG4gICAgJG5ld3NfYmFzZSA6IGFkanVzdC1jb2xvcihcblxuICAgICAgICAkYmVpZ2UsXG4gICAgICAgICRodWUgICAgICAgICAgOiAtMTUlLFxuICAgICAgICAkc2F0dXJhdGlvbiA6IC0xNSUsXG4gICAgICAgICRsaWdodG5lc3MgIDogLTUlLFxuICAgICAgICAkYWxwaGEgICAgICAgICA6IC0wLjAwMFxuXG4gICAgKTtcblxuICAgIC8vIHN0eWxlc1xuICAgIC5uZXdzIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgcGFkZGluZzogMnJlbSAxcmVtIDByZW0gMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbmV3c19iYXNlLCAwLjAwMCApO1xuICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCBkYXJrZW4oICRiZWlnZSwgMi41JSApLCAwLjAwMCApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwb2ludCggdGFibGV0ICkge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDRyZW0gNXJlbSA0cmVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmID4gYSB7XG5cbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcGF0dGVyblxuICAgICAgICAucGF0dGVybi1vdmVybGF5IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAvLyBpbWFnZTogdXJsKC4uL2ltZy9wYXR0ZXJucy9wYXR0ZXJuLmhvcml6b250YWwucG5nKTtcbiAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogdG9wIGxlZnQ7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gb3BhY2l0eTogMC4zODU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRpdGxlXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMXJlbSAxcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAycmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4yNXJlbSwgMC4xMzVlbSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGRhcmssIDAuMTI1ICk7XG5cbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAsIGxlZnQgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCBsaWdodGVuKCAkZzE0MCwgNy41JSApLCAwLjAwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAudGl0bGUtbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRkYXJrLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIC0xLjVyZW0sIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgIC50aXRsZS1saW5rIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1lLXYtYiggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42ODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNXJlbSwgMC4wNzVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRkYXJrLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvZGljb24oIDFyZW0sIDIuMjVyZW0sIDEuMjVyZW0gMCAwIDAsIDFyZW0sICRkYXJrLCAnXFxFREM4JyApO1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggLTJyZW0sIDAsIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBzb3VyY2UgZmVlZFxuICAgICAgICAuc291cmNlLWZlZWQge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnBvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFydGljbGVcbiAgICAgICAgICAgIC5hcnRpY2xlIHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjE4NSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxLjVyZW0sIDRyZW0sIGJsYWNrLCAwLjYxNSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI0MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbSAycmVtIDFyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgLSAycmVtICAtIC4xcHgpOyAvLyByZW1vdmUgLjFweCB0byBmaXggSUUgbm90IGNhbGN1bGF0aW5nIHBlcmNlbnRhZ2VzIHRoZSBzYW1lIGFzIHJlYWwgYnJvd3NlcnNcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW0gMCAxcmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgLTFyZW0sIDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBoZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JheXNjYWxlKCAwLjAwMCApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkoIDEuMDAwIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgICAgICAgICAgLmhlYWRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlcjtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNjAlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGltYWdlXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKCAwLjAwMCApIG9wYWNpdHkoIDEuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAuY29udGVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAycmVtIDJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjVyZW0sIDAuMDI1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRnMTQwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgICAgIHAge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMjVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRvaWw7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBzcGVjaWFsIHVuaXQgZ2l2aW5nIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkc3BlY2lhbCA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAuZ2l2aW5nIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMDAwICk7XG5cbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC8vIGRlc2lnblxuICAgICAgICAuZGVzaWduLWxheWVyIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAubGF5ZXIge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGltYWdlXG4gICAgICAgICAgICAuaW1hZ2Uge1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb2xvclxuICAgICAgICAgICAgLmNvbG9yIHtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuNzY1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudFxuICAgICAgICAuY29udGVudC1sYXllciB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250ZW50XG4gICAgICAgIC5jb250ZW50LWxheWVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHJlbSAxMHJlbSAxMHJlbSAxMHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuNDY1ICk7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZzE0MCwgMC4wMDAgKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDgwJVxuXG4gICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHJlbSAzcmVtIDRyZW0gM3JlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBoZWFkbGluZVxuICAgICAgICAgICAgLmhlYWRsaW5lIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAzcmVtLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgLnRleHQge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBub25lICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBidXR0b25cbiAgICAgICAgICAgIC5jb250ZW50LWJ1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjYW1wYWlnbjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICR2aXRlc3NlLCAxLjM3NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNzVyZW0sIDAuMDY1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk4NSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCA0cmVtLCBibGFjaywgMC4zODUgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuNXJlbSwgMC4wNjVlbSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlci1jb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgY29sb3IoICRjYW1wYWlnbiwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC40NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHNwZWNpYWwgdW5pdCBjb250YWN0IHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkc3BlY2lhbCA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAuY29udGFjdC1pbmZvcm1hdGlvbiB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4xNjUgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbml0ZSwgMC4wMDAgKTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2JpbGxib2FyZHMvYmlsbGJvYXJkLjMzLmpwZyk7XG4gICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFmdGVyXG4gICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbml0ZSwgMC41NjUgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAvL1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250ZW50XG4gICAgICAgIC5jb250ZW50LXdyYXBwZXIge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgICAgICAgcGFkZGluZzogNXJlbSA1cmVtIDVyZW0gNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJG5pdGUsIDAuMTE1ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAkZzEzNSwgMC4xNzUsIDAlLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LCAxLjAwMCwgMTAwJVxuXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbSAzcmVtIDNyZW0gM3JlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRuaXRlLCAwLjMxNSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxhYmVsc1xuICAgICAgICAuZW1haWxfbGFiZWwsXG4gICAgICAgIC5waG9uZV9sYWJlbCB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHBob25lXG4gICAgICAgIC5waG9uZSB7XG5cbiAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgIHAge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxpbmtcbiAgICAgICAgLmVtYWlsX2xpbmsge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRpdGxlXG4gICAgICAgIGgyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgYXV0bywgNDAwICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGV4dFxuICAgICAgICBwIHtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS41cmVtLCAwLjAyNWVtICk7XG5cbiAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc29jaWFsIG1lZGlhIGJ1dHRvbnNcbiAgICAgICAgLnNvY2lhbC1tZWRpYS1saW5rcyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgIC5zb2NpYWwtbGluayB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45MjUgKTtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGZhY2Vib29rXG4gICAgICAgICAgICAgICAgJi5mYWNlYm9vayB7XG5cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9pY29ucy9zb2NpYWwvZmFjZWJvb2suc3ZnKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZmFjZWJvb2ssIDAuMTE1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaW5zdGFncmFtXG4gICAgICAgICAgICAgICAgJi5pbnN0YWdyYW0ge1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2ljb25zL3NvY2lhbC9pbnN0YWdyYW1fbmV3LnN2Zyk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2ljb25zL3NvY2lhbC9pbnN0YWdyYW0uZ3JhZGllbnQucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAycmVtIDJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCguLi9pbWcvaWNvbnMvc29jaWFsL2luc3RhZ3JhbV9uZXcuc3ZnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsKC4uL2ltZy9pY29ucy9zb2NpYWwvaW5zdGFncmFtLmdyYWRpZW50LnBuZylcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDFyZW0gMXJlbSwgMnJlbSAycmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHR3aXR0ZXJcbiAgICAgICAgICAgICAgICAmLnR3aXR0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvaWNvbnMvc29jaWFsL3R3aXR0ZXIuc3ZnKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkdHdpdHRlciwgMC4wODUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB5b3V0dWJlXG4gICAgICAgICAgICAgICAgJi55b3V0dWJlIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2ljb25zL3NvY2lhbC95b3V0dWJlLnN2Zyk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHlvdXR1YmUsIDAuMDg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbGlua2VkaW5cbiAgICAgICAgICAgICAgICAmLmxpbmtlZGluIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2ljb25zL3NvY2lhbC9saW5rZWRpbi5zdmcpO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRsaW5rZWRpbiwgMC4xMDUgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBsYWJlbFxuICAgICAgICAgICAgICAgIC5saW5rLWxhYmVsIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gcmVidWlsZFxuICAgIC5jb250YWN0LWluZm9ybWF0aW9uIHtcblxuICAgICAgICAvLyBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRkYXJrLCAwLjI2NSApO1xuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBob21lcGFnZSBlbGVtZW50IHN0eWxlc2hlZXQgY29tcGlsZXJcblxuICAgIC8vIGJpbGxib2FyZFxuICAgIEBpbXBvcnQgJ2hvbWVwYWdlLmJpbGxib2FyZCc7XG5cbiAgICAvLyBhbGVydFxuICAgIEBpbXBvcnQgJ2hvbWVwYWdlLmFsZXJ0JztcbiIsIi8vIHN0eWxlc2hlZXQgOjogZGVwYXJ0bWVudCBiaWxsYm9hcmQgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRiaWxsYm9hcmQgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI2RlcGFydG1lbnRfYmlsbGJvYXJkIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1zKCBmYWxzZSApO1xuXG4gICAgICAgIGhlaWdodDogNzV2aDtcbiAgICAgICAgbWluLWhlaWdodDogNzV2aDtcbiAgICAgICAgcGFkZGluZzogNXJlbSAwIDAgMDtcblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSApO1xuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggeGxhcmdlIHVwICkge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDYwdmg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2MHZoO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIG1lZGl1bSBkb3duICkge1xuXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAwIDAgMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYWxlcnQgY2xhc3NcbiAgICAgICAgJi5oYXNfYWxlcnQge1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogODB2aDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBkZWJ1Z1xuICAgICAgICBwcmUge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBoaWRlO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAgICAgcGFkZGluZzogMCA1cmVtIDAgNXJlbTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudFxuICAgICAgICAuYmlsbGJvYXJkX2NvbnRlbnQge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAvLyBhdHRhY2htZW50OiBmaXhlZDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBtZWRpdW0gZG93biApIHtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogNzV2aDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhbm5vdW5jZW1lbnRcbiAgICAgICAgICAgICYuaGFzX2Fubm91bmNlbWVudCB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogNzB2dztcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBtZWRpdW0gZG93biApIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gZXhwaXJlZFxuICAgICAgICAgICAgJi5leHBpcmVkIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBmeFxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudCggMGRlZywgJGN2bmF2eSwgMC4wMDAsIDAlLCAkY3ZuYXZ5LCAwLjkwNSwgMTAwJSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQoIC0xNWRlZywgJGcxNDAsIDAuMDAwLCAwJSwgdHJhbnNwYXJlbnQsIDEuMDAwLCA1MCUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aXRsZVxuICAgICAgICAjaG9tZXBhZ2VfdGl0bGUge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDIwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zKCBmYWxzZSApXG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gNXJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggcmVkLCAwLjY4NSApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzdGFuZGFsb25lXG4gICAgICAgICAgICAmLnN0YW5kYWxvbmUge1xuXG4gICAgICAgICAgICAgICAgLy9cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB3LyBkZXNjcmlwdGlvblxuICAgICAgICAgICAgJi5oYXNfZGVzY3JpcHRpb24ge1xuXG4gICAgICAgICAgICAgICAgLy9cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgIHNwYW4ge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgIC5zaXRlX3RpdGxlIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMi41cmVtLCAwLjA4NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAsIGxlZnQgKTtcblxuICAgICAgICAgICAgICAgIC8vIHN0YW5kYWxvbmVcbiAgICAgICAgICAgICAgICAmLnN0YW5kYWxvbmUge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHcvIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgJi5oYXNfZGVzY3JpcHRpb24ge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgIC5zaXRlX2Rlc2NyaXB0aW9uIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4yNXJlbSwgMC4wNjVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjIzNSApO1xuXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggcmVkLCAwLjY4NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjEyNXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFubm91bmNtZW50IGJsb2NrXG4gICAgICAgICNiaWxsYm9hcmRfYW5ub3VuY2VtZW50IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgd2lkdGg6IDMwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDNyZW0gM3JlbSAzcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjEyNSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDMuNXJlbSwgYmxhY2ssIDAuNDY1ICk7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIG1lZGl1bSBkb3duICkge1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgLmFubm91bmNlbWVudC1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxhYmVsXG4gICAgICAgICAgICAubGFiZWwge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjVyZW0gMCAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjI1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjE2NSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAudGl0bGUge1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAudGV4dCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4xMjVyZW0sIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4xODUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAubGluayB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuNzVyZW0gMCAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjc1cmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgMi43NXJlbSwgYmxhY2ssIDAuNTY1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjE4NSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBob21lcGFnZSBhbGVydCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGFsZXJ0IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNob21lcGFnZV9hbGVydCB7XG5cbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgei1pbmRleDogMjAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYyggZmFsc2UgKTtcblxuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgcGFkZGluZzogMCA2cmVtIDAgMS41cmVtO1xuXG4gICAgICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUgKTtcblxuICAgICAgICBAaW5jbHVkZSBmaWxsKCAkbWlkbml0ZSwgMC4xNjUgKTtcblxuICAgICAgICBvcGFjaXR5OiAwLjAwMDtcblxuICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDMuNXJlbSwgYmxhY2ssIDAuNTg1ICk7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgLTVyZW0sIDAgKTtcblxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDgwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gNXJlbSAxcmVtIDFyZW07XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIC00cmVtLCAwICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFjdGl2YXRlZFxuICAgICAgICAmLmFjdGl2YXRlZCB7XG5cbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDEuMDAwO1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0ODBtcyAkb3V0ZXggMTIwMG1zO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbmZvXG4gICAgICAgICYuaW5mbyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRibHVlLCAwLjAwMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBhbGVydFxuICAgICAgICAmLmFsZXJ0IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjAwMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB3YXJuaW5nXG4gICAgICAgICYud2FybmluZyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBnb29kXG4gICAgICAgICYuZ29vZCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRweC1ncmVlbiwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udHJhc3RcbiAgICAgICAgLnVpX2NvbnRyYXN0IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyay1uaXRlLCAwLjc2NSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICRkYXJrLW5pdGUsIDAuNzg1LCAwJSxcbiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCwgMS4wMDAsIDEwMCVcblxuICAgICAgICAgICAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudFxuICAgICAgICAuYWxlcnRfdGV4dCB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBkaXNtaXNzXG4gICAgICAgICNkaXNtaXNzX2FsZXJ0IHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRkYXJrLW5pdGUsIDAuODY1ICk7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRhbGwyMjA7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAxLjVyZW0gMS41cmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBkaXNtaXNzIGJ1dHRvblxuICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2RpY29uKCAxcmVtLCAxcmVtLCAwLCAxcmVtLCB3aGl0ZSwgJ1xcRUQ2RCcgKTtcblxuICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsYWJlbFxuICAgICAgICAgICAgc3BhbiB7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG5cbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbW1vblxuICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAmLmFsZXJ0X3RpdGxlLFxuICAgICAgICAgICAgJi5hbGVydF9tZXNzYWdlIHtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgICYuYWxlcnRfdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMCAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNjI1cmVtLCAwLjAyNWVtICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggbWVkaXVtIGRvd24gKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwIDAgMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjYyNXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMXJlbSwgdHJhbnNwYXJlbnRpemUoIHdoaXRlLCAwLjM2NSApLCAnXFxFRDYzJyApO1xuXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBtZWRpdW0gZG93biApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgJi5hbGVydF9tZXNzYWdlIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjI1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjVyZW0sIDAuMDE1ZW0gKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaW5rXG4gICAgICAgIC5hbGVydF9saW5rIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlICk7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjI1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogc3BlY2lhbCB1bml0IGhvbWVwYWdlIHN0eWxlcyBjb21waWxlclxuXG4gICAgLy8gbGF5b3V0XG4gICAgQGltcG9ydCAncGFuZWxzL3BhbmVscyc7XG5cbiAgICAvLyBsYXlvdXRcbiAgICBAaW1wb3J0ICdkdm0ubGF5b3V0JztcbiIsIi8vIHN0eWxlc2hlZXQgOjogaG9tZXBhZ2UgcGFuZWxzIHN0eWxlc2hlZXQgY29tcGlsZXJcblxuICAgIC8vIGdsb2JhbHNcbiAgICBAaW1wb3J0ICdwYW5lbC5nbG9iYWxzJztcblxuICAgIC8vIG92ZXJ2aWV3XG4gICAgQGltcG9ydCAncGFuZWwub3ZlcnZpZXcnO1xuXG4gICAgLy8gdmlkZW9cbiAgICBAaW1wb3J0ICdwYW5lbC52aWRlbyc7XG5cbiAgICAvLyBoaWdobGlnaHRzXG4gICAgQGltcG9ydCAncGFuZWwuaGlnaGxpZ2h0cyc7XG5cbiAgICAvLyBjdXJyaWN1bHVtXG4gICAgQGltcG9ydCAncGFuZWwuY3VycmljdWx1bSc7XG5cbiAgICAvLyBkZWdyZWVzXG4gICAgQGltcG9ydCAncGFuZWwuZGVncmVlcyc7XG5cbiAgICAvLyBzdXBwb3J0XG4gICAgQGltcG9ydCAncGFuZWwuc3VwcG9ydCc7XG5cbiAgICAvLyBvcHBvcnR1bml0aWVzXG4gICAgQGltcG9ydCAncGFuZWwub3Bwb3J0dW5pdGllcyc7XG5cbiAgICAvLyBxdWVzdGlvbnNcbiAgICBAaW1wb3J0ICdwYW5lbC5xdWVzdGlvbnMnO1xuXG4gICAgLy8gaGlnaHNjaG9vbFxuICAgIEBpbXBvcnQgJ3BhbmVsLmhpZ2hzY2hvb2wnO1xuXG4gICAgLy8gYXBwbGljYXRpb25cbiAgICBAaW1wb3J0ICdwYW5lbC5hcHBsaWNhdGlvbic7XG5cbiAgICAvLyBhZG1pc3Npb25zXG4gICAgQGltcG9ydCAncGFuZWwuYWRtaXNzaW9ucyc7XG5cbiAgICAvLyBjb250YWN0XG4gICAgQGltcG9ydCAncGFuZWwuY29udGFjdCc7XG5cbiAgICAvLyB2aXNpdFxuICAgIEBpbXBvcnQgJ3BhbmVsLnZpc2l0JztcblxuICAgIC8vIHNuYXBzaG90XG4gICAgQGltcG9ydCAncGFuZWwuc25hcHNob3QnO1xuIiwiLy8gc3R5bGVzaGVldCA6OiBwYW5lbCBnbG9iYWxzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRwYW5lbCA6IDFyZW07XG5cbiAgICAvLyBvdmVybGF5XG4gICAgLnBhbmVsLW92ZXJsYXkge1xuXG4gICAgICAgIEBpbmNsdWRlIGZ1bGxzY3JlZW4oIGFic29sdXRlLCAxMCwgZmFsc2UsIGhpZGRlbiApO1xuXG4gICAgfVxuXG4gICAgLy8gY29udGVudFxuICAgIC5wYW5lbC1jb250ZW50IHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1jKCBmYWxzZSApO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgaDIge1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYnJcbiAgICAgICAgYnIge1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogb3ZlcnZpZXcgcGFuZWwgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRvdmVydmlldyA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjcGFuZWwtb3ZlcnZpZXcge1xuXG4gICAgICAgIHotaW5kZXg6IDkwO1xuXG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2JpbGxib2FyZHMvZHZtL2R2bS5iaWxsYm9hcmQuMDIuanBnKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAvL1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgIC5wYW5lbC1vdmVybGF5IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4yMTUgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudFxuICAgICAgICAucGFuZWwtY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogNXJlbSAwIDAgMDtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDAgMCAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgIC50ZXh0IHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHZ3O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGhlYWRpbmdcbiAgICAgICAgICAgICAgICBoMyB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMS43NXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMnJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjI1cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGFzdCBjaGlsZFxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjYWxsb3V0c1xuICAgICAgICAgICAgLmNhbGxvdXRzIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYiggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA3MHZ3O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXJlbSA1cmVtIDA7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYmxvY2tzXG4gICAgICAgICAgICAgICAgLmNhbGxvdXQtYmxvY2sge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMlO1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMnJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAsIGNlbnRlciApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCAzcmVtLCBibGFjaywgMC4zMTUgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAycmVtIDJyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbSAycmVtIDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYnIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyByYW5raW5nXG4gICAgICAgICAgICAgICAgI3Jhbmtpbmcge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG51bWJlclxuICAgICAgICAgICAgICAgICAgICAubnVtYmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJHZpdGVzc2UsIDVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCA1cmVtLCAwLjAwMGVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gc3RhdC1sYWJlbFxuICAgICAgICAgICAgICAgICAgICAuc3RhdC1sYWJlbCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICR2aXRlc3NlLCAwLjc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDFyZW0sIDAuMDE1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzb3VyY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICYuc291cmNlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDAuNzVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gc3BlY2lhbHRpZXNcbiAgICAgICAgICAgICAgICAjc3BlY2lhbHRpZXMge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG51bWJlclxuICAgICAgICAgICAgICAgICAgICAubnVtYmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgNXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDVyZW0sIDAuMDAwZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBzdGF0LWxhYmVsXG4gICAgICAgICAgICAgICAgICAgIC5zdGF0LWxhYmVsIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJHZpdGVzc2UsIDAuNzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMXJlbSwgMC4wMTVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2ZWxsb3csIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvdXJjZVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5zb3VyY2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB2aXNpdHNcbiAgICAgICAgICAgICAgICAjdmlzaXRzIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBudW1iZXJcbiAgICAgICAgICAgICAgICAgICAgLm51bWJlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICR2aXRlc3NlLCAzcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggM3JlbSwgMC4wMDBlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHN0YXQtbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgLnN0YXQtbGFiZWwge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkdml0ZXNzZSwgMC43NXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxcmVtLCAwLjAxNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAmLnNvdXJjZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogdmlkZW8gcGFuZWwgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICR2aWRlbyA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjcGFuZWwtdmlkZW8ge1xuXG4gICAgICAgIHotaW5kZXg6IDkwO1xuXG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMTIuNXZoIDAgMTIuNXZoIDA7XG5cbiAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9iaWxsYm9hcmRzL2R2bS9kdm0uYmlsbGJvYXJkLjAxLmpwZyk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgLnBhbmVsLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAycmVtIDAgMnJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aXRsZVxuICAgICAgICBoMiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRhaW5lclxuICAgICAgICAudmlkZW8tY29udGFpbmVyIHtcblxuICAgICAgICAgICAgd2lkdGg6IDYwdnc7XG4gICAgICAgICAgICBtYXJnaW46IDJyZW0gMCAycmVtIDA7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB2aWRlb1xuICAgICAgICAucHJvZ3JhbS12aWRlbyB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgcGFkZGluZzogNTYuMjUlIDAgMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDRyZW0sIGJsYWNrLCAwLjI4NSApO1xuXG4gICAgICAgICAgICAvLyBpZnJhbWVcbiAgICAgICAgICAgIGlmcmFtZSB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0ZXh0XG4gICAgICAgIHAge1xuXG4gICAgICAgICAgICB3aWR0aDogNjB2dztcblxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAxcmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggbm9uZSwgY2VudGVyICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMTY1ICk7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBoaWdobGlnaHRzIHBhbmVsIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkaGlnaGxpZ2h0cyA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjcGFuZWwtaGlnaGxpZ2h0cyB7XG5cbiAgICAgICAgei1pbmRleDogODA7XG5cbiAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9iaWxsYm9hcmRzL2JpbGxib2FyZC4wMC5qcGcpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgIC5wYW5lbC1vdmVybGF5IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMjE1ICk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBoaWdobGlnaHRzIHBhbmVsIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkaGlnaGxpZ2h0cyA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjcGFuZWwtY3VycmljdWx1bSB7XG5cbiAgICAgICAgei1pbmRleDogODA7XG5cbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvYmlsbGJvYXJkcy9kdm0vZHZtLmJpbGxib2FyZC4wMy5qcGcpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgIC5wYW5lbC1vdmVybGF5IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJlaWdlLCAwLjQ2NSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250ZW50XG4gICAgICAgIC5wYW5lbC1jb250ZW50IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiA4cmVtIDEwcmVtIDhyZW0gMTByZW07XG5cbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHJlbSAyLjVyZW0gOHJlbSAyLjVyZW07XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaGVhZGluZ1xuICAgICAgICAgICAgaDIge1xuXG4gICAgICAgICAgICAgICAgLy9cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHZ3O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgLmRvY3VtZW50LWxpbmsge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMS41cmVtIDAgMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQgJGcxNDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC44NzVyZW0sIDAuMDY1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgNHJlbSwgYmxhY2ssIDAuMzg1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkcm9hcmFuZ2U7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBkZWdyZWVzIHBhbmVsIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkZGVncmVlcyA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjcGFuZWwtZGVncmVlcyB7XG5cbiAgICAgICAgei1pbmRleDogODA7XG5cbiAgICAgICAgLy8gaGVpZ2h0OiA2MHZoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcmVtIDUwdncgMTByZW0gNXJlbTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2JpbGxib2FyZHMvZHZtL2R2bS5iaWxsYm9hcmQuMDEuanBnKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiA0cmVtIDNyZW0gNHJlbSAzcmVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgIC5wYW5lbC1vdmVybGF5IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJG5pdGUsIDAuMzI1ICk7XG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCAkYmVpZ2UsIDAuMzg1ICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgLnBhbmVsLWNvbnRlbnQge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUsIGxlZnQgKTtcblxuICAgICAgICAgICAgLy8gaGVhZGluZ1xuICAgICAgICAgICAgaDIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgLmRvY3VtZW50LWxpbmsge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMS41cmVtIDAgMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuODc1cmVtLCAwLjA2NWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45NjUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgNHJlbSwgYmxhY2ssIDAuMzg1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IHN1cHBvcnQgcGFuZWwgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRzdXBwb3J0IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNwYW5lbC1zdXBwb3J0IHtcblxuICAgICAgICB6LWluZGV4OiA2MDtcblxuICAgICAgICAvLyBoZWlnaHQ6IDYwdmg7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2NvbnRlbnQvZHZtL2NvbnRlbnQuYmFja2dyb3VuZC4wOC5qcGcpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250ZW50XG4gICAgICAgIC5wYW5lbC1jb250ZW50IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgIC5jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpbWFnZVxuICAgICAgICAgICAgLmltYWdlIHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgIC50ZXh0IHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycmVtIDVyZW0gMTJyZW0gNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRkYXJrLCAwLjA2NSApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhyZW0gMi41cmVtIDhyZW0gMi41cmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaGVhZGluZ1xuICAgICAgICAgICAgICAgIGgyIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAyLjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHR5cG8oIDJyZW0sIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGdvbGQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgcCB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4yNXJlbSwgMC4wMzVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgY2hpbGRcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gc21hbGxcbiAgICAgICAgICAgICAgICAgICAgJi5zbWFsbGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNTAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYnV0dG9uXG4gICAgICAgICAgICAgICAgLnF1ZXN0aW9uLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjg3NXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCA0cmVtLCBibGFjaywgMC4zODUgKTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogb3Bwb3J0dW5pdGllcyBwYW5lbCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJG9wcG9ydHVuaXRpZXMgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3BhbmVsLW9wcG9ydHVuaXRpZXMge1xuXG4gICAgICAgIHotaW5kZXg6IDkwO1xuXG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2JpbGxib2FyZHMvYmlsbGJvYXJkLjIxLmpwZyk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG92ZXJsYXlcbiAgICAgICAgLnBhbmVsLW92ZXJsYXkge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkcm9hcmFuZ2UsIDAuMDU1ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAkY3ZuYXZ5LCAxLjAwMCwgMCUsXG4gICAgICAgICAgICAgICAgJGN2bmF2eSwgMC41NjUsIDEwMCVcblxuICAgICAgICAgICAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudFxuICAgICAgICAucGFuZWwtY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgcGFkZGluZzogOHJlbSAxMHJlbSA4cmVtIDEwcmVtO1xuXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cmVtIDIuNXJlbSA2cmVtIDIuNXJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBoZWFkaW5nXG4gICAgICAgICAgICBoMiB7XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAycmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjIxNSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJ1dHRvbnNcbiAgICAgICAgICAgIC5idXR0b24tcm93IHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAuZG9jdW1lbnQtbGluayB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIDFyZW0gMCAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAxLjVyZW0gMCAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC44NzVyZW0sIDAuMDY1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDRyZW0sIGJsYWNrLCAwLjM4NSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRibHVlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBxdWVzdGlvbnMgcGFuZWwgc3R5bGVzXG5cbiAgICAvLyBzZXR0aW5nc1xuICAgICRoaWdobGlnaHRzIDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNwYW5lbC1xdWVzdGlvbnMge1xuXG4gICAgICAgIHotaW5kZXg6IDYwO1xuXG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2JpbGxib2FyZHMvZHZtL2R2bS5iaWxsYm9hcmQuMDQuanBnKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudFxuICAgICAgICAucGFuZWwtY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtcyggZmFsc2UgKTtcblxuICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAuY29udGVudCB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgICAgIC5pbWFnZSB7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAudGV4dCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJsdWUsIDAuMDY1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNnJlbSAyLjVyZW0gNnJlbSAyLjVyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBoZWFkaW5nXG4gICAgICAgICAgICAgICAgaDIge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDIuNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgdHlwbyggMnJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIGJyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgICAgIHAge1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDFyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMjVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsYXN0IGNoaWxkXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICYuc21hbGxlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAgICAgICAgIC5xdWVzdGlvbi1saW5rIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAxLjVyZW0gMCAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC44NzVyZW0sIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4zNjUgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDRyZW0sIGJsYWNrLCAwLjM4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkcm9hcmFuZ2UsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBoaWdobGlnaHRzIHBhbmVsIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkaGlnaGxpZ2h0cyA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjcGFuZWwtaGlnaHNjaG9vbCB7XG5cbiAgICAgICAgei1pbmRleDogOTA7XG5cbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvYmlsbGJvYXJkcy9kdm0vZHZtLmJpbGxib2FyZC4wNS5qcGcpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgIC5wYW5lbC1vdmVybGF5IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4wMDAgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudFxuICAgICAgICAucGFuZWwtY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgcGFkZGluZzogOHJlbSA1cmVtIDhyZW0gNXJlbTtcblxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAvLyBoZWFkaW5nXG4gICAgICAgICAgICBoMiB7XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAycmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjIxNSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGJ1dHRvbnNcbiAgICAgICAgICAgIC5idXR0b24tcm93IHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAuZG9jdW1lbnQtbGluayB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIDFyZW0gMCAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbSAxLjVyZW0gMCAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC44NzVyZW0sIDAuMDY1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgNHJlbSwgYmxhY2ssIDAuMzg1ICk7XG5cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJsdWUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGFwcGxpY2F0aW9uIHBhbmVsIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkYXBwbGljYXRpb24gOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3BhbmVsLWFwcGxpY2F0aW9uIHtcblxuICAgICAgICBAaW5jbHVkZSBoaWRlO1xuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBhZG1pc3Npb25zIHBhbmVsIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkYWRtaXNzaW9ucyA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjcGFuZWwtYWRtaXNzaW9ucyB7XG5cbiAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogY29udGFjdCBwYW5lbCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGNvbnRhY3QgOiAxcmVtO1xuXG4gICAgLy8gc3R5bGVzXG4gICAgI3BhbmVsLWNvbnRhY3Qge1xuXG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAvLyBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxMHJlbSAwIDEwcmVtIDA7XG5cbiAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9iaWxsYm9hcmRzL2R2bS9kdm0uYmlsbGJvYXJkLjA2LmpwZyk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAwIDByZW0gMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gb3ZlcmxheVxuICAgICAgICAucGFuZWwtb3ZlcmxheSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRiZWlnZSwgMC4zODUgKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudFxuICAgICAgICAucGFuZWwtY29udGVudCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uLXRleHQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMnJlbSAwIDJyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYnV0dG9uc1xuICAgICAgICAuYnV0dG9uLWdyb3VwIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCA0cmVtIDAgNHJlbTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAxcmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250YWN0LWJ1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAyNSUgLSAycmVtICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMXJlbSAxcmVtIDFyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtIDFyZW0gMXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTM1LCAwLjEyNSApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMjE1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDNyZW0sIGJsYWNrLCAwLjIxNSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDJyZW0gKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZGFyaywgMC4xMjUgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvcGFjaXR5OiAxLjAwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDY1O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMXJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdGhpbmdcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCggMSApIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9jb250ZW50L2R2bS9wYW5lbHMvY29udGFjdC9jb250YWN0LjAwLmpwZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0aGluZ1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCAyICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2NvbnRlbnQvZHZtL3BhbmVscy9jb250YWN0L2NvbmFjdC4wMS5qcGcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdGhpbmdcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCggMyApIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9jb250ZW50L2R2bS9wYW5lbHMvY29udGFjdC9jb250YWN0LjAyLmpwZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0aGluZ1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCA0ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2NvbnRlbnQvZHZtL3BhbmVscy9jb250YWN0L2NvbnRhY3QuMDMuanBnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRoaW5nXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoIDUgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvY29udGVudC9kdm0vcGFuZWxzL2NvbnRhY3QvY29udGFjdC4wOC5qcGcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdGhpbmdcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCggNiApIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKC4uL2ltZy9jb250ZW50L2R2bS9wYW5lbHMvY29udGFjdC9jb250YWN0LjA0LmpwZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyB0aGluZ1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCA3ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2NvbnRlbnQvZHZtL3BhbmVscy9jb250YWN0L2NvbnRhY3QuMDYuanBnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRoaW5nXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoIDggKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvY29udGVudC9kdm0vcGFuZWxzL2NvbnRhY3QvY29udGFjdC4wNS5qcGcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiB2aXNpdCBwYW5lbCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHZpc2l0IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNwYW5lbC12aXNpdCB7XG5cbiAgICAgICAgei1pbmRleDogODA7XG5cbiAgICAgICAgLy8gaGVpZ2h0OiA2MHZoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcmVtIDVyZW0gMTByZW0gNTB2dztcblxuICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgIGltYWdlOiB1cmwoLi4vaW1nL2JpbGxib2FyZHMvZHZtL2R2bS5iaWxsYm9hcmQuMTMuanBnKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiA2cmVtIDIuNXJlbSA2cmVtIDIuNXJlbTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gb3ZlcmxheVxuICAgICAgICAucGFuZWwtb3ZlcmxheSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRuaXRlLCAwLjMyNSApO1xuICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJGJlaWdlLCAwLjM4NSApO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250ZW50XG4gICAgICAgIC5wYW5lbC1jb250ZW50IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1lKCBmYWxzZSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBub25lLCByaWdodCApO1xuXG4gICAgICAgICAgICAvLyBoZWFkaW5nXG4gICAgICAgICAgICBoMiB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2ZWxsb3csIDAuMDAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGV4dFxuICAgICAgICAgICAgcCB7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDFyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgIC5kb2N1bWVudC1saW5rIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjg3NXJlbSwgMC4wNjVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuOTY1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDRyZW0sIGJsYWNrLCAwLjM4NSApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIiwiLy8gc3R5bGVzaGVldCA6OiBzbmFwc2hvdCBwYW5lbCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJHNuYXBzaG90IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNwYW5lbC1zbmFwc2hvdCB7XG5cbiAgICAgICAgei1pbmRleDogNjA7XG5cbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvYmlsbGJvYXJkcy9kdm0vZHZtLmJpbGxib2FyZC4xMi5qcGcpO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgIC5wYW5lbC1vdmVybGF5IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMjE1ICk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgLnBhbmVsLWNvbnRlbnQge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDVyZW0gMTByZW0gNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggbm9uZSwgY2VudGVyICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDJyZW0gMTByZW0gMnJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBjb21tb25cbiAgICAgICAgICAgIC5jb250ZW50IHtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAudGV4dCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVyZW0gMCA1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJsdWUsIDAuMDY1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBoZWFkaW5nXG4gICAgICAgICAgICAgICAgaDQge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDIuNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMnJlbSwgMC4wNDVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAxcmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxLjI1cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGFzdCBjaGlsZFxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBzbWFsbFxuICAgICAgICAgICAgICAgICAgICAmLnNtYWxsZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBidXR0b25cbiAgICAgICAgICAgICAgICAucXVlc3Rpb24tbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMS41cmVtIDAgMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDFyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuODc1cmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGhlYWRpbmdcbiAgICAgICAgICAgIGgyIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICBwIHtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgLmRvY3VtZW50LWxpbmsge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMS41cmVtIDAgMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC44NzVyZW0sIDAuMDY1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTM1LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxcmVtLCA0cmVtLCBibGFjaywgMC4zODUgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXItY29sb3I6ICRyb2FyYW5nZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGR2bSB1bml0IGxheW91dCBzdHlsZXNcblxuICAgIC8vIHNldHRpbmdzXG4gICAgJGJpbGxib2FyZCA6IDFyZW07XG5cbiAgICAvLyBzdHlsZXNcbiAgICAjc2l0ZS1sYXlvdXQuZHZtIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICAgIC8vIHBhZGRpbmc6IDEwMHZoIDAgMCAwO1xuXG4gICAgICAgIC5ob21lICYge1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAxMDB2aCAwIDAgMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudSBvcGVuXG4gICAgICAgICYuc2l0ZS1tZW51LW9wZW4ge1xuXG4gICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1ciggMTZweCApO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoIDE2cHggKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBiaWxsYm9hcmRcbiAgICAgICAgI3NwZWNpYWwtYmlsbGJvYXJkIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZnVsbHNjcmVlbiggYWJzb2x1dGUsIDEwLCBmYWxzZSwgaGlkZGVuICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQ6IGZpeGVkO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggM3JlbSwgNnJlbSwgYmxhY2ssIDAuMzY1ICk7XG5cbiAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKCAwcHggKTtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKCAwcHggKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDBtcyBsaW5lYXIgMTIwbXM7XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIGxhcmdlIGRvd24gKSB7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgYXR0YWNobWVudDogc2Nyb2xsO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogODAlIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBvdmVybGF5XG4gICAgICAgICAgICAuYmlsbGJvYXJkLW92ZXJsYXkge1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC00NWRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGRhcmssIDAuMjE1ICkgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgNTAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICksXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMxNWRlZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGRhcmssIDAuMjE1ICkgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgNDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICksXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZGFyaywgMC4yMTUgKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCA1MCVcblxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICAgIDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTQ1ZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGRhcmssIDAuMjE1ICkgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDcwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMTVkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCAkZGFyaywgMC4yMTUgKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgNzAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSggJGN2bmF2eSwgMC4wMDAgKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnRlbnRcbiAgICAgICAgICAgICNiaWxsYm9hcmQtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWUtdi1iKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gMnJlbSA2cmVtIDZyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBsYXJnZSBkb3duICkge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1iLWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vXG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBjb250ZW50XG4gICAgICAgICAgICAgICAgI2JpbGxib2FyZC1jb250ZW50IHtcblxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaGVhZGxpbmVcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRsaW5lIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCA1cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDMuMzc1cmVtLCAwLjAyNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIGxhcmdlIGRvd24gKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAzLjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAyLjVyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0XG4gICAgICAgICAgICAgICAgICAgIC50ZXh0IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAuMzc1cmVtIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkdml0ZXNzZSwgMC44NzVyZW0sIDUwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMS4yNXJlbSwgMC4wNjVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGZhdXgtZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICR2aXRlc3NlLCAwLjc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDFyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBidXR0b25cbiAgICAgICAgICAgICAgICAgICAgLmxpbmsge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMS41cmVtIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxcmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNzVyZW0sIDAuMDk1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYmx1ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJ1dHRvbiBncm91cFxuICAgICAgICAgICAgICAgICNiaWxsYm9hcmQtYnV0dG9ucyB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zdCggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmbGV4LXYtYi1oLXMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAgICAgICAgIC5idXR0b24tbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1lKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMS44NzVyZW0gMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBub25lLCByaWdodCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuODI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93Ym94KCAxLjVyZW0sIDRyZW0sIGJsYWNrLCAwLjUyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWItaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMi4yNXJlbSAxLjg3NXJlbSAxcmVtIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmlyc3QgY2hpbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGV4cGxvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoIDEgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbiggJGN2bmF2eSwgMy41JSApLCAwLjIxNSwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hpdGUsIDEuMDAwLCAxMDAlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbiggJGN2bmF2eSwgMy41JSApLCAwLjg2NSwgMTAwJVxuXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCBsaWdodGVuKCAkY3ZuYXZ5LCA1LjUlICksIDAuMzY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b24tdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIGxpZ2h0ZW4oICRjdm5hdnksIDE1JSApLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZSBsaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAuYnV0dG9uLXRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCBsaWdodGVuKCAkY3ZuYXZ5LCAxOCUgKSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhZG1pc3Npb25zXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCAyICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdmVsbG93LCAwLjU2NSwgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN2ZWxsb3csIDAuODY1LCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdmVsbG93LCAwLjU2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRpdGxlIGxpbmVcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idXR0b24tdGl0bGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdmVsbG93LCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnRhY3RcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoIDMgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50KFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI0ZFNzcyNywgMC4zODUsIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNGRTc3MjcsIDAuOTE1LCAxMDAlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICNGRTc3MjcsIDAuMzg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGl0bGUgbGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi10aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggI0ZFNzcyNywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0aXRsZVxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uLXRpdGxlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LWIoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjg3NXJlbSwgMC4xMTVlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0xcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwLjEyNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRleHRcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi10ZXh0IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA1MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC44NzVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjIyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGl0bGUgbGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi10aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29udGVudFxuICAgICAgICAjZHZtLWNvbnRlbnQge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgICAgICAgIC8vIGxpbmtzXG4gICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAwM1xuICAgICAgICAgICAgI3NlY3Rpb24tMDMge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJsdWUsIDAuNjg1ICk7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCguLi9pbWcvYmlsbGJvYXJkcy9iaWxsYm9hcmQuMTIuanBnKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAwNFxuICAgICAgICAgICAgI3NlY3Rpb24tMDQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2ZWxsb3csIDAuNjg1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gMDVcbiAgICAgICAgICAgICNzZWN0aW9uLTA1IHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk0NSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIDA2XG4gICAgICAgICAgICAjc2VjdGlvbi0wNiB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjY4NSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZvb3RlclxuICAgICAgICAjc2l0ZS1mb290ZXIge1xuXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBzaGFkb3dib3goIC0xLjVyZW0sIDQuNXJlbSwgYmxhY2ssIDAuMjY1ICk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gc2VjdGlvbnNcbiAgICAuZHZtLWNvbnRlbnQtc2VjdGlvbiB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtYyggZmFsc2UgKTtcblxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAvLyBwYWRkaW5nOiA4cmVtIDAgOHJlbSAwO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYXR0YWNobWVudDogZml4ZWQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgNnJlbSwgYmxhY2ssIDAuMjE1ICk7XG5cbiAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBsYXJnZSBkb3duICkge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyB0b29sYmFyXG4gICAgI2hvbWVwYWdlLXRvb2xiYXIge1xuXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVyZW07XG5cbiAgICAgICAgLy8gb3ZlcmZsb3cteDogc2Nyb2xsO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMTY1ICk7XG5cbiAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgICAgICYuYWN0aXZlIHtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzYwbXMgJG9xdWluIDBtcztcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW5hY3RpdmUgc3RhdGVcbiAgICAgICAgJi5pbmFjdGl2ZSB7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoIDAsIDEwMCUsIDAgKTtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM2MG1zICRvcXVpbiAwbXM7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJ1dHRvblxuICAgICAgICAjdG9vbGJhci1idXR0b24ge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRibHVlLCAwLjg5NSApO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDAuODk1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWVudVxuICAgICAgICAjdG9vbGJhci1tZW51IHtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMHZ3IC0gNXJlbSApO1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuXG4gICAgICAgICAgICAvLyBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAvLyBsaXN0XG4gICAgICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDExMC41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAvLyBtZW51IGl0ZW1cbiAgICAgICAgICAgICAgICAubWVudS1pdGVtIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUtaXRlbS1saW5rIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDEuNXJlbSAwIDEuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNjg3NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoICR1cCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAwLjc1cmVtLCAwLjA3NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC42ODUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggd2hpdGUsIDEuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGJsdWUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMC45MjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhY3RpdmUgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbiIsIi8vIHN0eWxlc2hlZXQgOjogZGlyZWN0b3J5IGFwcGxpY2F0aW9uIHN0eWxlc2hlZXQgY29tcGlsZXJcblxuICAgIC8vIG1haW5cbiAgICBAaW1wb3J0ICdkaXJlY3RvcnkubWFpbic7XG4iLCIvLyBzdHlsZXNoZWV0IDo6IGRpcmVjdG9yeSBkZW1vIHN0eWxlc1xuXG4gICAgLy8gc2V0dGluZ3NcbiAgICAkZGlyZWN0b3J5IDogMXJlbTtcblxuICAgIC8vIHN0eWxlc1xuICAgICNkaXJlY3Rvcnkge1xuXG4gICAgICAgIHBhZGRpbmc6IDEwcmVtIDVyZW0gNXJlbSA1cmVtO1xuXG4gICAgfVxuXG4gICAgI2RpcmVjdG9yeSxcbiAgICAjZGlyZWN0b3J5LW1lbWJlciB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoIDEwMHZoIC0gMjdyZW0gKTtcblxuICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjI2NSApO1xuXG4gICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgIC8vIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgcGFkZGluZzogNnJlbSAycmVtIDJyZW0gMnJlbTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgIGhlYWRlciB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi10KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcGFnZSB0aXRsZVxuICAgICAgICAgICAgaDEge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1zKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggM3JlbSwgMC4wMjVlbSApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjdm5hdnksIDAuMjM1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHBhZ2UgcGFyZW50IHRpdGxlXG4gICAgICAgICAgICAgICAgc3BhbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDcwMCApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjEyNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC42ODc1cmVtLCAwLjAzNWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4zNjUgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBidXR0b24gY2xhc3NcbiAgICAgICAgICAgIC5vcGVuLW1vZGFsLWJ1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMi4yNXJlbSAwIDAuODc1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjY4NzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMnJlbSAwIDAuNzVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjYyNXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGluZSBicmVha1xuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBmaWxsKCAkZzEzNSwgMC4wMDAgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBkaXJlY3RvcnkgZmlsdGVyc1xuICAgICAgICAgICAgI2RpcmVjdG9yeS1tZW51LWJ1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBjb2RpY29uKCAycmVtLCAycmVtLCAwLjVyZW0gMC43NXJlbSAwLjVyZW0gMC4yNXJlbSwgMXJlbSwgJGcxMzUsICdcXEVBRkYnICk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDJyZW0sIDJyZW0sIDAuNXJlbSAwLjc1cmVtIDAuNXJlbSAwLjI1cmVtLCAxcmVtLCB3aGl0ZSwgJ1xcRUFGRicgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29kaWNvbiggMXJlbSwgMXJlbSwgMCwgMC43NXJlbSwgd2hpdGUsICdcXEVBRkYnICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHJlc2VhcmNoIGZpbHRlcnNcbiAgICAgICAgICAgICNyZXNlYXJjaC10b3BpYy1tZW51LWJ1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYWZ0ZXJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2RpY29uKCAycmVtLCAycmVtLCAwLjVyZW0sIDFyZW0sICRnMTM1LCAnXFxFQzVGJyApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvdXRwdXRcbiAgICAgICAgcHJlIHtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgLy8gZGVidWcgc3RhdGVcbiAgICAgICAgICAgICYuaGlkZSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBoaWRlO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbW1vbiB0b29sYmFyXG4gICAgICAgIC50b29sYmFyIHtcblxuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBtZW51IHdyYXBwZXJcbiAgICAgICAgLnJlc2VhcmNoLXRvcGljLW1lbnUtd3JhcHBlciB7XG5cbiAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAvLyBtZW51IGNsYXNzXG4gICAgICAgICAgICAucmVzZWFyY2gtdG9waWMtbWVudSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtcy12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgLTAuNXJlbSAwIC0wLjVyZW07XG5cbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAgICAgLy8gbWVudSBpdGVtc1xuICAgICAgICAgICAgICAgIC5tZW51LWl0ZW0ge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbSAxcmVtIDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMXJlbSAwIDFyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNzVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYXBwMDUsIDAuODY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzEzNSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyB0b29sYmFyXG4gICAgICAgICNkaXJlY3RvcnktdG9vbGJhciB7XG5cbiAgICAgICAgICAgIGhlaWdodDogMTByZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFscGhhYmV0XG4gICAgICAgICAgICAuYWxwaGFiZXQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWotdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCAkYXBwMDUsIDAuODI1ICk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCAkYXBwMDUsIDAuODI1ICk7XG5cbiAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGxhYmVsXG4gICAgICAgICAgICAgICAgLmFscGhhYmV0LWxhYmVsIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjYyNSApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuMjVyZW0gMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGxldHRlcnNcbiAgICAgICAgICAgICAgICAuYWxwaGFiZXQtY29udHJvbCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtIDAgMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAxLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC41cmVtIDAgMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjYW1wYWlnbiwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGFibGVcbiAgICAgICAgLmRpcmVjdG9yeSB7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAvLyBoZWFkZXJcbiAgICAgICAgICAgIHRoZWFkIHtcblxuICAgICAgICAgICAgICAgIC8vIHJvd1xuICAgICAgICAgICAgICAgIHRyIHtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBoZWFkXG4gICAgICAgICAgICAgICAgdGgge1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNzVyZW0gMCAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMDg1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcm93XG4gICAgICAgICAgICAucmVjb3JkIHtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDYwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggaW5oZXJpdCwgLTAuMDA1ZW0gKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGljb25zXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDEuNXJlbSwgMi4zMTI1cmVtLCAwLjY4NzVyZW0gMCAwLjQzNzVyZW0gMC41cmVtLCAwLjVyZW0sICRibHVlLCBpbmhlcml0ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZW50OiAnXFxFRDVCJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb250ZW50OiAnXFxFRDVDJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2ZWxsb3csIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4xNjUgKTtcblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdG9nZ2xlIGNvbnRyb2xzXG4gICAgICAgICAgICAgICAgICAgIC5tb2JpbGUtdG9nZ2xlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlLT5vcGVuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGNhbXBhaWduLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFmdGVyLT5jbG9zZVxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGVtYWlsXG4gICAgICAgICAgICAgICAgICAgIC5lbWFpbC1saW5rLFxuICAgICAgICAgICAgICAgICAgICAubWVtYmVyLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGN2ZWxsb3csIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gZXhwYW5kZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAmLnBhcmVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmlsbCggJHJvYXJhbmdlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0b2dnbGUgY29udHJvbHNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tb2JpbGUtdG9nZ2xlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZS0+b3BlblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWZ0ZXItPmNsb3NlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtZW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tZW1iZXItbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzIwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyB0b2dnbGUgY29udHJvbHNcbiAgICAgICAgICAgICAgICAgICAgLm1vYmlsZS10b2dnbGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpY29uc1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvbG9yKCByZWQsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlLT5vcGVuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjAwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhZnRlci0+Y2xvc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMS4wMDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgICAgICAubWVtYmVyLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gdG9nZ2xlIGNvbnRyb2xzXG4gICAgICAgICAgICAgICAgLm1vYmlsZS10b2dnbGUge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhpZGU7XG5cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIGljb25zXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtYy1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDJyZW0sIDIuMzEyNXJlbSwgMC42ODc1cmVtIDAgMC40Mzc1cmVtIDAuNzVyZW0sIDAuNXJlbSwgdHJhbnNwYXJlbnRpemUoICRhcHAwNSwgMC42ODUgKSwgaW5oZXJpdCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjIwbXMgbGluZWFyIDBtcztcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlLT5vcGVuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcRUQ1Qic7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuNjg1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEuMDAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBhZnRlci0+Y2xvc2VcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXEVENUMnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDAwO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGNvbW1vblxuICAgICAgICAgICAgICAgIC5lbWFpbC1saW5rLFxuICAgICAgICAgICAgICAgIC5tZW1iZXItbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZzogMC41NjI1cmVtIDAuNzVyZW0gMC40Mzc1cmVtIDAuNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNzVyZW0gMHJlbSAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1lbWJlclxuICAgICAgICAgICAgICAgIC5tZW1iZXItbGluayB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwLjc1cmVtIDAuNDM3NXJlbSAwcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGVtYWlsXG4gICAgICAgICAgICAgICAgLmVtYWlsLWxpbmsge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMjY1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMyMG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29sdW1uXG4gICAgICAgICAgICAubGluay1jb2x1bW4ge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgMCAwIDEuNzVyZW07XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY2hpbGQgcm93IChtb2JpbGUpXG4gICAgICAgICAgICB0ci5jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzE0MCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgIC8vIGxpc3RcbiAgICAgICAgICAgICAgICAuZHRyLWRldGFpbHMge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC43NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY2FtcGFpZ24sIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnRyb2wgZ3JvdXBcbiAgICAgICAgI2RpcmVjdG9yeS1maWVsZHMge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcblxuICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAuZGF0YVRhYmxlc19sZW5ndGgsXG4gICAgICAgICAgICAuZGF0YVRhYmxlc19maWx0ZXIge1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250cm9sIGdyb3VwXG4gICAgICAgICNkaXJlY3RvcnktaW5mbyB7XG5cbiAgICAgICAgICAgIGhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC42ODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250cm9sIGRpcmVjdG9yeSB2aWV3KHMpXG4gICAgICAgIC5kYXRhVGFibGVzX2xlbmd0aCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1qLXYtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG5cbiAgICAgICAgICAgIC8vIGxhYmVsXG4gICAgICAgICAgICBsYWJlbCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzZWxlY3RcbiAgICAgICAgICAgIHNlbGVjdCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtIDAgMC41cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC4yNXJlbSAwIDAuNXJlbTtcblxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUsIGNlbnRlciApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4xNjUgKTtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBpbWFnZTogdXJsKC4uL2ltZy9pY29ucy9hZG1pbi9pY29uX2JpbGxib2FyZC5zdmcpO1xuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogMS4yNXJlbSAxLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvZGljb24oIDFyZW0sIDJyZW0sIDAuNXJlbSAwIDAuNXJlbSAwLCAxcmVtLCB3aGl0ZSwgJ1xcRURDOScgKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb250cm9sIGRpcmVjdG9yeSB2aWV3KHMpXG4gICAgICAgIC5kYXRhVGFibGVzX2ZpbHRlciB7XG5cbiAgICAgICAgICAgIC8vIGxhYmVsXG4gICAgICAgICAgICBsYWJlbCB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtai12LWMoIHRydWUgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpbnB1dFxuICAgICAgICAgICAgaW5wdXQge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjVyZW0gMCAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjE2NSApO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRpcmVjdG9yeSBpbmZvXG4gICAgICAgIC5kYXRhVGFibGVzX2luZm8ge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHBhZ2luYXRpb25cbiAgICAgICAgI2RpcmVjdG9yeS1jb250cm9scyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoICRhcHAwNSwgMC44MjUgKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSggJGFwcDA1LCAwLjgyNSApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuODc1cmVtLCA2MDAgKTtcblxuICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICggc21hbGwgb25seSApIHtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBwYWdpbmF0aW9uIGNvbnRyb2xzXG4gICAgICAgICAgICAuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtYy12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBkaXJlY3Rpb25zXG4gICAgICAgICAgICAgICAgLmRhdGFUYWJsZXNfcHJldmlvdXMsXG4gICAgICAgICAgICAgICAgLmRhdGFUYWJsZXNfbmV4dCB7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gZWxsaXBzaXNcbiAgICAgICAgICAgICAgICAuZWxsaXBzaXMge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi1jLWgtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtIDAgMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gYnV0dG9uXG4gICAgICAgICAgICAgICAgLnBhZ2luYXRlX2J1dHRvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1jKCB0cnVlICk7XG5cbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjVyZW0gMCAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRhcHAwNSwgMC4yNjUgKTtcblxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoICRhcHAwNSwgMC4yNjUgKSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzIwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRjYW1wYWlnbiwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjYW1wYWlnbiAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzEzNSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gZGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuNjI1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSggJGFwcDA1LCAwLjYyNSApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhvdmVyIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSggJGFwcDA1LCAwLjYyNSApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB0cmFuc3BhcmVudCwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBjdXJyZW50IHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCB3aGl0ZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRnMTQwLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzIwbXMgJG91dGV4IDBtcztcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBzbWFsbCBvbmx5ICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDAuNXJlbSAwIDAuNXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gZmlsdGVyc1xuICAgICAgICAjZGlyZWN0b3J5LWZpbHRlcnMge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWgtZS12LWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIC8vIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcblxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCAkYXBwMDUsIDAuODI1ICk7XG5cbiAgICAgICAgICAgIC8vIGxhYmVsXG4gICAgICAgICAgICAuZmlsdGVyLWxhYmVsIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDFyZW0gMCAxcmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkYXBwMDUsIDAuMzY1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkYXBwMDUsIDAuOTE1ICk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYnV0dG9uc1xuICAgICAgICAgICAgLmZpbHRlci1saW5rIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1jLXYtYyggdHJ1ZSApO1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjVyZW0gMCAwLjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4xMjVyZW0gMXJlbSAwIDFyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAkaW5kdXN0cnksIDAuNzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwbyggMC41cmVtLCAwLjAyNWVtICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkZzEzNSwgMC44NjUgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMjBtcyBsaW5lYXIgMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGcxMzUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBhbGwgbWVtYmVyc1xuICAgICAgICAgICAgICAgICYuYWxsIHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJHJvYXJhbmdlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC44NjUgKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBob3ZlciBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkcm9hcmFuZ2UsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJlY29yZFxuICAgICAgICAuZGlyZWN0b3J5LWxpc3Rpbmcge1xuXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBmbGV4LWgtai12LXQoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDM2cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMTByZW0gNXJlbSA1cmVtIDVyZW07XG5cbiAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDJyZW0gMnJlbSAycmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcHJvZmlsZVxuICAgICAgICAgICAgLmxpc3RpbmctcHJvZmlsZSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLWMoIGZhbHNlICk7XG5cbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIG5vbmUsIGNlbnRlciApO1xuXG4gICAgICAgICAgICAgICAgLy8gbW9iaWxlXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoIHNtYWxsIG9ubHkgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBtZWRpdW0gZG93biApIHtcblxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY29tbW9uXG4gICAgICAgICAgICAgICAgc3BhbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LWMtaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcGhvdG9cbiAgICAgICAgICAgICAgICAucHJvZmlsZS1waG90byB7XG5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzJyZW0gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCAkY3ZuYXZ5LCAwLjY4NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDMuNXJlbSwgYmxhY2ssIDAuNDY1ICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBuYW1lXG4gICAgICAgICAgICAgICAgLnByb2ZpbGUtbmFtZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC12LXQtaC1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBuYW1lXG4gICAgICAgICAgICAgICAgICAgIC5uYW1lIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCAka2xhdmlzbGltLCAxLjc1cmVtLCA0MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggbm9uZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0eXBvKCAxcmVtLCAwLjA0NWVtICk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHRpdGxlXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjc1cmVtLCA3MDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gZGVwYXJ0bWVudFxuICAgICAgICAgICAgICAgICAgICAuZGVwYXJ0bWVudCB7XG5cblxuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHdlYnNpdGVcbiAgICAgICAgICAgICAgICAud2Vic2l0ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLWMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGtsYXZpc2xpbSwgMXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dCggJHVwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDAuNzVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGN2bmF2eSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3dib3goIDFyZW0sIDIuNXJlbSwgYmxhY2ssIDAuNDE1ICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIyMG1zIGxpbmVhciAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRyb2FyYW5nZSwgMC4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gaW5mb1xuICAgICAgICAgICAgLmxpc3RpbmctaW5mbyB7XG5cbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDE2cmVtICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwIDAgMnJlbTtcblxuICAgICAgICAgICAgICAgIC8vIG1vYmlsZVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCBtZWRpdW0gZG93biApIHtcblxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGFib3V0XG4gICAgICAgICAgICAgICAgLmxpc3RpbmctaGVhZGluZyB7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDJyZW0sIDQwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMjVyZW0sIDAuMDQ1ZW0gKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggJGcxNDAsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBncm91cHNcbiAgICAgICAgICAgICAgICAubGlzdGluZy1ncm91cCB7XG5cbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gZW50cnlcbiAgICAgICAgICAgICAgICAuZW50cnksXG4gICAgICAgICAgICAgICAgLmludGVyZXN0IHtcblxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNjAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgJi50aXRsZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDFyZW0sIDBlbSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBjb2xvciggJGFwcDA1LCAwLjE2NSApO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBkZXZlbG9wZXJcbiAgICAgICAgLmRldmVsb3BlciB7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgei1pbmRleDogMjAwO1xuXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGFwcDA1O1xuXG4gICAgICAgICAgICAvLyBoaWRlXG4gICAgICAgICAgICAmLmhpZGUge1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzaG93XG4gICAgICAgICAgICAmLnNob3cge1xuXG5cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIG1vZGFsXG4gICAgI2RpcmVjdG9yeS1tZW51IHtcblxuICAgICAgICAvLyBjbGFzcyBob29rXG4gICAgICAgICYuZGlyZWN0b3J5LWZpbHRlci1tb2RhbCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdi10LWgtc3QoIGZhbHNlICk7XG5cbiAgICAgICAgICAgIHdpZHRoOiAyNHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGRhcmssIDAuMDg1ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgMy41cmVtLCBibGFjaywgMC40NjUgKTtcblxuICAgICAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgICAgICBoZWFkZXIge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAuNXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCB3aGl0ZSwgMC44MjUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMjVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkZ29sZCwgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBsaW5rXG4gICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCggJGluZHVzdHJ5LCAwLjg3NXJlbSwgNzAwICk7XG5cbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCBjYXBpdGFsaXplICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMjQ1ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMjBtcyAkb3V0ZXggMG1zO1xuXG4gICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjc1cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvbG9yKCAkYmx1ZSwgMC4wMDAgKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoICRnb2xkLCAwLjAwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuXG4gICAgICAgICAgICAgICAgfVxuXG5cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjbGFzcyBob29rXG4gICAgICAgICYucmVzZWFyY2gtdG9waWMtbW9kYWwge1xuXG4gICAgICAgICAgICB3aWR0aDogMjRyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZpbGwoICRjdm5hdnksIDAuMDg1ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvd2JveCggMXJlbSwgMy41cmVtLCBibGFjaywgMC40NjUgKTtcblxuICAgICAgICAgICAgLy8gaGVhZGVyXG4gICAgICAgICAgICBoZWFkZXIge1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAuNXJlbSAwO1xuXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCB3aGl0ZSwgMC44MjUgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRrbGF2aXNsaW0sIDEuNXJlbSwgNDAwICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0KCAkdXAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHR5cG8oIDEuMjVyZW0sIDAuMDM1ZW0gKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCAkY3ZlbGxvdywgMC4wMDAgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtZW51XG4gICAgICAgICAgICAucmVzZWFyY2gtdG9waWMtbWVudSB7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXYtdC1oLXN0KCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgICAgIC8vIGl0ZW1zXG4gICAgICAgICAgICAgICAgbGkge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaC1zLXYtYyggZmFsc2UgKTtcblxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZpbGwoIHdoaXRlLCAwLjk2NSApO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmlsbCggJGJsdWUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMC43NXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvbG9yKCAkYmx1ZSwgMC4wMDAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvciggd2hpdGUsIDAuMDAwICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGlua1xuICAgICAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1oLXMtdi1jKCBmYWxzZSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoICRpbmR1c3RyeSwgMC44NzVyZW0sIDcwMCApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQoIGNhcGl0YWxpemUgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoIHdoaXRlLCAwLjI0NSApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsKCB3aGl0ZSwgMS4wMDAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMyMG1zICRvdXRleCAwbXM7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUU0S0M7Ozs7SUFJRztBSTdLQSxVQUFVLENBQVYsWUFBVTtFQUVOLEVBQUU7SUFFRSxTQUFTLEVBQUUsWUFBWTtFQUczQixJQUFJO0lBRUEsU0FBUyxF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Ri9KTixXRStKaUIsR0YvSmIsS0FBSyxDQUFRO0VIeURmLEtBQWEsRUFEaUIsR0FBc0IsR0d0RHJEOztBRTZKSyxBRi9KTixXRStKaUIsR0YvSmIsS0FBSyxDQUFRO0VIeURmLEtBQWEsRUFEaUIsR0FBc0IsR0d0RHJEOztBRTZKSyxBRi9KTixXRStKaUIsR0YvSmIsS0FBSyxDQUFRO0VIeURmLEtBQWEsRUFEaUIsU0FBc0IsR0d0RHJEOztBRTZKSyxBRi9KTixXRStKaUIsR0YvSmIsS0FBSyxDQUFRO0VIeURmLEtBQWEsRUFEaUIsU0FBc0IsR0d0RHJEOztBRTZKSyxBRi9KTixXRStKaUIsR0YvSmIsS0FBSyxDQUFRO0VIeURmLEtBQWEsRUFEaUIsS0FBc0IsR0d0RHJEOztBakNvSUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RW1DeUJ2QyxBRi9KTixZRStKa0IsR0YvSmQsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsSUFBc0IsR0d0RHJEO0VFNkpLLEFGL0pOLFlFK0prQixHRi9KZCxLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixHQUFzQixHR3REckQ7RUU2SkssQUYvSk4sWUUrSmtCLEdGL0pkLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLFNBQXNCLEdHdERyRDtFRTZKSyxBRi9KTixZRStKa0IsR0YvSmQsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsR0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pOLFlFK0prQixHRi9KZCxLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixHQUFzQixHR3REckQ7RUU2SkssQUYvSk4sWUUrSmtCLEdGL0pkLEtBQUssQ0FBUTtJSHlEZixLQUFhLEVBRGlCLFNBQXNCLEdHdERyRDtFRTZKSyxBRi9KTixZRStKa0IsR0YvSmQsS0FBSyxDQUFRO0lIeURmLEtBQWEsRUFEaUIsU0FBc0IsR0d0RHJEO0VFNkpLLEFGL0pOLFlFK0prQixHRi9KZCxLQUFLLENBQVE7SUh5RGYsS0FBYSxFQURpQixLQUFzQixHR3REckQ7O0Fq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Z0IsR0Q1S2QsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxRQUFRLENBQU07SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7RWxDOEdQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0ltQzREekMsQUQ1S00sc0JDNEtnQixHRDVLZCxTQUFTLENBQUs7TUptQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0loQzNDO0lDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxTQUFTLENBQUs7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxTQUFTLENBQUs7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxVQUFVLENBQUk7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsVUFBVSxDQUFJO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFVBQVUsQ0FBSTtNSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7RWxDOEdQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0ltQzREekMsQUQ1S00sc0JDNEtnQixHRDVLZCxRQUFRLENBQU07TUptQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0loQzNDO0lDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsUUFBUSxDQUFNO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxRQUFRLENBQU07TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsUUFBUSxDQUFNO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxRQUFRLENBQU07TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsUUFBUSxDQUFNO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFFBQVEsQ0FBTTtNSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7SUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxTQUFTLENBQUs7TUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0lDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsU0FBUyxDQUFLO01KbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztJQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFNBQVMsQ0FBSztNSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7O0FDZ0xQLEFBQUEsdUJBQXVCLENBQUU7RUR0S3ZCLFlBQWdCLEVBQVMsQ0FBQztFQUExQixXQUFnQixFQUFTLENBQUMsR0N3SzNCO0VBRkQsQURuS0EsdUJDbUt1QixHRG5LckIsS0FBSyxDQUFRO0lBRVgsYUFBaUIsRUFBVSxDQUFDO0lBQTVCLFlBQWlCLEVBQVUsQ0FBQyxHQUUvQjs7QWxDNkZELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VtQzREekMsQUFBQSx1QkFBdUIsQ0FBQztJRHZNdEIsWUFBZ0IsRUFBUyxDQUFDO0lBQTFCLFdBQWdCLEVBQVMsQ0FBQyxHQ3lNM0I7SUFGRCxBRHBNQSx1QkNvTXVCLEdEcE1yQixLQUFLLENBQVE7TUFFWCxZQUFnQixFQUFTLENBQUM7TUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdBRTdCOztBbENvSUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RW1DNER6QyxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixRQUFzQixHSXpDM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixRQUFRLENBQU07SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKNEN4QixLQUFhLEVBRGlCLEdBQXNCLEdJekMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLElBQXNCLEdJekMzQzs7QWxDdUhQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VtQzREekMsQUQ1S00sdUJDNEtpQixHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0loQzNDO0VDMEtQLEFENUtNLHVCQzRLaUIsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSx1QkM0S2lCLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S00sdUJDNEtpQixHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtNLHVCQzRLaUIsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSx1QkM0S2lCLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S00sdUJDNEtpQixHRDVLZixTQUFTLENBQUs7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtNLHVCQzRLaUIsR0Q1S2YsU0FBUyxDQUFLO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSx1QkM0S2lCLEdENUtmLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixHQUFzQixHSWhDM0M7RUMwS1AsQUQ1S00sdUJDNEtpQixHRDVLZixVQUFVLENBQUk7SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtNLHVCQzRLaUIsR0Q1S2YsVUFBVSxDQUFJO0lKbUN4QixLQUFhLEVBRGlCLFNBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSx1QkM0S2lCLEdENUtmLFVBQVUsQ0FBSTtJSm1DeEIsS0FBYSxFQURpQixJQUFzQixHSWhDM0M7O0FsQzhHUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFbUM0RHpDLEFENUtNLHVCQzRLaUIsR0Q1S2YsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLFFBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSx1QkM0S2lCLEdENUtmLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxF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ZCxTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsU0FBc0IsR0l6QzNDO0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixJQUFzQixHSXpDM0M7O0FsQ3VIUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFbUM0RHpDLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFFBQXNCLEdJekMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsR0FBc0IsR0l6QzNDO0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsR0FBc0IsR0l6QzNDO0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7SUo0Q3hCLEtBQWEsRUFEaUIsR0FBc0IsR0l6QzNDO0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsVUFBVSxDQUFJO0lKNEN4QixLQUFhLEVBRGlCLFNBQXNCLEdJekMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFVBQVUsQ0FBSTtJSjRDeEIsS0FBYSxFQURpQixTQUFzQixHSXpDM0M7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxVQUFVLENBQUk7SUo0Q3hCLEtBQWEsRUFEaUIsSUFBc0IsR0l6QzNDOztBbEN1SFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RW1DNER6QyxBRDVLTSxzQkM0S2dCLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixRQUFzQixHSWhDM0M7RUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxRQUFRLENBQU07SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxRQUFRLENBQU07SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFFBQVEsQ0FBTTtJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxRQUFRLENBQU07SUptQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0loQzNDO0VDMEtQLEFENUtNLHNCQzRLZ0IsR0Q1S2QsUUFBUSxDQUFNO0lKbUN4QixLQUFhLEVBRGlCLEdBQXNCLEdJaEMzQztFQzBLUCxBRDVLTSxzQkM0S2dCLEdENUtkLFNBQVMsQ0FBSztJSm1DeEIsS0FBYSxFQURpQixTQUFzQixHSWhDM0M7RUMwS1AsQUQ1S00sc0JDNEtnQixHRDVLZCxTQUFTLENBQUs7SUpt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 */
