@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 48.0625em) {
  .reveal.large, .reveal.small, .reveal.tiny, .reveal {
    right: auto;
    left: auto;
    margin: 0 auto;
  }
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url("../../assets/font/Open_Sans/woff/OpenSans-Light.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 300;
  src: local("Open Sans Light Italic"), local("OpenSans-LightItalic"), url("../../assets/font/Open_Sans/woff/OpenSans-LightItalic.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans"), local("OpenSans-Regular"), url("../../assets/font/Open_Sans/woff/OpenSans-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  src: local("Open Sans Italic"), local("OpenSans-Italic"), url("../../assets/font/Open_Sans/woff/OpenSans-Italic.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), url("../../assets/font/Open_Sans/woff/OpenSans-SemiBold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 600;
  src: local("Open Sans SemiBold Italic"), local("OpenSans-SemiBoldItalic"), url("../../assets/font/Open_Sans/woff/OpenSans-SemiBoldItalic.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url("../../assets/font/Open_Sans/woff/OpenSans-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 700;
  src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"), url("../../assets/font/Open_Sans/woff/OpenSans-BoldItalic.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 800;
  src: local("Open Sans ExtraBold"), local("OpenSans-ExtraBold"), url("../../assets/font/Open_Sans/woff/OpenSans-ExtraBold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 800;
  src: local("Open Sans ExtraBold Italic"), local("OpenSans-ExtraBoldItalic"), url("../../assets/font/Open_Sans/woff/OpenSans-ExtraBoldItalic.woff") format("woff");
  font-display: swap;
}
/*! 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=48.0625em&large=64em&xlarge=75em&xxlarge=90.0625em";
}

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

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

body {
  margin: 0;
  padding: 0;
  background: #F2F2F2 !important;
  font-family: "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  -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: 1rem;
  padding-left: 1rem;
  max-width: 75rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-container {
    padding-right: 1.125rem;
    padding-left: 1.125rem;
  }
}
.grid-container.fluid {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 100%;
  margin: 0 auto;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-container.fluid {
    padding-right: 1.125rem;
    padding-left: 1.125rem;
  }
}
.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin: 0 auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48.0625em) {
  .grid-x > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .grid-x > .medium-1 {
    width: 8.3333333333%;
  }
  .grid-x > .medium-2 {
    width: 16.6666666667%;
  }
  .grid-x > .medium-3 {
    width: 25%;
  }
  .grid-x > .medium-4 {
    width: 33.3333333333%;
  }
  .grid-x > .medium-5 {
    width: 41.6666666667%;
  }
  .grid-x > .medium-6 {
    width: 50%;
  }
  .grid-x > .medium-7 {
    width: 58.3333333333%;
  }
  .grid-x > .medium-8 {
    width: 66.6666666667%;
  }
  .grid-x > .medium-9 {
    width: 75%;
  }
  .grid-x > .medium-10 {
    width: 83.3333333333%;
  }
  .grid-x > .medium-11 {
    width: 91.6666666667%;
  }
  .grid-x > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .grid-x > .large-1 {
    width: 8.3333333333%;
  }
  .grid-x > .large-2 {
    width: 16.6666666667%;
  }
  .grid-x > .large-3 {
    width: 25%;
  }
  .grid-x > .large-4 {
    width: 33.3333333333%;
  }
  .grid-x > .large-5 {
    width: 41.6666666667%;
  }
  .grid-x > .large-6 {
    width: 50%;
  }
  .grid-x > .large-7 {
    width: 58.3333333333%;
  }
  .grid-x > .large-8 {
    width: 66.6666666667%;
  }
  .grid-x > .large-9 {
    width: 75%;
  }
  .grid-x > .large-10 {
    width: 83.3333333333%;
  }
  .grid-x > .large-11 {
    width: 91.6666666667%;
  }
  .grid-x > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .grid-x > .xlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .xlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .grid-x > .xlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xlarge-3 {
    width: 25%;
  }
  .grid-x > .xlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xlarge-6 {
    width: 50%;
  }
  .grid-x > .xlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xlarge-9 {
    width: 75%;
  }
  .grid-x > .xlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .grid-x > .xxlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .xxlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .grid-x > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xxlarge-3 {
    width: 25%;
  }
  .grid-x > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xxlarge-6 {
    width: 50%;
  }
  .grid-x > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xxlarge-9 {
    width: 75%;
  }
  .grid-x > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xxlarge-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: - 1rem;
  margin-right: - 1rem;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-margin-x {
    margin-left: - 1.125rem;
    margin-right: - 1.125rem;
  }
}
.grid-margin-x > .cell {
  width: calc(100% - 2rem);
  margin-left: 1rem;
  margin-right: 1rem;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-margin-x > .cell {
    width: calc(100% - 2.25rem);
    margin-left: 1.125rem;
    margin-right: 1.125rem;
  }
}
.grid-margin-x > .auto {
  width: auto;
}
.grid-margin-x > .shrink {
  width: auto;
}
.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 2rem);
}
.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 2rem);
}
.grid-margin-x > .small-3 {
  width: calc(25% - 2rem);
}
.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 2rem);
}
.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 2rem);
}
.grid-margin-x > .small-6 {
  width: calc(50% - 2rem);
}
.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 2rem);
}
.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 2rem);
}
.grid-margin-x > .small-9 {
  width: calc(75% - 2rem);
}
.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 2rem);
}
.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 2rem);
}
.grid-margin-x > .small-12 {
  width: calc(100% - 2rem);
}
@media print, screen and (min-width: 48.0625em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 2.25rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 2.25rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 2.25rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 2.25rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 2.25rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 2.25rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 2.25rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 2.25rem);
  }
}
@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.3333333333% - 2.25rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 2.25rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 2.25rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 2.25rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 2.25rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-x > .xlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xlarge-1 {
    width: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-x > .xlarge-2 {
    width: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-x > .xlarge-3 {
    width: calc(25% - 2.25rem);
  }
  .grid-margin-x > .xlarge-4 {
    width: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-x > .xlarge-5 {
    width: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-x > .xlarge-6 {
    width: calc(50% - 2.25rem);
  }
  .grid-margin-x > .xlarge-7 {
    width: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-x > .xlarge-8 {
    width: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-x > .xlarge-9 {
    width: calc(75% - 2.25rem);
  }
  .grid-margin-x > .xlarge-10 {
    width: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-x > .xlarge-11 {
    width: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-x > .xlarge-12 {
    width: calc(100% - 2.25rem);
  }
}
@media screen and (min-width: 90.0625em) {
  .grid-margin-x > .xxlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xxlarge-1 {
    width: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-2 {
    width: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-3 {
    width: calc(25% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-4 {
    width: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-5 {
    width: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-6 {
    width: calc(50% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-7 {
    width: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-8 {
    width: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-9 {
    width: calc(75% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-10 {
    width: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-11 {
    width: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-x > .xxlarge-12 {
    width: calc(100% - 2.25rem);
  }
}

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48.0625em) {
  .medium-up-1 > .cell {
    width: 100%;
  }
  .medium-up-2 > .cell {
    width: 50%;
  }
  .medium-up-3 > .cell {
    width: 33.3333333333%;
  }
  .medium-up-4 > .cell {
    width: 25%;
  }
  .medium-up-5 > .cell {
    width: 20%;
  }
  .medium-up-6 > .cell {
    width: 16.6666666667%;
  }
  .medium-up-7 > .cell {
    width: 14.2857142857%;
  }
  .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.3333333333%;
  }
  .large-up-4 > .cell {
    width: 25%;
  }
  .large-up-5 > .cell {
    width: 20%;
  }
  .large-up-6 > .cell {
    width: 16.6666666667%;
  }
  .large-up-7 > .cell {
    width: 14.2857142857%;
  }
  .large-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-up-1 > .cell {
    width: 100%;
  }
  .xlarge-up-2 > .cell {
    width: 50%;
  }
  .xlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xlarge-up-4 > .cell {
    width: 25%;
  }
  .xlarge-up-5 > .cell {
    width: 20%;
  }
  .xlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xlarge-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-up-1 > .cell {
    width: 100%;
  }
  .xxlarge-up-2 > .cell {
    width: 50%;
  }
  .xxlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xxlarge-up-4 > .cell {
    width: 25%;
  }
  .xxlarge-up-5 > .cell {
    width: 20%;
  }
  .xxlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xxlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xxlarge-up-8 > .cell {
    width: 12.5%;
  }
}
.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 2rem);
}

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

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

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

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

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

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

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

@media print, screen and (min-width: 48.0625em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 2rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 2rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.3333333333% - 2rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 2rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 2rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.6666666667% - 2rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.2857142857% - 2rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 2rem);
  }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 2.25rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 2.25rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 2.25rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 2.25rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 2.25rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 2.25rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 2.25rem);
  }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 2.25rem);
  }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 2.25rem);
  }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 2.25rem);
  }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.2857142857% - 2.25rem);
  }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 2.25rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 2.25rem);
  }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 2.25rem);
  }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 2.25rem);
  }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 2.25rem);
  }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.2857142857% - 2.25rem);
  }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 2.25rem);
  }
}
@media screen and (min-width: 90.0625em) {
  .grid-margin-x.xxlarge-up-1 > .cell {
    width: calc(100% - 2.25rem);
  }
  .grid-margin-x.xxlarge-up-2 > .cell {
    width: calc(50% - 2.25rem);
  }
  .grid-margin-x.xxlarge-up-3 > .cell {
    width: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-x.xxlarge-up-4 > .cell {
    width: calc(25% - 2.25rem);
  }
  .grid-margin-x.xxlarge-up-5 > .cell {
    width: calc(20% - 2.25rem);
  }
  .grid-margin-x.xxlarge-up-6 > .cell {
    width: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-x.xxlarge-up-7 > .cell {
    width: calc(14.2857142857% - 2.25rem);
  }
  .grid-margin-x.xxlarge-up-8 > .cell {
    width: calc(12.5% - 2.25rem);
  }
}
.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.3333333333%;
}
.small-margin-collapse > .small-2 {
  width: 16.6666666667%;
}
.small-margin-collapse > .small-3 {
  width: 25%;
}
.small-margin-collapse > .small-4 {
  width: 33.3333333333%;
}
.small-margin-collapse > .small-5 {
  width: 41.6666666667%;
}
.small-margin-collapse > .small-6 {
  width: 50%;
}
.small-margin-collapse > .small-7 {
  width: 58.3333333333%;
}
.small-margin-collapse > .small-8 {
  width: 66.6666666667%;
}
.small-margin-collapse > .small-9 {
  width: 75%;
}
.small-margin-collapse > .small-10 {
  width: 83.3333333333%;
}
.small-margin-collapse > .small-11 {
  width: 91.6666666667%;
}
.small-margin-collapse > .small-12 {
  width: 100%;
}
@media print, screen and (min-width: 48.0625em) {
  .small-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .medium-3 {
    width: 25%;
  }
  .small-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .medium-6 {
    width: 50%;
  }
  .small-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .medium-9 {
    width: 75%;
  }
  .small-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .large-3 {
    width: 25%;
  }
  .small-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .large-6 {
    width: 50%;
  }
  .small-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .large-9 {
    width: 75%;
  }
  .small-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .small-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .small-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .small-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .small-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .small-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .small-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .small-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .small-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .xxlarge-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: 48.0625em) {
  .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: 48.0625em) {
  .medium-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .small-3 {
    width: 25%;
  }
  .medium-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .small-6 {
    width: 50%;
  }
  .medium-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .small-9 {
    width: 75%;
  }
  .medium-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }
  .medium-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }
  .medium-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }
  .medium-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .large-3 {
    width: 25%;
  }
  .medium-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .large-6 {
    width: 50%;
  }
  .medium-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .large-9 {
    width: 75%;
  }
  .medium-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 48.0625em) {
  .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.3333333333%;
  }
  .large-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .small-3 {
    width: 25%;
  }
  .large-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .small-6 {
    width: 50%;
  }
  .large-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .small-9 {
    width: 75%;
  }
  .large-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .medium-3 {
    width: 25%;
  }
  .large-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .medium-6 {
    width: 50%;
  }
  .large-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .medium-9 {
    width: 75%;
  }
  .large-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .large-3 {
    width: 25%;
  }
  .large-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .large-6 {
    width: 50%;
  }
  .large-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .large-9 {
    width: 75%;
  }
  .large-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}

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

@media screen and (min-width: 75em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}

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

@media screen and (min-width: 90.0625em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 90.0625em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxlarge-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% + 1rem);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48.0625em) {
  .medium-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.125rem);
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.3333333333% + 1.125rem);
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.6666666667% + 1.125rem);
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.125rem);
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.3333333333% + 1.125rem);
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.6666666667% + 1.125rem);
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.125rem);
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.3333333333% + 1.125rem);
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.6666666667% + 1.125rem);
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.125rem);
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.3333333333% + 1.125rem);
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.6666666667% + 1.125rem);
  }
}
@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.125rem);
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.3333333333% + 1.125rem);
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.6666666667% + 1.125rem);
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.125rem);
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.3333333333% + 1.125rem);
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.6666666667% + 1.125rem);
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.125rem);
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.3333333333% + 1.125rem);
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.6666666667% + 1.125rem);
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.125rem);
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.3333333333% + 1.125rem);
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.6666666667% + 1.125rem);
  }
}
@media screen and (min-width: 75em) {
  .xlarge-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 1.125rem);
  }
  .xlarge-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.3333333333% + 1.125rem);
  }
  .xlarge-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.6666666667% + 1.125rem);
  }
  .xlarge-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 1.125rem);
  }
  .xlarge-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.3333333333% + 1.125rem);
  }
  .xlarge-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.6666666667% + 1.125rem);
  }
  .xlarge-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 1.125rem);
  }
  .xlarge-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.3333333333% + 1.125rem);
  }
  .xlarge-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.6666666667% + 1.125rem);
  }
  .xlarge-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 1.125rem);
  }
  .xlarge-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.3333333333% + 1.125rem);
  }
  .xlarge-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.6666666667% + 1.125rem);
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 1.125rem);
  }
  .xxlarge-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(8.3333333333% + 1.125rem);
  }
  .xxlarge-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(16.6666666667% + 1.125rem);
  }
  .xxlarge-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(25% + 1.125rem);
  }
  .xxlarge-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(33.3333333333% + 1.125rem);
  }
  .xxlarge-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(41.6666666667% + 1.125rem);
  }
  .xxlarge-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(50% + 1.125rem);
  }
  .xxlarge-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(58.3333333333% + 1.125rem);
  }
  .xxlarge-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(66.6666666667% + 1.125rem);
  }
  .xxlarge-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(75% + 1.125rem);
  }
  .xxlarge-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(83.3333333333% + 1.125rem);
  }
  .xxlarge-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(91.6666666667% + 1.125rem);
  }
}
.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.grid-y > .cell {
  width: auto;
}
.grid-y > .auto {
  height: auto;
}
.grid-y > .shrink {
  height: auto;
}
.grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
  }
}
@media screen and (min-width: 75em) {
  .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
  }
}
@media screen and (min-width: 90.0625em) {
  .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
  }
}
.grid-y > .small-1 {
  height: 8.3333333333%;
}
.grid-y > .small-2 {
  height: 16.6666666667%;
}
.grid-y > .small-3 {
  height: 25%;
}
.grid-y > .small-4 {
  height: 33.3333333333%;
}
.grid-y > .small-5 {
  height: 41.6666666667%;
}
.grid-y > .small-6 {
  height: 50%;
}
.grid-y > .small-7 {
  height: 58.3333333333%;
}
.grid-y > .small-8 {
  height: 66.6666666667%;
}
.grid-y > .small-9 {
  height: 75%;
}
.grid-y > .small-10 {
  height: 83.3333333333%;
}
.grid-y > .small-11 {
  height: 91.6666666667%;
}
.grid-y > .small-12 {
  height: 100%;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-y > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .medium-shrink {
    height: auto;
  }
  .grid-y > .medium-1 {
    height: 8.3333333333%;
  }
  .grid-y > .medium-2 {
    height: 16.6666666667%;
  }
  .grid-y > .medium-3 {
    height: 25%;
  }
  .grid-y > .medium-4 {
    height: 33.3333333333%;
  }
  .grid-y > .medium-5 {
    height: 41.6666666667%;
  }
  .grid-y > .medium-6 {
    height: 50%;
  }
  .grid-y > .medium-7 {
    height: 58.3333333333%;
  }
  .grid-y > .medium-8 {
    height: 66.6666666667%;
  }
  .grid-y > .medium-9 {
    height: 75%;
  }
  .grid-y > .medium-10 {
    height: 83.3333333333%;
  }
  .grid-y > .medium-11 {
    height: 91.6666666667%;
  }
  .grid-y > .medium-12 {
    height: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .large-shrink {
    height: auto;
  }
  .grid-y > .large-1 {
    height: 8.3333333333%;
  }
  .grid-y > .large-2 {
    height: 16.6666666667%;
  }
  .grid-y > .large-3 {
    height: 25%;
  }
  .grid-y > .large-4 {
    height: 33.3333333333%;
  }
  .grid-y > .large-5 {
    height: 41.6666666667%;
  }
  .grid-y > .large-6 {
    height: 50%;
  }
  .grid-y > .large-7 {
    height: 58.3333333333%;
  }
  .grid-y > .large-8 {
    height: 66.6666666667%;
  }
  .grid-y > .large-9 {
    height: 75%;
  }
  .grid-y > .large-10 {
    height: 83.3333333333%;
  }
  .grid-y > .large-11 {
    height: 91.6666666667%;
  }
  .grid-y > .large-12 {
    height: 100%;
  }
}
@media screen and (min-width: 75em) {
  .grid-y > .xlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .xlarge-shrink {
    height: auto;
  }
  .grid-y > .xlarge-1 {
    height: 8.3333333333%;
  }
  .grid-y > .xlarge-2 {
    height: 16.6666666667%;
  }
  .grid-y > .xlarge-3 {
    height: 25%;
  }
  .grid-y > .xlarge-4 {
    height: 33.3333333333%;
  }
  .grid-y > .xlarge-5 {
    height: 41.6666666667%;
  }
  .grid-y > .xlarge-6 {
    height: 50%;
  }
  .grid-y > .xlarge-7 {
    height: 58.3333333333%;
  }
  .grid-y > .xlarge-8 {
    height: 66.6666666667%;
  }
  .grid-y > .xlarge-9 {
    height: 75%;
  }
  .grid-y > .xlarge-10 {
    height: 83.3333333333%;
  }
  .grid-y > .xlarge-11 {
    height: 91.6666666667%;
  }
  .grid-y > .xlarge-12 {
    height: 100%;
  }
}
@media screen and (min-width: 90.0625em) {
  .grid-y > .xxlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-y > .xxlarge-1 {
    height: 8.3333333333%;
  }
  .grid-y > .xxlarge-2 {
    height: 16.6666666667%;
  }
  .grid-y > .xxlarge-3 {
    height: 25%;
  }
  .grid-y > .xxlarge-4 {
    height: 33.3333333333%;
  }
  .grid-y > .xxlarge-5 {
    height: 41.6666666667%;
  }
  .grid-y > .xxlarge-6 {
    height: 50%;
  }
  .grid-y > .xxlarge-7 {
    height: 58.3333333333%;
  }
  .grid-y > .xxlarge-8 {
    height: 66.6666666667%;
  }
  .grid-y > .xxlarge-9 {
    height: 75%;
  }
  .grid-y > .xxlarge-10 {
    height: 83.3333333333%;
  }
  .grid-y > .xxlarge-11 {
    height: 91.6666666667%;
  }
  .grid-y > .xxlarge-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: - 1rem;
  margin-bottom: - 1rem;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-padding-y .grid-padding-y {
    margin-top: - 1.125rem;
    margin-bottom: - 1.125rem;
  }
}
.grid-padding-y > .cell {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-padding-y > .cell {
    padding-top: 1.125rem;
    padding-bottom: 1.125rem;
  }
}

.grid-margin-y {
  margin-top: - 1rem;
  margin-bottom: - 1rem;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-margin-y {
    margin-top: - 1.125rem;
    margin-bottom: - 1.125rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 2rem);
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-margin-y > .cell {
    height: calc(100% - 2.25rem);
    margin-top: 1.125rem;
    margin-bottom: 1.125rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 2rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 2rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 2rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 2rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 2rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 2rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 2rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 2rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 2rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 2rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 2rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 2rem);
}
@media print, screen and (min-width: 48.0625em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2.25rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 2.25rem);
  }
}
@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.3333333333% - 2.25rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 2.25rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 2.25rem);
  }
}
@media screen and (min-width: 90.0625em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 2.25rem);
  }
}

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

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

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

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

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

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

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

.grid-margin-y {
  margin-top: - 1rem;
  margin-bottom: - 1rem;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-margin-y {
    margin-top: - 1.125rem;
    margin-bottom: - 1.125rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 2rem);
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 48.0625em) {
  .grid-margin-y > .cell {
    height: calc(100% - 2.25rem);
    margin-top: 1.125rem;
    margin-bottom: 1.125rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 2rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 2rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 2rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 2rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 2rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 2rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 2rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 2rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 2rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 2rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 2rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 2rem);
}
@media print, screen and (min-width: 48.0625em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2.25rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 2.25rem);
  }
}
@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.3333333333% - 2.25rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 2.25rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 2.25rem);
  }
}
@media screen and (min-width: 90.0625em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.3333333333% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.6666666667% - 2.25rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 2.25rem);
  }
}

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

@media print, screen and (min-width: 48.0625em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 2.25rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 2.25rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 2.25rem);
  }
}
@media screen and (min-width: 90.0625em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 2.25rem);
  }
}
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

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

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

strong,
b {
  font-weight: 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: "Open Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
}
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  line-height: 0;
  color: #cacaca;
}

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

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

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

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

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

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

@media print, screen and (min-width: 48.0625em) {
  h1, .h1 {
    font-size: 1.125rem;
  }
  h2, .h2 {
    font-size: 1.125rem;
  }
  h3, .h3 {
    font-size: 1rem;
  }
  h4, .h4 {
    font-size: 1rem;
  }
  h5, .h5 {
    font-size: 0.875rem;
  }
  h6, .h6 {
    font-size: 0.75rem;
  }
}
a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: #1468a0;
}
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, ul ol, ol ul, 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: #222222;
}

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

abbr, abbr[title] {
  border-bottom: 1px dotted #000000;
  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: #000000;
}

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

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

.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: 48.0625em) {
  .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;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left;
  }
  .xlarge-text-right {
    text-align: right;
  }
  .xlarge-text-center {
    text-align: center;
  }
  .xlarge-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-text-left {
    text-align: left;
  }
  .xxlarge-text-right {
    text-align: right;
  }
  .xxlarge-text-center {
    text-align: center;
  }
  .xxlarge-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 #222222;
    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: 1rem 2rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #ffffff;
}
[data-whatinput=mouse] .button {
  outline: 0;
}
.button:hover, .button:focus {
  background-color: #14679e;
  color: #ffffff;
}
.button.tiny {
  font-size: 0.6rem;
}
.button.small {
  font-size: 0.75rem;
}
.button.large {
  font-size: 1.25rem;
}
.button.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.button.primary {
  background-color: #1779ba;
  color: #ffffff;
}
.button.primary:hover, .button.primary:focus {
  background-color: #126195;
  color: #ffffff;
}
.button.secondary {
  background-color: #000000;
  color: #ffffff;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: black;
  color: #ffffff;
}
.button.success {
  background-color: #3adb76;
  color: #000000;
}
.button.success:hover, .button.success:focus {
  background-color: #22bb5b;
  color: #000000;
}
.button.warning {
  background-color: #ffae00;
  color: #000000;
}
.button.warning:hover, .button.warning:focus {
  background-color: #cc8b00;
  color: #000000;
}
.button.alert {
  background-color: #cc4b37;
  color: #000000;
}
.button.alert:hover, .button.alert:focus {
  background-color: #a53b2a;
  color: #000000;
}
.button.disabled, .button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
  background-color: #1779ba;
  color: #ffffff;
}
.button.disabled.primary, .button[disabled].primary {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
  background-color: #1779ba;
  color: #ffffff;
}
.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: #000000;
  color: #ffffff;
}
.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: #000000;
}
.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: #000000;
}
.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: #000000;
}
.button.hollow {
  border: 2px solid #1779ba;
  color: #1779ba;
}
.button.hollow, .button.hollow:hover, .button.hollow:focus {
  background-color: transparent;
}
.button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: #0c3d5d;
  color: #0c3d5d;
}
.button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
  border: 2px solid #1779ba;
  color: #1779ba;
}
.button.hollow.primary {
  border: 2px solid #1779ba;
  color: #1779ba;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #0c3d5d;
  color: #0c3d5d;
}
.button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
  border: 2px solid #1779ba;
  color: #1779ba;
}
.button.hollow.secondary {
  border: 2px solid #000000;
  color: #000000;
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: black;
  color: black;
}
.button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
  border: 2px solid #000000;
  color: #000000;
}
.button.hollow.success {
  border: 2px 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: 2px solid #3adb76;
  color: #3adb76;
}
.button.hollow.warning {
  border: 2px 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: 2px solid #ffae00;
  color: #ffae00;
}
.button.hollow.alert {
  border: 2px 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: 2px solid #cc4b37;
  color: #cc4b37;
}
.button.clear {
  border: 2px solid #1779ba;
  color: #1779ba;
}
.button.clear, .button.clear:hover, .button.clear:focus {
  background-color: transparent;
}
.button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  background-color: transparent;
}
.button.clear:hover, .button.clear:focus {
  border-color: #0c3d5d;
  color: #0c3d5d;
}
.button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
  border: 2px solid #1779ba;
  color: #1779ba;
}
.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
  border-color: transparent;
}
.button.clear.primary {
  border: 2px solid #1779ba;
  color: #1779ba;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  border-color: #0c3d5d;
  color: #0c3d5d;
}
.button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
  border: 2px solid #1779ba;
  color: #1779ba;
}
.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
  border-color: transparent;
}
.button.clear.secondary {
  border: 2px solid #000000;
  color: #000000;
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  border-color: black;
  color: black;
}
.button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
  border: 2px solid #000000;
  color: #000000;
}
.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: 2px 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: 2px 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: 2px 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: 2px 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: 2px 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: 2px 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: #ffffff transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 2rem;
}
.button.dropdown.hollow::after {
  border-top-color: #1779ba;
}
.button.dropdown.hollow.primary::after {
  border-top-color: #1779ba;
}
.button.dropdown.hollow.secondary::after {
  border-top-color: #000000;
}
.button.dropdown.hollow.success::after {
  border-top-color: #3adb76;
}
.button.dropdown.hollow.warning::after {
  border-top-color: #ffae00;
}
.button.dropdown.hollow.alert::after {
  border-top-color: #cc4b37;
}
.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #ffffff;
  color: #000000;
}
:last-child > .accordion-content:last-child {
  border-bottom: 1px solid #e6e6e6;
}

.accordion-menu li {
  width: 100%;
}
.accordion-menu a {
  padding: 0.7rem 1rem;
}
.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem;
}
.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem;
}
.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba transparent transparent;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 1rem;
}
.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem;
}
.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem;
}
.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

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

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

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

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

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #ffffff;
}
.badge.primary {
  background: #1779ba;
  color: #ffffff;
}
.badge.secondary {
  background: #000000;
  color: #ffffff;
}
.badge.success {
  background: #3adb76;
  color: #000000;
}
.badge.warning {
  background: #ffae00;
  color: #000000;
}
.badge.alert {
  background: #cc4b37;
  color: #000000;
}

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none;
}
.breadcrumbs::before, .breadcrumbs::after {
  display: table;
  content: " ";
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.breadcrumbs::after {
  clear: both;
}
.breadcrumbs li {
  float: left;
  font-size: 0.6875rem;
  color: #000000;
  cursor: default;
  text-transform: uppercase;
}
.breadcrumbs li:not(:last-child)::after {
  position: relative;
  margin: 0 0.75rem;
  opacity: 1;
  content: "/";
  color: #cacaca;
}
.breadcrumbs a {
  color: #1779ba;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs .disabled {
  color: #cacaca;
  cursor: not-allowed;
}

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.button-group::before, .button-group::after {
  display: table;
  content: " ";
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.button-group::after {
  clear: both;
}
.button-group .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 14px;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.button-group .button:last-child {
  margin-right: 0;
}
.button-group.tiny .button {
  font-size: 0.6rem;
}
.button-group.small .button {
  font-size: 0.75rem;
}
.button-group.large .button {
  font-size: 1.25rem;
}
.button-group.expanded .button {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.button-group.primary .button {
  background-color: #1779ba;
  color: #ffffff;
}
.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: #126195;
  color: #ffffff;
}
.button-group.secondary .button {
  background-color: #000000;
  color: #ffffff;
}
.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: black;
  color: #ffffff;
}
.button-group.success .button {
  background-color: #3adb76;
  color: #000000;
}
.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: #22bb5b;
  color: #000000;
}
.button-group.warning .button {
  background-color: #ffae00;
  color: #000000;
}
.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: #cc8b00;
  color: #000000;
}
.button-group.alert .button {
  background-color: #cc4b37;
  color: #000000;
}
.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: #a53b2a;
  color: #000000;
}
.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 48.0625em) {
  .button-group.stacked-for-small .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .button-group.stacked-for-medium .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 48em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }
  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #000000;
}
.callout > :first-child {
  margin-top: 0;
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout.primary {
  background-color: #d7ecfa;
  color: #000000;
}
.callout.secondary {
  background-color: #d9d9d9;
  color: #000000;
}
.callout.success {
  background-color: #e1faea;
  color: #000000;
}
.callout.warning {
  background-color: #fff3d9;
  color: #000000;
}
.callout.alert {
  background-color: #f7e4e1;
  color: #000000;
}
.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}
.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

.card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: none;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
  color: #000000;
}
.card > :last-child {
  margin-bottom: 0;
}

.card-divider {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: none;
  background: #e6e6e6;
}
.card-divider > :last-child {
  margin-bottom: 0;
}

.card-section {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: none;
}
.card-section > :last-child {
  margin-bottom: 0;
}

.card-image {
  min-height: 1px;
}

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

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

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

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

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}
.menu-icon::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #ffffff;
  box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
  content: "";
}
.menu-icon:hover::after {
  background: #cacaca;
  box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
}

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}
.menu-icon.dark::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #000000;
  box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
  content: "";
}
.menu-icon.dark:hover::after {
  background: #222222;
  box-shadow: 0 7px 0 #222222, 0 14px 0 #222222;
}

.is-drilldown {
  position: relative;
  overflow: hidden;
}
.is-drilldown li {
  display: block;
}
.is-drilldown.animate-height {
  transition: height 0.5s;
}

.drilldown a {
  padding: 0.7rem 1rem;
  background: #ffffff;
}
.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear;
}
.drilldown .is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.drilldown .is-drilldown-submenu.is-closing {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.drilldown .is-drilldown-submenu a {
  padding: 0.7rem 1rem;
}
.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%;
}
.drilldown .is-drilldown-submenu-parent > a {
  position: relative;
}
.drilldown .is-drilldown-submenu-parent > a::after {
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba;
}
.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba;
}
.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
}
.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0;
}

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

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

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

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

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}
.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px;
}
.dropdown.menu a {
  padding: 0.7rem 1rem;
}
[data-whatinput=mouse] .dropdown.menu a {
  outline: 0;
}
.dropdown.menu .is-active > a {
  background: transparent;
  color: #1779ba;
}
.no-js .dropdown.menu ul {
  display: none;
}
.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}
.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0;
}
.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}
.dropdown.menu.vertical > li > a::after {
  right: 14px;
}
.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
}
.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba;
}
@media print, screen and (min-width: 48.0625em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent;
  }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba;
  }
}
@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent;
  }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba;
  }
}
@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba;
  }
}
@media screen and (min-width: 90.0625em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: "";
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba;
  }
}
.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

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

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

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

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #ffffff;
}
.label.primary {
  background: #1779ba;
  color: #ffffff;
}
.label.secondary {
  background: #000000;
  color: #ffffff;
}
.label.success {
  background: #3adb76;
  color: #000000;
}
.label.warning {
  background: #ffae00;
  color: #000000;
}
.label.alert {
  background: #cc4b37;
  color: #000000;
}

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
}
.media-object img {
  max-width: none;
}
@media screen and (max-width: 48em) {
  .media-object.stack-for-small {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
@media screen and (max-width: 48em) {
  .media-object.stack-for-small .media-object-section {
    padding: 0;
    padding-bottom: 1rem;
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    max-width: 100%;
  }
  .media-object.stack-for-small .media-object-section img {
    width: 100%;
  }
}

.media-object-section {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}
.media-object-section:first-child {
  padding-right: 1rem;
}
.media-object-section:last-child:not(:nth-child(2)) {
  padding-left: 1rem;
}
.media-object-section > :last-child {
  margin-bottom: 0;
}
.media-object-section.main-section {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

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

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}
.js-off-canvas-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}
.js-off-canvas-overlay.is-closable {
  cursor: pointer;
}
.js-off-canvas-overlay.is-overlay-absolute {
  position: absolute;
}
.js-off-canvas-overlay.is-overlay-fixed {
  position: fixed;
}

.off-canvas-wrapper {
  position: relative;
  overflow: hidden;
}

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6;
}
[data-whatinput=mouse] .off-canvas {
  outline: 0;
}
.off-canvas.is-transition-push {
  z-index: 12;
}
.off-canvas.is-closed {
  visibility: hidden;
}
.off-canvas.is-transition-overlap {
  z-index: 13;
}
.off-canvas.is-transition-overlap.is-open {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}
.off-canvas.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6;
}
[data-whatinput=mouse] .off-canvas-absolute {
  outline: 0;
}
.off-canvas-absolute.is-transition-push {
  z-index: 12;
}
.off-canvas-absolute.is-closed {
  visibility: hidden;
}
.off-canvas-absolute.is-transition-overlap {
  z-index: 13;
}
.off-canvas-absolute.is-transition-overlap.is-open {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}
.off-canvas-absolute.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}
.off-canvas-content .off-canvas.position-left {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}
.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-left.has-transition-push {
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}

.position-left.is-transition-push {
  box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25);
}

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}
.off-canvas-content .off-canvas.position-right {
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}
.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-right.has-transition-push {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}

.position-right.is-transition-push {
  box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25);
}

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}
.off-canvas-content .off-canvas.position-top {
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}
.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-top.has-transition-push {
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}

.position-top.is-transition-push {
  box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25);
}

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}
.off-canvas-content .off-canvas.position-bottom {
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}
.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-bottom.has-transition-push {
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}

.position-bottom.is-transition-push {
  box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25);
}

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

@media print, screen and (min-width: 48.0625em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-medium ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-medium ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-medium ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-medium ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-large ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-large ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-large ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-large ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-xlarge ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-xlarge ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-xlarge ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media screen and (min-width: 90.0625em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-xxlarge ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-xxlarge ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-xxlarge ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit;
  }
  .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
    box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-medium .close-button {
    display: none;
  }
}
@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit;
  }
  .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
    box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-large .close-button {
    display: none;
  }
}
@media screen and (min-width: 75em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit;
  }
  .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
    box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-xlarge .close-button {
    display: none;
  }
}
@media screen and (min-width: 90.0625em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit;
  }
  .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
    box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-xxlarge .close-button {
    display: none;
  }
}
.orbit {
  position: relative;
}

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden;
}

.orbit-slide {
  width: 100%;
}
.orbit-slide.no-motionui.is-active {
  top: 0;
  left: 0;
}

.orbit-figure {
  margin: 0;
}

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.5);
  color: #ffffff;
}

.orbit-next, .orbit-previous {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #ffffff;
}
[data-whatinput=mouse] .orbit-next, [data-whatinput=mouse] .orbit-previous {
  outline: 0;
}
.orbit-next:hover, .orbit-previous:hover, .orbit-next:active, .orbit-previous:active, .orbit-next:focus, .orbit-previous:focus {
  background-color: rgba(0, 0, 0, 0.5);
}

.orbit-previous {
  left: 0;
}

.orbit-next {
  left: auto;
  right: 0;
}

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center;
}
[data-whatinput=mouse] .orbit-bullets {
  outline: 0;
}
.orbit-bullets button {
  width: 1.2rem;
  height: 1.2rem;
  margin: 0.1rem;
  border-radius: 50%;
  background-color: #cacaca;
}
.orbit-bullets button:hover {
  background-color: #222222;
}
.orbit-bullets button.is-active {
  background-color: #222222;
}

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}
.pagination::before, .pagination::after {
  display: table;
  content: " ";
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.pagination::after {
  clear: both;
}
.pagination li {
  margin-right: 0.0625rem;
  border-radius: 0;
  font-size: 0.875rem;
  display: none;
}
.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}
@media print, screen and (min-width: 48.0625em) {
  .pagination li {
    display: inline-block;
  }
}
.pagination a,
.pagination button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0;
  color: #000000;
}
.pagination a:hover,
.pagination button:hover {
  background: #e6e6e6;
}
.pagination .current {
  padding: 0.1875rem 0.625rem;
  background: #1779ba;
  color: #ffffff;
  cursor: default;
}
.pagination .disabled {
  padding: 0.1875rem 0.625rem;
  color: #cacaca;
  cursor: not-allowed;
}
.pagination .disabled:hover {
  background: transparent;
}
.pagination .ellipsis::after {
  padding: 0.1875rem 0.625rem;
  content: "…";
  color: #000000;
}

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: "«";
}

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: "»";
}

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca;
}
.progress.primary .progress-meter {
  background-color: #1779ba;
}
.progress.secondary .progress-meter {
  background-color: #000000;
}
.progress.success .progress-meter {
  background-color: #3adb76;
}
.progress.warning .progress-meter {
  background-color: #ffae00;
}
.progress.alert .progress-meter {
  background-color: #cc4b37;
}

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba;
}

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ffffff;
  white-space: nowrap;
}

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none;
}

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out;
}
.slider-fill.is-dragging {
  transition: all 0s linear;
}

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
[data-whatinput=mouse] .slider-handle {
  outline: 0;
}
.slider-handle:hover {
  background-color: #14679e;
}
.slider-handle.is-dragging {
  transition: all 0s linear;
}

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}
.slider.vertical .slider-fill {
  top: 0;
  width: 0.5rem;
  max-height: 100%;
}
.slider.vertical .slider-handle {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1.4rem;
  height: 1.4rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.sticky-container {
  position: relative;
}

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

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

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

body.is-reveal-open {
  overflow: hidden;
}

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

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

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  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: 48.0625em) {
  .reveal {
    min-height: 0;
  }
}
.reveal .column {
  min-width: 0;
}
.reveal > :last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 48.0625em) {
  .reveal {
    width: 600px;
    max-width: 75rem;
  }
}
.reveal.collapse {
  padding: 0;
}
@media print, screen and (min-width: 48.0625em) {
  .reveal.tiny {
    width: 30%;
    max-width: 75rem;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .reveal.small {
    width: 50%;
    max-width: 75rem;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .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: 48em) {
  .reveal {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0;
  }
}
.reveal.without-overlay {
  position: fixed;
}

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0;
}

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
}
input + .switch-paddle {
  margin: 0;
}
.switch-paddle::after {
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  border-radius: 0;
  background: #ffffff;
  transition: all 0.25s ease-out;
  content: "";
}
input:checked ~ .switch-paddle {
  background: #1779ba;
}
input:checked ~ .switch-paddle::after {
  left: 2.25rem;
}
[data-whatinput=mouse] input:focus ~ .switch-paddle {
  outline: 0;
}

.switch-inactive, .switch-active {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.switch-active {
  left: 8%;
  display: none;
}
input:checked + label > .switch-active {
  display: block;
}

.switch-inactive {
  right: 15%;
}
input:checked + label > .switch-inactive {
  display: none;
}

.switch.tiny {
  height: 1.5rem;
}
.switch.tiny .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem;
}
.switch.tiny .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 1rem;
  height: 1rem;
}
.switch.tiny input:checked ~ .switch-paddle::after {
  left: 1.75rem;
}

.switch.small {
  height: 1.75rem;
}
.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem;
}
.switch.small .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
}
.switch.small input:checked ~ .switch-paddle::after {
  left: 2rem;
}

.switch.large {
  height: 2.5rem;
}
.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem;
}
.switch.large .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 2rem;
  height: 2rem;
}
.switch.large input:checked ~ .switch-paddle::after {
  left: 2.75rem;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}
thead,
tbody,
tfoot {
  border: 1px solid #f2f2f2;
  background-color: #ffffff;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
}

thead {
  background: #f9f9f9;
  color: #000000;
}

tfoot {
  background: #f2f2f2;
  color: #000000;
}

thead tr,
tfoot tr {
  background: transparent;
}
thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #f2f2f2;
}

table.unstriped tbody {
  background-color: #ffffff;
}
table.unstriped tbody tr {
  border-bottom: 0;
  border-bottom: 1px solid #f2f2f2;
  background-color: #ffffff;
}

@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: #f4f4f4;
}
table.hover tfoot tr:hover {
  background-color: #ededed;
}
table.hover tbody tr:hover {
  background-color: #fafafa;
}
table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ededed;
}

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

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #ffffff;
  list-style-type: none;
}
.tabs::before, .tabs::after {
  display: table;
  content: " ";
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.tabs::after {
  clear: both;
}

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto;
}

.tabs.simple > li > a {
  padding: 0;
}
.tabs.simple > li > a:hover {
  background: transparent;
}

.tabs.primary {
  background: #1779ba;
}
.tabs.primary > li > a {
  color: #ffffff;
}
.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: #1673b1;
}

.tabs-title {
  float: left;
}
.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba;
}
.tabs-title > a:hover {
  background: #ffffff;
  color: #1468a0;
}
.tabs-title > a:focus, .tabs-title > a[aria-selected=true] {
  background: #e6e6e6;
  color: #1779ba;
}

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #ffffff;
  color: #000000;
  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;
}

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #ffffff;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  line-height: 0;
}

a.thumbnail {
  transition: box-shadow 200ms ease-out;
}
a.thumbnail:hover, a.thumbnail:focus {
  box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5);
}
a.thumbnail image {
  box-shadow: none;
}

.title-bar {
  padding: 0.5rem;
  background: #000000;
  color: #ffffff;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.title-bar .menu-icon {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.title-bar-left,
.title-bar-right {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

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

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
}

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #222222;
  font-weight: bold;
  cursor: help;
}

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #000000;
  font-size: 80%;
  color: #ffffff;
}
.tooltip::before {
  position: absolute;
}
.tooltip.bottom::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: "";
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #000000;
  bottom: 100%;
}
.tooltip.bottom.align-center::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.tooltip.top::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #000000 transparent transparent;
  top: 100%;
  bottom: auto;
}
.tooltip.top.align-center::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.tooltip.left::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #000000;
  left: 100%;
}
.tooltip.left.align-center::before {
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.tooltip.right::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #000000 transparent transparent;
  right: 100%;
  left: auto;
}
.tooltip.right.align-center::before {
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.tooltip.align-top::before {
  bottom: auto;
  top: 10%;
}
.tooltip.align-bottom::before {
  bottom: 10%;
  top: auto;
}
.tooltip.align-left::before {
  left: 10%;
  right: auto;
}
.tooltip.align-right::before {
  left: auto;
  right: 10%;
}

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.top-bar,
.top-bar ul {
  background-color: #e6e6e6;
}
.top-bar input {
  max-width: 200px;
  margin-right: 1rem;
}
.top-bar .input-group-field {
  width: 100%;
  margin-right: 0;
}
.top-bar input.button {
  width: auto;
}
.top-bar .top-bar-left,
.top-bar .top-bar-right {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}
@media print, screen and (min-width: 48.0625em) {
  .top-bar {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
  .top-bar .top-bar-left {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    margin-right: auto;
  }
  .top-bar .top-bar-right {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 63.9375em) {
  .top-bar.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .top-bar.stacked-for-medium .top-bar-left,
  .top-bar.stacked-for-medium .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 74.9375em) {
  .top-bar.stacked-for-large {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .top-bar.stacked-for-large .top-bar-left,
  .top-bar.stacked-for-large .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 90em) {
  .top-bar.stacked-for-xlarge {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .top-bar.stacked-for-xlarge .top-bar-left,
  .top-bar.stacked-for-xlarge .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
.top-bar.stacked-for-xxlarge {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.top-bar.stacked-for-xxlarge .top-bar-left,
.top-bar.stacked-for-xxlarge .top-bar-right {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

.top-bar-title {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0;
}

.top-bar-left,
.top-bar-right {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important;
  }
}

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

@media screen and (min-width: 75em) and (max-width: 90em) {
  .hide-for-xlarge-only {
    display: none !important;
  }
}

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

@media screen and (min-width: 90.0625em) {
  .hide-for-xxlarge {
    display: none !important;
  }
}

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

@media screen and (min-width: 90.0625em) {
  .hide-for-xxlarge-only {
    display: none !important;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48.0625em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .xxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
}
.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

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

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

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

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

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

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

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

@media print, screen and (min-width: 48.0625em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .xlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (min-width: 90.0625em) {
  .xxlarge-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .xxlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xxlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xxlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xxlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xxlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xxlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xxlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.text-hide {
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important;
}

.text-truncate {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-wrap {
  word-wrap: break-word !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-overline {
  text-decoration: overline !important;
}

.text-underline {
  text-decoration: underline !important;
}

.text-line-through {
  text-decoration: line-through !important;
}

.font-wide {
  letter-spacing: 0.25rem;
}

.font-normal {
  font-weight: normal;
}

.font-bold {
  font-weight: bold;
}

.font-italic {
  font-style: italic !important;
}

ul.list-disc {
  list-style-type: disc !important;
}

ul.list-circle {
  list-style-type: circle !important;
}

ul.list-square {
  list-style-type: square !important;
}

ol.list-decimal {
  list-style-type: decimal !important;
}

ol.list-lower-alpha {
  list-style-type: lower-alpha !important;
}

ol.list-lower-latin {
  list-style-type: lower-latin !important;
}

ol.list-lower-roman {
  list-style-type: lower-roman !important;
}

ol.list-upper-alpha {
  list-style-type: upper-alpha !important;
}

ol.list-upper-latin {
  list-style-type: upper-latin !important;
}

ol.list-upper-roman {
  list-style-type: upper-roman !important;
}

.rounded {
  border-radius: 5000px !important;
}

.radius {
  border-radius: 0.1875rem;
}

.bordered {
  border: 0.0625rem solid #cacaca;
}

.shadow {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.arrow-down {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #000000 transparent transparent;
}

.arrow-up {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: "";
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #000000;
}

.arrow-right {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #000000;
}

.arrow-left {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #000000 transparent transparent;
}

.separator-center {
  text-align: center !important;
}
.separator-center::before, .separator-center::after {
  display: table;
  content: " ";
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.separator-center::after {
  clear: both;
}
.separator-center::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #1779ba;
  margin: 1rem auto 0;
}

.separator-left {
  text-align: left !important;
}
.separator-left::before, .separator-left::after {
  display: table;
  content: " ";
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.separator-left::after {
  clear: both;
}
.separator-left::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #1779ba;
  margin: 1rem auto 0;
  margin-left: 0 !important;
}

.separator-right {
  text-align: right !important;
}
.separator-right::before, .separator-right::after {
  display: table;
  content: " ";
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.separator-right::after {
  clear: both;
}
.separator-right::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #1779ba;
  margin: 1rem auto 0;
  margin-right: 0 !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.display-inline {
  display: inline !important;
}

.display-inline-block {
  display: inline-block !important;
}

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

.display-table {
  display: table !important;
}

.display-table-cell {
  display: table-cell !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975;
}

.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975;
}

.border-box {
  box-sizing: border-box !important;
}

.border-none {
  border: none !important;
}

.width-25 {
  width: 25% !important;
}

.width-50 {
  width: 50% !important;
}

.width-75 {
  width: 75% !important;
}

.width-100 {
  width: 100% !important;
}

.height-25 {
  height: 25% !important;
}

.height-50 {
  height: 50% !important;
}

.height-75 {
  height: 75% !important;
}

.height-100 {
  height: 100% !important;
}

.max-width-100 {
  max-width: 100% !important;
}

.max-height-100 {
  max-height: 100% !important;
}

.margin-0 {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-0 {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-top-0 {
  margin-top: 0rem !important;
}

.padding-top-0 {
  padding-top: 0rem !important;
}

.margin-right-0 {
  margin-right: 0rem !important;
}

.padding-right-0 {
  padding-right: 0rem !important;
}

.margin-bottom-0 {
  margin-bottom: 0rem !important;
}

.padding-bottom-0 {
  padding-bottom: 0rem !important;
}

.margin-left-0 {
  margin-left: 0rem !important;
}

.padding-left-0 {
  padding-left: 0rem !important;
}

.margin-horizontal-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-horizontal-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.margin-vertical-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-vertical-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-1 {
  margin-top: 1rem !important;
  margin-right: 1rem !important;
  margin-bottom: 1rem !important;
  margin-left: 1rem !important;
}

.padding-1 {
  padding-top: 1rem !important;
  padding-right: 1rem !important;
  padding-bottom: 1rem !important;
  padding-left: 1rem !important;
}

.margin-top-1 {
  margin-top: 1rem !important;
}

.padding-top-1 {
  padding-top: 1rem !important;
}

.margin-right-1 {
  margin-right: 1rem !important;
}

.padding-right-1 {
  padding-right: 1rem !important;
}

.margin-bottom-1 {
  margin-bottom: 1rem !important;
}

.padding-bottom-1 {
  padding-bottom: 1rem !important;
}

.margin-left-1 {
  margin-left: 1rem !important;
}

.padding-left-1 {
  padding-left: 1rem !important;
}

.margin-horizontal-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.margin-vertical-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.margin-2 {
  margin-top: 2rem !important;
  margin-right: 2rem !important;
  margin-bottom: 2rem !important;
  margin-left: 2rem !important;
}

.padding-2 {
  padding-top: 2rem !important;
  padding-right: 2rem !important;
  padding-bottom: 2rem !important;
  padding-left: 2rem !important;
}

.margin-top-2 {
  margin-top: 2rem !important;
}

.padding-top-2 {
  padding-top: 2rem !important;
}

.margin-right-2 {
  margin-right: 2rem !important;
}

.padding-right-2 {
  padding-right: 2rem !important;
}

.margin-bottom-2 {
  margin-bottom: 2rem !important;
}

.padding-bottom-2 {
  padding-bottom: 2rem !important;
}

.margin-left-2 {
  margin-left: 2rem !important;
}

.padding-left-2 {
  padding-left: 2rem !important;
}

.margin-horizontal-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}

.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}

.margin-vertical-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.margin-3 {
  margin-top: 3rem !important;
  margin-right: 3rem !important;
  margin-bottom: 3rem !important;
  margin-left: 3rem !important;
}

.padding-3 {
  padding-top: 3rem !important;
  padding-right: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 3rem !important;
}

.margin-top-3 {
  margin-top: 3rem !important;
}

.padding-top-3 {
  padding-top: 3rem !important;
}

.margin-right-3 {
  margin-right: 3rem !important;
}

.padding-right-3 {
  padding-right: 3rem !important;
}

.margin-bottom-3 {
  margin-bottom: 3rem !important;
}

.padding-bottom-3 {
  padding-bottom: 3rem !important;
}

.margin-left-3 {
  margin-left: 3rem !important;
}

.padding-left-3 {
  padding-left: 3rem !important;
}

.margin-horizontal-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.margin-vertical-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity;
}

.fade-in.mui-enter.mui-enter-active {
  opacity: 1;
}

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity;
}

.fade-out.mui-leave.mui-leave-active {
  opacity: 0;
}

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0;
}

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0;
}

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0;
}

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0;
}

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0;
}

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0;
}

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0;
}

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0;
}

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 1;
}

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0;
}

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 1;
}

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0;
}

.slow {
  transition-duration: 750ms !important;
}

.fast {
  transition-duration: 250ms !important;
}

.linear {
  transition-timing-function: linear !important;
}

.ease {
  transition-timing-function: ease !important;
}

.ease-in {
  transition-timing-function: ease-in !important;
}

.ease-out {
  transition-timing-function: ease-out !important;
}

.ease-in-out {
  transition-timing-function: ease-in-out !important;
}

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
  transition-delay: 300ms !important;
}

.long-delay {
  transition-delay: 700ms !important;
}

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7;
}
@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%);
  }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%);
  }
}
@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%);
  }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%);
  }
}

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn;
}
@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn;
}
@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg;
}
@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg);
  }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg);
  }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg);
  }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg);
  }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms;
}

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important;
}

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important;
}

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important;
}

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important;
}

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important;
}

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important;
}

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important;
}

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important;
}

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important;
}

html,
body {
  font-variant-ligatures: none;
}

* {
  font-feature-settings: "palt";
  -webkit-font-kerning: normal;
          font-kerning: normal;
  letter-spacing: 0.16em;
}

h1 {
  font-weight: 700;
}

h2 {
  font-size: 20px;
}

p {
  font-size: 12px;
  line-height: 1.66667;
}
@media print, screen and (min-width: 48.0625em) {
  p {
    font-size: 14px;
    line-height: 2;
  }
}

li {
  font-size: 12px;
  line-height: 1.66667;
}
@media print, screen and (min-width: 48.0625em) {
  li {
    font-size: 14px;
    line-height: 2;
  }
}

a {
  transition: opacity 0.5s ease-out;
  color: #000000;
}
a:hover, a:active, a:visited {
  color: #000000;
}
a:hover {
  opacity: 0.6;
}

button,
.button {
  font-weight: 700;
  transition: opacity 0.5s ease-out;
  line-height: 1.2;
}
button:hover,
.button:hover {
  opacity: 0.5;
}

.margin-bottom-70 {
  margin-bottom: 70px;
}

@media screen and (max-width: 48em) {
  .grid-container.full {
    margin-right: calc(10vw - 32px / 2);
    margin-left: calc(10vw - 32px / 2);
  }
}
@media print, screen and (min-width: 48.0625em) {
  .grid-container.full {
    margin-right: calc(10vw - 36px / 2);
    margin-left: calc(10vw - 36px / 2);
  }
}

.iframe-wrap {
  padding-top: 50vw;
  position: relative;
  background-color: #e5e3df;
}
.iframe-wrap.youtube {
  padding-top: 56.25%;
}
.iframe-wrap.uttzs {
  padding-top: 56.25%;
}
@media print, screen and (min-width: 48.0625em) {
  .iframe-wrap {
    padding-top: 25vw;
  }
}
.iframe-wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

video {
  width: 100%;
  height: auto;
  display: block;
}

.loading {
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.image-group {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 48.0625em) {
  .image-group {
    margin-bottom: 80px;
  }
}
.image-group img + img,
.image-group img + video,
.image-group video + img,
.image-group video + video {
  margin-top: 30px;
}
@media print, screen and (min-width: 48.0625em) {
  .image-group img + img,
  .image-group img + video,
  .image-group video + img,
  .image-group video + video {
    margin-top: 80px;
  }
}

body #content-wrap {
  display: block;
  opacity: 0;
  transition: opacity 1s ease-out;
}
#loader {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #ffffff;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 10000;
}
#loader.load-anim::after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  margin: -30px 0 0 -30px;
  pointer-events: none;
  border-radius: 50%;
  opacity: 0.4;
  background: #000000;
  -webkit-animation: loaderAnim 0.7s linear infinite alternate forwards;
          animation: loaderAnim 0.7s linear infinite alternate forwards;
}

body.render {
  overflow: visible;
}
body.render #content-wrap {
  opacity: 1;
}
body.render #loader {
  display: none;
}

@-webkit-keyframes loaderAnim {
  to {
    opacity: 1;
    -webkit-transform: scale3d(0.5, 0.5, 1);
            transform: scale3d(0.5, 0.5, 1);
  }
}

@keyframes loaderAnim {
  to {
    opacity: 1;
    -webkit-transform: scale3d(0.5, 0.5, 1);
            transform: scale3d(0.5, 0.5, 1);
  }
}
.open {
  cursor: pointer;
}
.open img {
  transition: 0.3s;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.open img:hover {
  transition: 0.3s;
  -webkit-transform: scale(1.05, 1.05);
          transform: scale(1.05, 1.05);
}

#pop-up_1 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_1:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_2 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_2:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_3 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_3:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_4 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_4:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_5 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_5:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_6 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_6:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_7 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_7:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_8 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_8:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_9 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_9:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_10 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_10:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_11 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_11:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_12 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_12:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_13 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_13:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_14 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_14:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_15 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_15:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_16 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_16:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_17 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_17:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_18 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_18:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_19 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_19:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_20 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_20:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_21 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_21:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_22 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_22:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_23 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_23:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_24 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_24:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_25 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_25:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_26 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_26:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_27 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_27:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_28 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_28:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_29 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_29:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

#pop-up_30 {
  display: none;
}

.overlay {
  display: none;
}

#pop-up_30:checked + .overlay {
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.8);
  margin: 0 0;
}

.window {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 90vw;
  max-width: 360px;
  padding: 20px;
  height: auto;
  max-height: 80vh;
  overflow-y: scroll;
  background-color: #fff;
  border-radius: 4px;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.close {
  top: 0;
  right: 20px;
  position: -webkit-sticky;
  position: sticky;
  font-size: 20pt;
  text-align: right;
  cursor: pointer;
}

.card {
  margin-bottom: 17px;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}
@media print, screen and (min-width: 48.0625em) {
  .card {
    margin-bottom: 30px;
  }
}
.small-column-2 .card {
  margin-bottom: 11px;
}
@media print, screen and (min-width: 48.0625em) {
  .small-column-2 .card {
    margin-bottom: 20px;
  }
}
.card-image {
  overflow: hidden;
}
.card-image img {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
a:hover .card-image img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.card-record {
  overflow: hidden;
}
.card-record img {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
a:hover .card-record img {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.card .card-section {
  margin-top: 10px;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 48.0625em) {
  .card .card-section {
    margin-top: 17px;
    margin-bottom: 17px;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .card .card-section {
    font-size: 18px;
    line-height: 1.5555555556;
  }
}
.small-column-2 .card .card-section {
  margin-top: 5px;
  margin-bottom: 5px;
}
@media print, screen and (min-width: 48.0625em) {
  .small-column-2 .card .card-section {
    margin-top: 21px;
    margin-bottom: 21px;
  }
}
.card .card-section + p {
  font-size: 12px;
  line-height: 1.375;
}
.card .card-section h4 {
  margin-bottom: 2px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.375;
}
@media print, screen and (min-width: 48.0625em) {
  .card .card-section h4 {
    font-size: 18px;
  }
}
.card .card-section h4 + p {
  font-size: 12px;
  line-height: 1.6;
}
.small-column-2 .card .card-section h4 {
  margin-bottom: 0;
  font-size: 10px;
  line-height: 1.4;
}
@media print, screen and (min-width: 48.0625em) {
  .small-column-2 .card .card-section h4 {
    margin-bottom: 8px;
    font-size: 14px;
    letter-spacing: 2px;
  }
}
.small-column-2 .card .card-section h4 + p {
  font-size: 10px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 1px;
}
@media print, screen and (min-width: 48.0625em) {
  .small-column-2 .card .card-section h4 + p {
    font-size: 14px;
    letter-spacing: 2px;
  }
}

@media print, screen and (min-width: 48.0625em) {
  .vw10 {
    margin-right: 6.6vw;
    margin-left: 6.6vw;
  }
}
@media print, screen and (min-width: 64em) {
  .vw10 {
    margin-right: 10vw;
    margin-left: 10vw;
  }
}

@media print, screen and (min-width: 48.0625em) {
  .vw15 {
    margin-right: 10vw;
    margin-left: 10vw;
  }
}
@media print, screen and (min-width: 64em) {
  .vw15 {
    margin-right: 15vw;
    margin-left: 15vw;
  }
}

footer {
  padding-top: 25px;
  padding-bottom: 35px;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}
@media print, screen and (min-width: 48.0625em) {
  footer {
    padding-top: 70px;
    padding-bottom: 60px;
  }
}
footer h2 {
  margin-bottom: 17px;
  font-size: 18px;
}
@media print, screen and (min-width: 48.0625em) {
  footer h2 {
    font-size: 20px;
  }
}
footer ul {
  margin: 0;
  list-style: none;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
footer ul.sns-btn {
  margin-bottom: 14px;
  font-size: 23px;
}
footer ul.sns-btn li a {
  padding: 8px;
}
footer ul.footer-navi {
  margin-bottom: 25px;
  font-size: 12px;
}
@media screen and (max-width: 48em) {
  footer ul.footer-navi {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
footer ul.footer-navi li a {
  padding: 5px 12px;
  color: #222222;
  display: inline-block;
  line-height: 120%;
}
footer ul.footer-navi li a img.external-icon {
  width: 8px;
  height: 8px;
  margin-left: 1px;
}
footer p.copy-right {
  margin: 0;
  font-size: 10px;
}

@media screen and (orientation: portrait) {
  header.full-kv-false {
    margin-bottom: 49.6875vw;
  }
}
@media screen and (orientation: landscape) {
  header.full-kv-false {
    margin-bottom: 49.6875vh;
  }
}
@media print, screen and (min-width: 48.0625em) {
  header.full-kv-false {
    margin-bottom: 14.7222222222vw;
  }
}
@media screen and (max-width: 48em) {
  header.full-kv-false {
    margin-bottom: 20.0555555556vh;
  }
}
@media screen and (max-width: 48em) and (orientation: landscape) {
  header.full-kv-false.content-overlap {
    margin-bottom: 12.6666666667vw;
  }
}
@media print, screen and (min-width: 48.0625em) {
  header.full-kv-false.content-overlap {
    margin-bottom: 12.6666666667vw;
  }
}
header #header-line {
  margin-top: 0vw;
  width: 100%;
  height: 14.5vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001;
  transition: background-color 0.4s ease-out;
}
@media screen and (orientation: landscape) and (max-width: 48em) {
  header #header-line {
    height: calc(8.5vw + 6vh);
  }
}
@media print, screen and (min-width: 48.0625em) {
  header #header-line {
    height: 6vw;
  }
}
@media print, screen and (min-width: 64em) {
  header #header-line {
    height: 5vw;
  }
}
.scrolled header #header-line {
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  transition-delay: 0.2s;
}
header #panasonic-logo {
  position: fixed;
  top: 1.8vw;
  left: 10vw;
  width: 29.75vw;
  height: 6vw;
  z-index: 2220;
}
.scrolled header #panasonic-logo {
  -webkit-transform: translateY(-300px);
          transform: translateY(-300px);
  transition-delay: 0.2s;
}
@media screen and (orientation: portrait) {
  header #panasonic-logo {
    width: 29.75vw;
    height: 6vw;
  }
}
@media screen and (orientation: landscape) {
  header #panasonic-logo {
    width: 29.75vh;
    height: 6vw;
  }
}
@media print, screen and (min-width: 48.0625em) {
  header #panasonic-logo {
    width: 10.5vw;
    height: 6vw;
  }
}
@media screen and (max-width: 48em) {
  header #panasonic-logo {
    width: 21vw;
    height: 10vw;
  }
}
.elm-white header #panasonic-logo {
  fill: #ffffff;
}
.scrolled.elm-white header #panasonic-logo {
  fill: #000000 !important;
}
.elm-black header #panasonic-logo {
  fill: #000000;
}
header #logo-wrap {
  position: absolute;
  z-index: 1000;
  top: 0.0625vw;
  right: 9.375vw;
  transition: top 0.4s ease-out, -webkit-transform 0.4s ease-out;
  transition: transform 0.4s ease-out, top 0.4s ease-out;
  transition: transform 0.4s ease-out, top 0.4s ease-out, -webkit-transform 0.4s ease-out;
}
@media screen and (orientation: landscape) and (max-width: 48em) {
  header #logo-wrap {
    top: 0.0625vh;
    right: 6.25vh;
  }
}
@media print, screen and (min-width: 48.0625em) {
  header #logo-wrap {
    top: -0.7548611111vw;
    right: 8.6805555556vw;
  }
}
header #logo-wrap a {
  transition: opacity 0.3s ease-out;
  display: block;
}
header #logo-wrap a svg {
  vertical-align: top;
}
header #logo-wrap a:hover {
  opacity: 0.5;
}
header #nav-wrap {
  position: absolute;
  top: 7vw;
  left: 9.4vw;
  z-index: 1000;
  font-size: 10px;
  overflow: hidden;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  transition: top 0.4s ease-out, -webkit-transform 0.4s ease-out;
  transition: transform 0.4s ease-out, top 0.4s ease-out;
  transition: transform 0.4s ease-out, top 0.4s ease-out, -webkit-transform 0.4s ease-out;
}
@media all and (-ms-high-contrast: none) {
  header #nav-wrap {
    transition: none;
  }
}
@media print, screen and (min-width: 64em) {
  header #nav-wrap {
    font-size: 13px;
  }
}
.scrolled header #nav-wrap {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  transition-delay: 0.2s;
  -ms-transition-delay: 0.2s;
}
#global-nav,
#lang-nav {
  position: relative;
}
#global-nav > span,
#lang-nav > span {
  height: 2px;
  width: 90px;
  background: black;
  position: absolute;
  top: 50%;
  left: -400px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  transition: background 0.5s ease-out;
}
.elm-white #global-nav > span,
.elm-white #lang-nav > span {
  background: white;
}
.scrolled.elm-white #global-nav > span,
.scrolled.elm-white #lang-nav > span {
  background: black;
  transition-delay: 0.2s;
}
#global-nav ul,
#lang-nav ul {
  margin: 0;
  list-style: none;
  overflow: hidden;
}
#global-nav ul li,
#lang-nav ul li {
  margin: 0 6px;
  display: inline-block;
  transition: color 0.5s ease-out;
}
.elm-white #global-nav ul li,
.elm-white #lang-nav ul li {
  color: white;
}
#global-nav ul li a,
#lang-nav ul li a {
  padding: 10px 1vw;
  color: black;
  position: relative;
  transition: color 0.5s ease-out;
  letter-spacing: 0.24em;
  display: inline-block;
}
@media screen and (min-width: 75em) {
  #global-nav ul li a,
  #lang-nav ul li a {
    padding: 10px 2vw;
  }
}
#global-nav ul li a.current,
#lang-nav ul li a.current {
  cursor: default;
}
.elm-white #global-nav ul li a,
.elm-white #lang-nav ul li a {
  color: white;
}
.scrolled.elm-white #global-nav ul li a,
.scrolled.elm-white #lang-nav ul li a {
  color: black;
  transition-delay: 0.2s;
}
#global-nav ul li.language―switcher a,
#lang-nav ul li.language―switcher a {
  padding-right: 5px;
  padding-left: 5px;
}

#lang-nav {
  margin-left: 10px;
  font-size: 9px;
}
@media print, screen and (min-width: 64em) {
  #lang-nav {
    margin-left: 16px;
    font-size: 12px;
  }
}

#global-nav-sp #navi-list {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1100;
  background-color: rgba(0, 0, 0, 0.8);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out, opacity 0.2s ease-out;
  transition: transform 0.2s ease-out, opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
}
#global-nav-sp #navi-list.menu-hide {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  opacity: 0;
}
#global-nav-sp #navi-list.menu-hide ul {
  -webkit-transform: translateX(-5vh);
          transform: translateX(-5vh);
  opacity: 0;
}
#global-nav-sp ul {
  margin: 0;
  list-style: none;
  font-size: 5.625vw;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
  transition: opacity 0.5s ease-out 0.4s, -webkit-transform 0.4s ease-out 0.3s;
  transition: transform 0.4s ease-out 0.3s, opacity 0.5s ease-out 0.4s;
  transition: transform 0.4s ease-out 0.3s, opacity 0.5s ease-out 0.4s, -webkit-transform 0.4s ease-out 0.3s;
}
@media screen and (orientation: portrait) {
  #global-nav-sp ul {
    font-size: 5.625vw;
  }
}
@media screen and (orientation: landscape) {
  #global-nav-sp ul {
    font-size: 5.625vh;
  }
}
#global-nav-sp ul li {
  color: #ffffff;
}
#global-nav-sp ul li a {
  padding: 5px 10px;
  color: #ffffff;
  position: relative;
  display: inline-block;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  overflow: hidden;
  vertical-align: middle;
}
#global-nav-sp ul li a.current::before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #ffffff;
  top: 50%;
  left: 50%;
  position: absolute;
  display: block;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#global-nav-sp ul li:last-child {
  margin-top: 20px;
}

#menu-btn {
  position: absolute;
  top: 8vw;
  left: 10vw;
  z-index: 1200;
  transition: top 0.4s ease-out, -webkit-transform 0.4s ease-out;
  transition: transform 0.4s ease-out, top 0.4s ease-out;
  transition: transform 0.4s ease-out, top 0.4s ease-out, -webkit-transform 0.4s ease-out;
}
.scrolled #menu-btn {
  top: 50%;
  -webkit-transform: translateY(-80%);
          transform: translateY(-80%);
  transition-delay: 0.2s;
}
#menu-btn a {
  width: 20px;
  height: 20px;
  display: block;
  padding: 0;
  margin-top: 8vw;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  box-sizing: content-box;
}
@media screen and (max-width: 48em) and (orientation: landscape) {
  #menu-btn a {
    padding: 0;
    margin-top: 8vw;
  }
}
@media print, screen and (min-width: 48.0625em) {
  #menu-btn a:hover #menu-icon::before {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  #menu-btn a:hover #menu-icon::after {
    left: auto;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
}

#menu-icon {
  width: 20px;
  height: 1px;
  position: relative;
  background: #000000;
  -webkit-transform: translate(0, 4px);
          transform: translate(0, 4px);
  transition: background 0.5s ease-out, -webkit-transform 0.1s ease-out;
  transition: background 0.5s ease-out, transform 0.1s ease-out;
  transition: background 0.5s ease-out, transform 0.1s ease-out, -webkit-transform 0.1s ease-out;
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
}
#menu-icon::before, #menu-icon::after {
  content: "";
  height: 1px;
  display: block;
  background: #000000;
  left: 0;
  position: absolute;
}
.elm-white #menu-icon::before, .elm-white #menu-icon::after {
  background: #ffffff;
}
.scrolled.elm-white #menu-icon::before, .scrolled.elm-white #menu-icon::after {
  background: #000000;
  transition-delay: 0.2s;
}
#menu-icon::before {
  width: 15px;
  bottom: -5px;
  transition: background 0.5s ease-out, -webkit-transform 0.05s ease-out;
  transition: background 0.5s ease-out, transform 0.05s ease-out;
  transition: background 0.5s ease-out, transform 0.05s ease-out, -webkit-transform 0.05s ease-out;
}
#menu-icon::after {
  width: 10px;
  bottom: -10px;
  transition: background 0.5s ease-out, width 0.5s ease-out, bottom 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: background 0.5s ease-out, transform 0.5s ease-out, width 0.5s ease-out, bottom 0.5s ease-out;
  transition: background 0.5s ease-out, transform 0.5s ease-out, width 0.5s ease-out, bottom 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
#menu-icon.close {
  -webkit-transform: rotate(-45deg) translate(-4px, -1px);
          transform: rotate(-45deg) translate(-4px, -1px);
  background-color: #ffffff;
}
#menu-icon.close::before {
  bottom: 0;
  width: 20px;
  -webkit-transform: rotate(90deg) translateX(0) !important;
          transform: rotate(90deg) translateX(0) !important;
  background-color: #ffffff;
}
#menu-icon.close::after {
  left: auto;
  opacity: 0;
  background-color: #ffffff;
}
.elm-white #menu-icon {
  background: #ffffff;
}
.scrolled.elm-white #menu-icon {
  background: #000000;
  transition-delay: 0.2s;
}
#menu-icon span {
  display: none;
}

svg#logo {
  vertical-align: bottom;
  margin-top: 4.2vw;
  width: 74.375vw;
  height: 5.0027750965vw;
}
@media screen and (orientation: portrait) {
  svg#logo {
    width: 74.375vw;
    height: 5.0027750965vw;
  }
}
@media screen and (orientation: landscape) {
  svg#logo {
    width: 74.375vh;
    height: 5.0027750965vh;
  }
}
@media print, screen and (min-width: 48.0625em) {
  svg#logo {
    width: 21.6vw;
    height: 2.0929054054vw;
  }
}
.scrolled svg#logo {
  margin-top: 2vw;
  height: 5.0027750965vh;
}
@media screen and (orientation: portrait) {
  .scrolled svg#logo {
    margin-top: 2vw;
    height: 5.0027750965vh;
  }
}
@media screen and (orientation: landscape) {
  .scrolled svg#logo {
    margin-top: 2vw;
    height: 5.0027750965vh;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .scrolled svg#logo {
    margin-top: 2vw;
    height: 2.0929054054vw;
    transition-delay: 0.2s;
  }
}
.elm-white svg#logo {
  fill: #ffffff;
}
.scrolled.elm-white svg#logo {
  fill: #000000 !important;
}
.elm-black svg#logo {
  fill: #000000;
}

svg#logo-sp {
  vertical-align: top;
  margin-top: 1rem;
  width: 72.25vw;
  height: 50.0277509653vw;
}
@media screen and (max-width: 48em) {
  svg#logo-sp {
    margin-top: 1rem;
    width: 25.5vw;
    height: 17.6568532819vw;
  }
}
@media screen and (max-width: 48em) {
  .scrolled svg#logo-sp {
    height: 8.8284266409vw;
  }
}
.elm-white svg#logo-sp {
  fill: #ffffff;
}
.scrolled.elm-white svg#logo-sp {
  fill: #000000 !important;
}
.elm-black svg#logo-sp {
  fill: #000000;
}

#kv-area {
  height: 66.6666666667vh;
  overflow: hidden;
  position: relative;
  background-color: #eee;
}
@media print, screen and (min-width: 48.0625em) {
  #kv-area {
    height: 80vh;
  }
}
#kv-area img:not(.not-main),
#kv-area video {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
}
#kv-area.vertical-fit img:not(.not-main),
#kv-area.vertical-fit video {
  height: 100%;
  width: auto;
  max-width: none;
}
#kv-area.horizontal-fit img:not(.not-main),
#kv-area.horizontal-fit video {
  height: auto;
  width: 100%;
  max-width: 100%;
}
#kv-area.full-height {
  height: 100vh;
}
#kv-area .floating--center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 50%;
  height: auto;
}
@media print, screen and (min-width: 48.0625em) {
  #kv-area .floating--center {
    width: 30%;
  }
}
#kv-area #kv-description {
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: relative;
  text-align: center;
}
#kv-area #kv-description p {
  font-weight: 700;
  margin-bottom: 0;
}
@media screen and (orientation: portrait) {
  #kv-area #kv-description p {
    font-size: 1.25vh;
  }
}
@media screen and (orientation: landscape) {
  #kv-area #kv-description p {
    font-size: 1.25vw;
  }
}
#kv-area #kv-description p.font-middle {
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media screen and (orientation: portrait) {
  #kv-area #kv-description p.font-middle {
    font-size: 2.5vh;
  }
}
@media screen and (orientation: landscape) {
  #kv-area #kv-description p.font-middle {
    font-size: 2.5vw;
  }
}
@media screen and (orientation: portrait) {
  #kv-area #kv-description p.font-large {
    font-size: 2.2222222222vh;
  }
}
@media screen and (orientation: landscape) {
  #kv-area #kv-description p.font-large {
    font-size: 2.2222222222vw;
  }
}
#kv-area .img-pc {
  display: none;
}
@media screen and (min-width: 48.0625em) {
  #kv-area .img-sp {
    display: none;
  }
  #kv-area .img-pc {
    display: block;
  }
}
#kv-area .vertical_logo {
  height: 40vh !important;
  width: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#kv-area .horizontal_logo {
  height: auto !important;
  width: 60vw !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media print, screen and (min-width: 48.0625em) {
  #kv-full-small-only {
    margin: 0 20vw;
  }
}

body.works .page-navi {
  height: 100vh;
  position: fixed;
  font-size: 12px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-align: center;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.8s ease-out 0.5s;
}
.render .page-navi {
  opacity: 1;
}
.page-navi.next {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  left: calc(5vw - 4px);
}
.page-navi.prev {
  right: calc(5vw - 4px);
}
.page-navi a {
  padding: 20px;
  color: #000000;
  transition: opacity 0.3s ease-out;
}
.elm-white .page-navi a {
  color: #ffffff;
}
.scrolled.elm-white .page-navi a {
  color: #000000;
  transition: opacity 0.3s ease-out, color 0.5s ease-out 0.2s;
}
.page-navi a:hover {
  opacity: 0.5;
}
.page-navi a span {
  font-weight: 700;
}

@media print, screen and (min-width: 48.0625em) {
  .read p {
    text-align: justify;
  }
}

a.read-more {
  color: #000000;
  font-weight: 700;
  display: inline-block;
}

.main-title h1, .second-title h1,
.main-title h2,
.second-title h2 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 700;
}
@media print, screen and (min-width: 48.0625em) {
  .main-title h1, .second-title h1,
  .main-title h2,
  .second-title h2 {
    margin-bottom: 12px;
    font-size: 24px;
  }
}
.main-title h1 + p, .second-title h1 + p,
.main-title h2 + p,
.second-title h2 + p {
  margin-bottom: 30px;
  font-size: 14px;
  line-height: 16px;
  font-weight: 700;
}
@media print, screen and (min-width: 48.0625em) {
  .main-title h1 + p, .second-title h1 + p,
  .main-title h2 + p,
  .second-title h2 + p {
    margin-bottom: 45px;
    font-size: 18px;
    line-height: 24px;
  }
}
.main-title p, .second-title p {
  font-size: 10px;
  text-transform: uppercase;
}
@media screen and (max-width: 48em) {
  .main-title p, .second-title p {
    margin-bottom: 12px;
    line-height: 16px;
  }
}
@media print, screen and (min-width: 48.0625em) {
  .main-title p, .second-title p {
    font-size: 12px;
  }
}
.main-title .reddot, .second-title .reddot {
  width: 27.1875vw;
  height: auto;
  margin: 0.625rem 0 0.9375rem;
  display: inline-block;
}
@media print, screen and (min-width: 48.0625em) {
  .main-title .reddot, .second-title .reddot {
    width: 116px;
    height: auto;
    margin: 1.25rem 0 2.1875rem;
  }
}
.main-title .acc, .second-title .acc {
  width: 27.1875vw;
  height: auto;
  margin: 0.625rem 0 0.9375rem;
  display: inline-block;
}
@media print, screen and (min-width: 48.0625em) {
  .main-title .acc, .second-title .acc {
    width: 116px;
    height: auto;
    margin: 1.25rem 0 2.1875rem;
  }
}

#canvasParentElement {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
}
#canvasParentElement canvas {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100vh;
  -webkit-transform: translate(-50%, -50%) scale(1.2);
          transform: translate(-50%, -50%) scale(1.2);
}
#text-contents {
  width: 100%;
  left: 10vw;
  bottom: calc(10vw - 8px);
  position: absolute;
  z-index: 99;
}
@media screen and (max-width: 48em) and (orientation: landscape) {
  #text-contents {
    left: 5vw;
    bottom: calc(5vw - 8px);
  }
}
@media print, screen and (min-width: 48.0625em) {
  #text-contents {
    bottom: calc(5vw - 7px);
  }
}
#text-contents * {
  transition: color 0.5s ease-out;
  color: #000000;
}
.elm-white #text-contents * {
  color: #ffffff;
}
#text-contents .text-content {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 1;
}
#text-contents .text-content h1 {
  margin-left: -10px;
  opacity: 0;
  font-size: 5.625vw;
  font-weight: 700;
  margin-bottom: 0;
}
@media screen and (orientation: portrait) {
  #text-contents .text-content h1 {
    font-size: 5.625vw;
  }
}
@media screen and (orientation: landscape) {
  #text-contents .text-content h1 {
    font-size: 5.625vh;
  }
}
@media print, screen and (min-width: 48.0625em) {
  #text-contents .text-content h1 {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    font-size: 24px;
  }
}
#text-contents .text-content h1 .reddot {
  width: 27.1875vw;
  margin-bottom: 0.9375rem;
  height: auto;
  display: block;
}
@media print, screen and (min-width: 48.0625em) {
  #text-contents .text-content h1 .reddot {
    width: 116px;
    margin-left: 40px;
    margin-bottom: 7px;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
#text-contents .text-content h1 .acc {
  width: 27.1875vw;
  margin-bottom: 0.9375rem;
  height: auto;
  display: block;
}
@media print, screen and (min-width: 48.0625em) {
  #text-contents .text-content h1 .acc {
    width: 116px;
    margin-left: 40px;
    margin-bottom: 7px;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
#text-contents .text-content h1 + p {
  margin-left: -10px;
  margin-bottom: 0;
  opacity: 0;
  font-size: 2.5vw;
  text-transform: uppercase;
}
@media screen and (orientation: portrait) {
  #text-contents .text-content h1 + p {
    font-size: 2.5vw;
  }
}
@media screen and (orientation: landscape) {
  #text-contents .text-content h1 + p {
    font-size: 2.5vh;
  }
}
@media screen and (max-width: 22.5em) {
  #text-contents .text-content h1 + p {
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}
@media print, screen and (min-width: 48.0625em) {
  #text-contents .text-content h1 + p {
    font-size: 12px;
  }
}
#text-contents .text-content.fadeIn {
  opacity: 1;
}
#text-contents .text-content.fadeIn h1 {
  transition: opacity 0.8s ease-out, margin 0.6s ease-out;
  margin-left: 0;
  opacity: 1;
}
#text-contents .text-content.fadeIn p {
  transition: opacity 0.8s ease-out 0.2s, margin 0.6s ease-out 0.2s;
  margin-left: 0;
  opacity: 1;
}
#text-contents .text-content.fadeOut h1 {
  transition: opacity 0.8s ease-out, margin 0.8s ease-out;
  margin-left: 50px;
  opacity: 0;
}
#text-contents .text-content.fadeOut p {
  transition: opacity 0.6s ease-out 0.1s, margin 0.7s ease-out 0.1s;
  margin-left: 50px;
  opacity: 0;
}

#slideNav {
  position: absolute;
  right: calc(10vw - 5px);
  bottom: calc(10vw - 5px);
  z-index: 1000;
}
@media screen and (max-width: 48em) and (orientation: landscape) {
  #slideNav {
    right: calc(5vw - 10px);
    bottom: calc(5vw - 5px);
  }
}
@media print, screen and (min-width: 48.0625em) {
  #slideNav {
    margin-right: 15px;
    bottom: calc(5vw - 5px);
  }
}
#slideNav ul {
  margin: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
}
#slideNav ul li {
  padding: 5px;
  cursor: pointer;
}
#slideNav ul li.current {
  pointer-events: none;
  cursor: default;
}
#slideNav ul li.current::before {
  background: black;
}
.elm-white #slideNav ul li.current::before {
  background: white;
}
@media print, screen and (min-width: 48.0625em) {
  #slideNav ul li:hover::before {
    background: black;
  }
  .elm-white #slideNav ul li:hover::before {
    background: white;
  }
}
#slideNav ul li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  transition: background 0.5s ease-out;
}
.elm-white #slideNav ul li::before {
  background: rgba(255, 255, 255, 0.2);
}
#slideNav ul li span {
  display: none;
}

.kv-simple-slider {
  height: 80vh;
  overflow: hidden;
  position: relative;
}

.kv-item {
  opacity: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
    min-height: 50vh;
    object-position: center;
    
  position: absolute;
  left: 0;
  top: 0;
  -webkit-animation: anime 15s 0s infinite;
  animation: anime 15s 0s infinite;
}

.kv-item:nth-of-type(2) {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.kv-item:nth-of-type(3) {
  -webkit-animation-delay: 10s;
  animation-delay: 10s;
}

@keyframes anime {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  35% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes anime {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  35% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}
.thaad-title {
  margin-top: 25px;
  margin-bottom: 12.5px;
}
@media print, screen and (min-width: 48.0625em) {
  .thaad-title {
    margin-top: 74px;
    margin-bottom: 37px;
  }
}
.thaad-title h3 {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 700;
}
@media print, screen and (min-width: 48.0625em) {
  .thaad-title h3 {
    margin-bottom: 30px;
    font-size: 18px;
  }
}
.thaad-title p {
  margin-bottom: 16px;
}
@media print, screen and (min-width: 48.0625em) {
  .thaad-title p {
    margin-bottom: 30px;
  }
}
.thaad-title p:last-child {
  margin-bottom: 0;
}

.about h1 {
  margin-bottom: 5px;
}
.about h2 {
  margin-bottom: 9px;
}
@media print, screen and (min-width: 48.0625em) {
  .about h2 {
    margin-bottom: 33px;
  }
}

.archive {
  margin-bottom: 18px;
}
@media screen and (max-width: 48em) {
  .archive.small-column-2 > .grid-margin-x {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .archive.small-column-2 > .grid-margin-x > .cell {
    width: calc(50% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

#contact {
  margin-bottom: 60px;
}
@media print, screen and (min-width: 48.0625em) {
  #contact {
    margin-bottom: 160px;
  }
}
#contact h1 {
  margin-bottom: 17px;
}
@media print, screen and (min-width: 48.0625em) {
  #contact h1 {
    margin-bottom: 24px;
  }
}
#contact button,
#contact .button {
  margin-bottom: 30px;
  line-height: 1;
}
@media print, screen and (min-width: 48.0625em) {
  #contact button,
  #contact .button {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 48em) {
  #contact button,
  #contact .button {
    padding: 16px;
    font-size: 10px;
    width: 100%;
    max-width: 380px;
  }
}
#contact .address {
  margin-top: 15px;
}
@media print, screen and (min-width: 48.0625em) {
  #contact .address {
    margin-top: 22px;
  }
}
#contact .address p {
  margin-bottom: 10px;
  font-size: 12px;
}
@media print, screen and (min-width: 48.0625em) {
  #contact .address p {
    line-height: 1.6;
    margin-bottom: 1px;
  }
}
@media screen and (max-width: 48em) {
  #contact .address p {
    text-align: left;
  }
}
#contact .address p:first-child {
  font-size: 14px;
  font-weight: 700;
}
#contact .address p:last-child {
  margin-bottom: 0;
}

body.news,
body.events {
  /* DIG UP EXHIBITION */
  /* Remixed Reality EXHIBITION */
}
body.news article,
body.events article {
  margin-bottom: 35px;
}
body.news img.news-image,
body.events img.news-image {
  margin-bottom: 21px;
}
@media print, screen and (min-width: 48.0625em) {
  body.news img.news-image,
  body.events img.news-image {
    margin-bottom: 48px;
  }
}
@media screen and (max-width: 48em) {
  body.news header,
  body.events header {
    margin-bottom: 23.4375vw;
  }
}
body.news .main-title, body.news .second-title,
body.events .main-title,
body.events .second-title {
  text-align: left;
  display: block;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 48.0625em) {
  body.news .main-title, body.news .second-title,
  body.events .main-title,
  body.events .second-title {
    text-align: center;
  }
}
body.news .main-title h1, body.news .second-title h1,
body.events .main-title h1,
body.events .second-title h1 {
  font-weight: 700;
  font-size: 20px;
}
@media print, screen and (min-width: 48.0625em) {
  body.news .main-title h1, body.news .second-title h1,
  body.events .main-title h1,
  body.events .second-title h1 {
    font-size: 25px;
  }
}
body.news .main-title h2, body.news .second-title h2,
body.events .main-title h2,
body.events .second-title h2 {
  font-size: 18px;
}
@media print, screen and (min-width: 48.0625em) {
  body.news .main-title h2, body.news .second-title h2,
  body.events .main-title h2,
  body.events .second-title h2 {
    font-size: 20px;
  }
}
body.news .main-title h3, body.news .second-title h3,
body.events .main-title h3,
body.events .second-title h3 {
  font-size: 14px;
}
@media print, screen and (min-width: 48.0625em) {
  body.news .main-title h3, body.news .second-title h3,
  body.events .main-title h3,
  body.events .second-title h3 {
    font-size: 15px;
  }
}
body.news .schedule,
body.events .schedule {
  font-size: 13px;
  text-align: left;
}
@media print, screen and (min-width: 48.0625em) {
  body.news .schedule,
  body.events .schedule {
    font-size: 15px;
    text-align: center;
  }
}
body.news .thaad-title,
body.events .thaad-title {
  margin-top: 0;
  margin-bottom: 18px;
}
@media print, screen and (min-width: 48.0625em) {
  body.news .thaad-title,
  body.events .thaad-title {
    margin-top: 0;
    margin-bottom: 37px;
  }
}
body.news .thaad-title:first-child,
body.events .thaad-title:first-child {
  margin-top: 0;
}
body.news .thaad-title .link,
body.events .thaad-title .link {
  color: #0d61ab;
  font-weight: 600;
}
body.news .thaad-title h4,
body.events .thaad-title h4 {
  margin-bottom: 18px;
}
@media print, screen and (min-width: 48.0625em) {
  body.news .thaad-title h4,
  body.events .thaad-title h4 {
    margin-bottom: 37px;
  }
}
@media screen and (max-width: 48em) {
  body.news .dig-text-1,
  body.events .dig-text-1 {
    font-size: 14px;
    font-weight: 700;
  }
}
@media screen and (min-width: 48.0625em) and (max-width: 63.9375em) {
  body.news .dig-text-1,
  body.events .dig-text-1 {
    font-size: 13px;
    font-weight: 700;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  body.news .dig-text-1,
  body.events .dig-text-1 {
    font-size: 14px;
    font-weight: 700;
  }
}
@media screen and (min-width: 75em) and (max-width: 90em) {
  body.news .dig-text-1,
  body.events .dig-text-1 {
    font-size: 16px;
    font-weight: 700;
  }
}
@media screen and (min-width: 90.0625em) {
  body.news .dig-text-1,
  body.events .dig-text-1 {
    font-size: 19px;
    font-weight: 700;
  }
}
@media screen and (max-width: 48em) {
  body.news .dig-text-2,
  body.events .dig-text-2 {
    font-size: 12px;
    font-weight: 500;
  }
}
@media screen and (min-width: 48.0625em) and (max-width: 63.9375em) {
  body.news .dig-text-2,
  body.events .dig-text-2 {
    font-size: 12px;
    font-weight: 500;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  body.news .dig-text-2,
  body.events .dig-text-2 {
    font-size: 13px;
    font-weight: 500;
  }
}
@media screen and (min-width: 75em) and (max-width: 90em) {
  body.news .dig-text-2,
  body.events .dig-text-2 {
    font-size: 15px;
    font-weight: 500;
  }
}
@media screen and (min-width: 90.0625em) {
  body.news .dig-text-2,
  body.events .dig-text-2 {
    font-size: 18px;
    font-weight: 500;
  }
}
body.news .dig-text-3,
body.events .dig-text-3 {
  font-weight: 900;
}
@media screen and (max-width: 48em) {
  body.news .dig-text-3,
  body.events .dig-text-3 {
    font-size: 15px;
  }
}
@media screen and (min-width: 48.0625em) and (max-width: 63.9375em) {
  body.news .dig-text-3,
  body.events .dig-text-3 {
    font-size: 25px;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  body.news .dig-text-3,
  body.events .dig-text-3 {
    font-size: 28px;
  }
}
@media screen and (min-width: 75em) and (max-width: 90em) {
  body.news .dig-text-3,
  body.events .dig-text-3 {
    font-size: 33px;
  }
}
@media screen and (min-width: 90.0625em) {
  body.news .dig-text-3,
  body.events .dig-text-3 {
    font-size: 38px;
  }
}
@media screen and (max-width: 48em) {
  body.news .dig-text-4,
  body.events .dig-text-4 {
    font-size: 11px;
    font-weight: 700;
  }
}
@media screen and (min-width: 48.0625em) and (max-width: 63.9375em) {
  body.news .dig-text-4,
  body.events .dig-text-4 {
    font-size: 11px;
    font-weight: 700;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  body.news .dig-text-4,
  body.events .dig-text-4 {
    font-size: 12px;
    font-weight: 700;
  }
}
@media screen and (min-width: 75em) and (max-width: 90em) {
  body.news .dig-text-4,
  body.events .dig-text-4 {
    font-size: 14px;
    font-weight: 700;
  }
}
@media screen and (min-width: 90.0625em) {
  body.news .dig-text-4,
  body.events .dig-text-4 {
    font-size: 16px;
    font-weight: 700;
  }
}
body.news .rr-movie-wrap,
body.events .rr-movie-wrap {
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 9/16;
}
@media screen and (max-width: 48em) {
  body.news .rr-movie-wrap,
  body.events .rr-movie-wrap {
    width: 90%;
  }
}
@media screen and (min-width: 48.0625em) and (max-width: 63.9375em) {
  body.news .rr-movie-wrap,
  body.events .rr-movie-wrap {
    width: 50%;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  body.news .rr-movie-wrap,
  body.events .rr-movie-wrap {
    width: 40%;
  }
}
@media screen and (min-width: 75em) and (max-width: 90em) {
  body.news .rr-movie-wrap,
  body.events .rr-movie-wrap {
    width: 35%;
  }
}
@media screen and (min-width: 90.0625em) {
  body.news .rr-movie-wrap,
  body.events .rr-movie-wrap {
    width: 30%;
  }
}
body.news .rr-movie-wrap iframe,
body.events .rr-movie-wrap iframe {
  width: 100%;
  height: 100%;
}
body.news .rr-text-1,
body.events .rr-text-1 {
  text-align: center;
}
@media screen and (max-width: 48em) {
  body.news .rr-text-1,
  body.events .rr-text-1 {
    margin-top: 20px;
  }
}
@media screen and (min-width: 48.0625em) and (max-width: 63.9375em) {
  body.news .rr-text-1,
  body.events .rr-text-1 {
    margin-top: 30px;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  body.news .rr-text-1,
  body.events .rr-text-1 {
    margin-top: 30px;
  }
}
@media screen and (min-width: 75em) and (max-width: 90em) {
  body.news .rr-text-1,
  body.events .rr-text-1 {
    margin-top: 30px;
  }
}
@media screen and (min-width: 90.0625em) {
  body.news .rr-text-1,
  body.events .rr-text-1 {
    margin-top: 30px;
  }
}
@media screen and (max-width: 48em) {
  body.news .rr-text-2,
  body.events .rr-text-2 {
    margin-top: 20px;
  }
}
@media screen and (min-width: 48.0625em) and (max-width: 63.9375em) {
  body.news .rr-text-2,
  body.events .rr-text-2 {
    margin-top: 30px;
  }
}

#read-area {
  margin-top: 24px;
  margin-bottom: 24px;
}
@media print, screen and (min-width: 48.0625em) {
  #read-area {
    margin-top: 71px;
    margin-bottom: 71px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsImNvbXBvbmVudHMvX3dlYmZvbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXRyYW5zZm9ybWF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fbGlzdC1zdHlsZS10eXBlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm91bmRlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlcmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2hhZG93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYXJyb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX292ZXJmbG93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItbm9uZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fZ2xvYmFsLnNjc3MiLCJjb21wb25lbnRzL19jYXJkLnNjc3MiLCJjb21wb25lbnRzL19jZWxsLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fa3YtYXJlYS5zY3NzIiwiY29tcG9uZW50cy9fcGFnZW5hdmkuc2NzcyIsImNvbXBvbmVudHMvX3JlYWQuc2NzcyIsImNvbXBvbmVudHMvX3RpdGxlLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX3RoYWFkLXRpdGxlLnNjc3MiLCJsYXlvdXQvX2Fib3V0LnNjc3MiLCJsYXlvdXQvX2FyY2hpdmUuc2NzcyIsImxheW91dC9fY29udGFjdC5zY3NzIiwibGF5b3V0L19uZXdzLWV2ZW50cy5zY3NzIiwibGF5b3V0L193b3Jrcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FBQTtBQ21LTTtFQ3ZISjtJQUNFLFlBQUE7SUFDQSxXQUFBO0lBQ0EsZUFBQTtHSG5DRDtDQUNGO0FJYkQ7RUFDRSx5QkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSx5SEFBQTtFQUNBLG1CQUFBO0NKZUQ7QUliRDtFQUNFLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLDRJQUFBO0VBQ0EsbUJBQUE7Q0plRDtBSVpEO0VBQ0UseUJBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsdUhBQUE7RUFDQSxtQkFBQTtDSmNEO0FJWkQ7RUFDRSx5QkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSw0SEFBQTtFQUNBLG1CQUFBO0NKY0Q7QUlYRDtFQUNFLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtJQUFBO0VBQ0EsbUJBQUE7Q0phRDtBSVhEO0VBQ0UseUJBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EscUpBQUE7RUFDQSxtQkFBQTtDSmFEO0FJVkQ7RUFDRSx5QkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxzSEFBQTtFQUNBLG1CQUFBO0NKWUQ7QUlWRDtFQUNFLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLHlJQUFBO0VBQ0EsbUJBQUE7Q0pZRDtBSVREO0VBQ0UseUJBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EscUlBQUE7RUFDQSxtQkFBQTtDSldEO0FJVEQ7RUFDRSx5QkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSx3SkFBQTtFQUNBLG1CQUFBO0NKV0Q7QUt0Q0MsaUVBQUE7QUFHRTtnRkFBQTtBQUdBOzs7OztHQUFBO0FBT0E7RUFDRSx3QkMxQ2EsQ0QwQ21CLE9BQUE7RUFROUIsa0JBQUEsQ0FBQSxPQUFBO0VBRUYsMkJBQUEsQ0FBQSxPQUFBO0VBQ0EsK0JBQUEsQ0FBQSxPQUFBO0NMNEJMOztBS3ZCRztnRkFBQTtBQUdBOztHQUFBO0FBSUE7RUFDRSxVQUFBO0NMd0JMOztBS3JCRzs7R0FBQTtBQUlBOzs7Ozs7RUFNRSxlQUFBO0NMdUJMOztBS3BCRzs7O0dBQUE7QUFLQTtFRTlFRixlQUFBO0VGeUZNLGlCQUFBO0NMYVA7O0FLeUJHO2dGQUFBO0FBd0NBOztHQUFBO0FBSUE7O0VBRUUsZUFBQTtDTDdETDs7QUtnRUc7O0dBQUE7QUFJQTtFQUtJLGlCQUFBO0NMbEVQOztBS3NFRzs7O0dBQUE7QUFLQTtFQUNFLHdCQUFBLENBQUEsT0FBQTtFQUNBLFVBQUEsQ0FBQSxPQUFBO0VBQ0Esa0JBQUEsQ0FBQSxPQUFBO0NMcEVMOztBS3VFRzs7R0FBQTtBQUlBO0VBQ0UsZUFBQTtDTHJFTDs7QUttRkc7OztHQUFBO0FBS0E7RUFDRSxrQ0FBQSxDQUFBLE9BQUE7RUFDQSxlQUFBLENBQUEsT0FBQTtDTGpGTDs7QUtzRkc7Z0ZBQUE7QUFHQTs7O0dBQUE7QUFLQTtFQUNFLDhCQUFBLENBQUEsT0FBQTtFQUNBLHNDQUFBLENBQUEsT0FBQTtDTHJGTDs7QUt3Rkc7OztHQUFBO0FBS0E7O0VBRUUsaUJBQUE7Q0x0Rkw7O0FLMkZHO2dGQUFBO0FBR0E7OztHQUFBO0FBS0E7RUFDRSxvQkFBQSxDQUFBLE9BQUE7RUFDQSwyQkFBQSxDQUFBLE9BQUE7RUFDQSxrQ0FBQSxDQUFBLE9BQUE7Q0wxRkw7O0FLNkZHOztHQUFBO0FBSUE7O0VBRUUscUJBQUE7Q0wzRkw7O0FLOEZHOztHQUFBO0FBSUE7O0VBRUUsb0JBQUE7Q0w1Rkw7O0FLK0ZHOzs7R0FBQTtBQUtBOzs7RUFHRSxrQ0FBQSxDQUFBLE9BQUE7RUFDQSxlQUFBLENBQUEsT0FBQTtDTDdGTDs7QUtnR0c7O0dBQUE7QUFJQTtFQUNFLG1CQUFBO0NMOUZMOztBS2lHRzs7R0FBQTtBQUlBO0VBQ0UsdUJBQUE7RUFDQSxZQUFBO0NML0ZMOztBS2tHRzs7R0FBQTtBQUlBO0VBQ0UsZUFBQTtDTGhHTDs7QUttR0c7OztHQUFBO0FBS0E7O0VBRUUsZUFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0NMakdMOztBS29HRztFQUNFLGdCQUFBO0NMakdMOztBS29HRztFQUNFLFlBQUE7Q0xqR0w7O0FLc0dHO2dGQUFBO0FBR0E7O0dBQUE7QUFJQTs7RUFFRSxzQkFBQTtDTHJHTDs7QUt3R0c7O0dBQUE7QUFJQTtFQUNFLGNBQUE7RUFDQSxVQUFBO0NMdEdMOztBS3lHRzs7R0FBQTtBQUlBO0VBQ0UsbUJBQUE7Q0x2R0w7O0FLMEdHOztHQUFBO0FBSUE7RUFDRSxpQkFBQTtDTHhHTDs7QUs2R0c7Z0ZBQUE7QUFHQTs7O0dBQUE7QUFLQTs7Ozs7RUFLRSx3QkN6WmEsQ0R5Wm1CLE9BQUE7RUFDaEMsZ0JBQUEsQ0FBQSxPQUFBO0VBS0Usa0JBQUEsQ0FBQSxPQUFBO0VBRUYsVUFBQSxDQUFBLE9BQUE7Q0xqSEw7O0FLb0hHOztHQUFBO0FBSUE7RUFDRSxrQkFBQTtDTGxITDs7QUtxSEc7OztHQUFBO0FBS0E7U0FDUyxPQUFBO0VBQ1AscUJBQUE7Q0xuSEw7O0FLc0hHOzs7O0dBQUE7QUFNQTs7OztFQUlFLDJCQUFBLENBQUEsT0FBQTtDTHBITDs7QUt1SEc7Ozs7RUFLRTs7S0FBQTtFQVNBOztLQUFBO0NMekhMO0FLb0hLOzs7O0VBQ0UsbUJBQUE7RUFDQSxXQUFBO0NML0dQO0FLc0hLOzs7O0VBQ0UsK0JBQUE7Q0xqSFA7O0FLcUhHOztHQUFBO0FBSUE7RUFDRSxrQkFBQTtDTG5ITDs7QUtzSEc7OztHQUFBO0FBS0E7O0VBRUUsdUJBQUEsQ0FBQSxPQUFBO0VBQ0EsV0FBQSxDQUFBLE9BQUE7Q0xwSEw7O0FLdUhHOztHQUFBO0FBSUE7O0VBRUUsYUFBQTtDTHJITDs7QUt3SEc7OztHQUFBO0FBS0E7RUFDRSw4QkFBQSxDQUFBLE9BQUE7RUFDQSxxQkFBQSxDQUFBLE9BQUE7RUFFQTs7S0FBQTtDTHJITDtBS3lISztFQUVFLHlCQUFBO0NMeEhQOztBSzRIRzs7O0dBQUE7QUFLQTtFQUNFLDJCQUFBLENBQUEsT0FBQTtFQUNBLGNBQUEsQ0FBQSxPQUFBO0NMMUhMOztBSzZIRzs7R0FBQTtBQUlBO0VBQ0UsMEJBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7Q0wzSEw7O0FLOEhHOzs7OztHQUFBO0FBT0E7RUFDRSx1QkFBQSxDQUFBLE9BQUE7RUFDQSxlQUFBLENBQUEsT0FBQTtFQUNBLGdCQUFBLENBQUEsT0FBQTtFQUNBLFdBQUEsQ0FBQSxPQUFBO0VBQ0EsZUFBQSxDQUFBLE9BQUE7RUFDQSxvQkFBQSxDQUFBLE9BQUE7Q0w1SEw7O0FLK0hHOzs7R0FBQTtBQUtBO0VBQ0Usc0JBQUEsQ0FBQSxPQUFBO0VBQ0EseUJBQUEsQ0FBQSxPQUFBO0NMN0hMOztBS2dJRzs7R0FBQTtBQUlBO0VBQ0UsZUFBQTtDTDlITDs7QUttSUc7Z0ZBQUE7QUFHQTs7R0FBQTtBQUlBO0VBQ0UsZUFBQTtDTGxJTDs7QUtxSUc7O0dBQUE7QUFJQTtFQUNFLG1CQUFBO0NMbklMOztBS3NJRzs7R0FBQTtBQUlBO0VBQ0UsZUFBQTtDTHBJTDs7QUs2Skc7Z0ZBQUE7QUFHQTs7R0FBQTtBQUlBO0VBQ0Usc0JBQUE7Q0w1Skw7O0FLK0pHOztHQUFBO0FBSUE7RUFDRSxjQUFBO0NMN0pMOztBS2tLRztnRkFBQTtBQUdBOztHQUFBO0FBSUE7RUFDRSxjQUFBO0NMaktMOztBUXJYQztFQUNFLG1GQUFBO0NSd1hIOztBUXJYQztFQUNFLHVCQUFBO0VBQ0EsZ0JDN0VlO0NUcWNsQjs7QVFwWEM7OztFQUdFLG9CQUFBO0NSdVhIOztBUW5YQztFQUNFLFVBQUE7RUFDQSxXQUFBO0VBRUEsb0JDOUVJO0VEZ0ZKLHNIQzdFZTtFRDhFZixvQkN6RW1CO0VEMEVuQixpQkM5RmdCO0VEK0ZoQixlQ3BGSTtFRHVGRixvQ0FBQTtFQUNBLG1DQUFBO0NSa1hMOztBUTlXQztFQUVFLHNCQUFBO0VBQ0EsdUJBQUE7RUFHQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxnQ0FBQTtDUjhXSDs7QVExV0M7RUFDRSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkNoR1k7Q1Q2Y2Y7O0FReldDO0VBQ0UsdUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJDdkdZO0NUbWRmOztBUXJXRzs7Ozs7O0VBR0UsMkJBQUE7Q1IyV0w7O0FRdFdDO0VBRUUsV0FBQTtFQUNBLHlCQUFBO0tBQUEsc0JBQUE7VUFBQSxpQkFBQTtFQUNBLFVBQUE7RUFDQSxpQkMzSFk7RUQ0SFosd0JBQUE7RUFDQSxlQUFBO0VBQ0EsYUN4SG1CO0NUZ2V0QjtBVXhYQztFQUNFLFdBQUE7Q1YwWEg7O0FRdldDO0VBQ0UsZUFBQTtDUjBXSDs7QVF0V0M7Ozs7O0VBS0UscUJBQUE7Q1J5V0g7O0FRcldDO0VBQ0UsMEJBQUE7Q1J3V0g7O0FRcldDO0VBQ0UseUJBQUE7Q1J3V0g7O0FXNWtCQztFQ29CTSxvQkFBQTtFQUFBLG1CQUFBO0VDZk4saUJKbURhO0VJbERiLGVBQUE7Q2I2a0JEO0FFNWJLO0VTdkpKO0lDb0JNLHdCQUFBO0lBQUEsdUJBQUE7R1pva0JMO0NBQ0Y7QVd0bEJHO0VDaUJJLG9CQUFBO0VBQUEsbUJBQUE7RUNmTixnQkZEK0I7RUVFL0IsZUFBQTtDYnlsQkQ7QUV4Y0s7RVNwSkY7SUNpQkksd0JBQUE7SUFBQSx1QkFBQTtHWmdsQkw7Q0FDRjtBVzlsQkc7RUNzQkUsaUJBQUE7RUFBQSxnQkFBQTtFQ3hCSixnQkZHK0I7RUVGL0IsZUFBQTtDYnFtQkQ7O0FXOWxCQztFRU9BLHNCQUFBO0VBQUEscUJBQUE7RUFBQSxjQUFBO0VBQ0EsNEJBQUE7TUFBQSx3QkFBQTtVQUFBLG9CQUFBO0NiMmxCRDs7QVcvbEJDO0VHcUJFLHVCQUFBO01BQUEsbUJBQUE7VUFBQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBa0NBLFlBRE07Q2Q4aUJUO0FXbG1CRztFR3NCQSxzQkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtDZCtrQkg7QVdqbUJHO0VHcUJBLHVCQUFBO01BQUEsbUJBQUE7VUFBQSxlQUFBO0NkK2tCSDs7QVc5bEJHO0VHbUNBLFlBQUE7Q2QrakJIO0FXOWxCRztFR21DQSxZQUFBO0NkOGpCSDs7QVdqbEJLO0VBQ0UseUJBQUE7TUFBQSw4QkFBQTtVQUFBLGlCQUFBO0NYb2xCUDs7QUVqZks7RVNwR0E7SUFDRSx5QkFBQTtRQUFBLDhCQUFBO1lBQUEsaUJBQUE7R1h5bEJMO0NBQ0Y7QUV2Zks7RVNwR0E7SUFDRSx5QkFBQTtRQUFBLDhCQUFBO1lBQUEsaUJBQUE7R1g4bEJMO0NBQ0Y7QUV2Zks7RVN6R0E7SUFDRSx5QkFBQTtRQUFBLDhCQUFBO1lBQUEsaUJBQUE7R1htbUJMO0NBQ0Y7QUU1Zks7RVN6R0E7SUFDRSx5QkFBQTtRQUFBLDhCQUFBO1lBQUEsaUJBQUE7R1h3bUJMO0NBQ0Y7QVdybEJLO0VHRUYscUJBRE07Q2R1bEJUOztBV3hsQks7RUdFRixzQkFETTtDZDJsQlQ7O0FXNWxCSztFR0VGLFdBRE07Q2QrbEJUOztBV2htQks7RUdFRixzQkFETTtDZG1tQlQ7O0FXcG1CSztFR0VGLHNCQURNO0NkdW1CVDs7QVd4bUJLO0VHRUYsV0FETTtDZDJtQlQ7O0FXNW1CSztFR0VGLHNCQURNO0NkK21CVDs7QVdobkJLO0VHRUYsc0JBRE07Q2RtbkJUOztBV3BuQks7RUdFRixXQURNO0NkdW5CVDs7QVd4bkJLO0VHRUYsc0JBRE07Q2QybkJUOztBVzVuQks7RUdFRixzQkFETTtDZCtuQlQ7O0FXaG9CSztFR0VGLFlBRE07Q2Rtb0JUOztBRXJqQks7RVM1RkE7SUdoQkYsc0JBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7SUF1QkEsWUFBQTtHZGdwQkQ7RVdscEJHO0lHbEJGLHVCQUFBO1FBQUEsbUJBQUE7WUFBQSxlQUFBO0lBd0JBLFlBQUE7R2RncEJEO0VXOW9CRztJR0VGLHFCQURNO0dkZ3BCUDtFV2pwQkc7SUdFRixzQkFETTtHZG1wQlA7RVdwcEJHO0lHRUYsV0FETTtHZHNwQlA7RVd2cEJHO0lHRUYsc0JBRE07R2R5cEJQO0VXMXBCRztJR0VGLHNCQURNO0dkNHBCUDtFVzdwQkc7SUdFRixXQURNO0dkK3BCUDtFV2hxQkc7SUdFRixzQkFETTtHZGtxQlA7RVducUJHO0lHRUYsc0JBRE07R2RxcUJQO0VXdHFCRztJR0VGLFdBRE07R2R3cUJQO0VXenFCRztJR0VGLHNCQURNO0dkMnFCUDtFVzVxQkc7SUdFRixzQkFETTtHZDhxQlA7RVcvcUJHO0lHRUYsWUFETTtHZGlyQlA7Q0FDRjtBRXBtQks7RVM1RkE7SUdoQkYsc0JBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7SUF1QkEsWUFBQTtHZDhyQkQ7RVdoc0JHO0lHbEJGLHVCQUFBO1FBQUEsbUJBQUE7WUFBQSxlQUFBO0lBd0JBLFlBQUE7R2Q4ckJEO0VXNXJCRztJR0VGLHFCQURNO0dkOHJCUDtFVy9yQkc7SUdFRixzQkFETTtHZGlzQlA7RVdsc0JHO0lHRUYsV0FETTtHZG9zQlA7RVdyc0JHO0lHRUYsc0JBRE07R2R1c0JQO0VXeHNCRztJR0VGLHNCQURNO0dkMHNCUDtFVzNzQkc7SUdFRixXQURNO0dkNnNCUDtFVzlzQkc7SUdFRixzQkFETTtHZGd0QlA7RVdqdEJHO0lHRUYsc0JBRE07R2RtdEJQO0VXcHRCRztJR0VGLFdBRE07R2RzdEJQO0VXdnRCRztJR0VGLHNCQURNO0dkeXRCUDtFVzF0Qkc7SUdFRixzQkFETTtHZDR0QlA7RVc3dEJHO0lHRUYsWUFETTtHZCt0QlA7Q0FDRjtBRTdvQks7RVNqR0E7SUdoQkYsc0JBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7SUF1QkEsWUFBQTtHZDR1QkQ7RVc5dUJHO0lHbEJGLHVCQUFBO1FBQUEsbUJBQUE7WUFBQSxlQUFBO0lBd0JBLFlBQUE7R2Q0dUJEO0VXMXVCRztJR0VGLHFCQURNO0dkNHVCUDtFVzd1Qkc7SUdFRixzQkFETTtHZCt1QlA7RVdodkJHO0lHRUYsV0FETTtHZGt2QlA7RVdudkJHO0lHRUYsc0JBRE07R2RxdkJQO0VXdHZCRztJR0VGLHNCQURNO0dkd3ZCUDtFV3p2Qkc7SUdFRixXQURNO0dkMnZCUDtFVzV2Qkc7SUdFRixzQkFETTtHZDh2QlA7RVcvdkJHO0lHRUYsc0JBRE07R2Rpd0JQO0VXbHdCRztJR0VGLFdBRE07R2Rvd0JQO0VXcndCRztJR0VGLHNCQURNO0dkdXdCUDtFV3h3Qkc7SUdFRixzQkFETTtHZDB3QlA7RVczd0JHO0lHRUYsWUFETTtHZDZ3QlA7Q0FDRjtBRTNyQks7RVNqR0E7SUdoQkYsc0JBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7SUF1QkEsWUFBQTtHZDB4QkQ7RVc1eEJHO0lHbEJGLHVCQUFBO1FBQUEsbUJBQUE7WUFBQSxlQUFBO0lBd0JBLFlBQUE7R2QweEJEO0VXeHhCRztJR0VGLHFCQURNO0dkMHhCUDtFVzN4Qkc7SUdFRixzQkFETTtHZDZ4QlA7RVc5eEJHO0lHRUYsV0FETTtHZGd5QlA7RVdqeUJHO0lHRUYsc0JBRE07R2RteUJQO0VXcHlCRztJR0VGLHNCQURNO0dkc3lCUDtFV3Z5Qkc7SUdFRixXQURNO0dkeXlCUDtFVzF5Qkc7SUdFRixzQkFETTtHZDR5QlA7RVc3eUJHO0lHRUYsc0JBRE07R2QreUJQO0VXaHpCRztJR0VGLFdBRE07R2RrekJQO0VXbnpCRztJR0VGLHNCQURNO0dkcXpCUDtFV3R6Qkc7SUdFRixzQkFETTtHZHd6QlA7RVd6ekJHO0lHRUYsWUFETTtHZDJ6QlA7Q0FDRjtBV3R6QkM7RUFDRSxZQUFBO0NYd3pCSDs7QVdwekJDO0VBQ0UsYUFBQTtDWHV6Qkg7O0FXenhCQztFQy9GTSxvQkFBQTtFQUFBLHFCQUFBO0NaNjNCUDtBRTF2Qks7RVNwQ0o7SUMvRk0sd0JBQUE7SUFBQSx5QkFBQTtHWms0Qkw7Q0FDRjtBV2h5Qkc7RUd4REEseUJBRE07RUZqQ0osa0JBQUE7RUFBQSxtQkFBQTtDWiszQkw7QUVyd0JLO0VTekJFO0lHL0RKLDRCQURNO0lGakNKLHNCQUFBO0lBQUEsdUJBQUE7R1pxNEJIO0NBQ0Y7QVd4MEJDO0VHekJFLFlBQUE7Q2RvMkJIO0FXdjBCQztFR3pCRSxZQUFBO0NkbTJCSDtBV2wwQkc7RUc3QkEsa0NBRE07Q2RtMkJUO0FXcjBCRztFRzdCQSxtQ0FETTtDZHMyQlQ7QVd4MEJHO0VHN0JBLHdCQURNO0NkeTJCVDtBVzMwQkc7RUc3QkEsbUNBRE07Q2Q0MkJUO0FXOTBCRztFRzdCQSxtQ0FETTtDZCsyQlQ7QVdqMUJHO0VHN0JBLHdCQURNO0NkazNCVDtBV3AxQkc7RUc3QkEsbUNBRE07Q2RxM0JUO0FXdjFCRztFRzdCQSxtQ0FETTtDZHczQlQ7QVcxMUJHO0VHN0JBLHdCQURNO0NkMjNCVDtBVzcxQkc7RUc3QkEsbUNBRE07Q2Q4M0JUO0FXaDJCRztFRzdCQSxtQ0FETTtDZGk0QlQ7QVduMkJHO0VHN0JBLHlCQURNO0NkbzRCVDtBRXR6Qks7RVM1REo7SUd6QkUsWUFBQTtHZCs0QkQ7RVdsM0JEO0lHekJFLFlBQUE7R2Q4NEJEO0VXNzJCQztJRzdCQSxxQ0FETTtHZDg0QlA7RVdoM0JDO0lHN0JBLHNDQURNO0dkaTVCUDtFV24zQkM7SUc3QkEsMkJBRE07R2RvNUJQO0VXdDNCQztJRzdCQSxzQ0FETTtHZHU1QlA7RVd6M0JDO0lHN0JBLHNDQURNO0dkMDVCUDtFVzUzQkM7SUc3QkEsMkJBRE07R2Q2NUJQO0VXLzNCQztJRzdCQSxzQ0FETTtHZGc2QlA7RVdsNEJDO0lHN0JBLHNDQURNO0dkbTZCUDtFV3I0QkM7SUc3QkEsMkJBRE07R2RzNkJQO0VXeDRCQztJRzdCQSxzQ0FETTtHZHk2QlA7RVczNEJDO0lHN0JBLHNDQURNO0dkNDZCUDtFVzk0QkM7SUc3QkEsNEJBRE07R2QrNkJQO0VXNzVCRDtJR3pCRSxZQUFBO0dkeTdCRDtFVzU1QkQ7SUd6QkUsWUFBQTtHZHc3QkQ7RVd2NUJDO0lHN0JBLHFDQURNO0dkdzdCUDtFVzE1QkM7SUc3QkEsc0NBRE07R2QyN0JQO0VXNzVCQztJRzdCQSwyQkFETTtHZDg3QlA7RVdoNkJDO0lHN0JBLHNDQURNO0dkaThCUDtFV242QkM7SUc3QkEsc0NBRE07R2RvOEJQO0VXdDZCQztJRzdCQSwyQkFETTtHZHU4QlA7RVd6NkJDO0lHN0JBLHNDQURNO0dkMDhCUDtFVzU2QkM7SUc3QkEsc0NBRE07R2Q2OEJQO0VXLzZCQztJRzdCQSwyQkFETTtHZGc5QlA7RVdsN0JDO0lHN0JBLHNDQURNO0dkbTlCUDtFV3I3QkM7SUc3QkEsc0NBRE07R2RzOUJQO0VXeDdCQztJRzdCQSw0QkFETTtHZHk5QlA7Q0FDRjtBRTU0Qks7RVM1REo7SUd6QkUsWUFBQTtHZHErQkQ7RVd4OEJEO0lHekJFLFlBQUE7R2RvK0JEO0VXbjhCQztJRzdCQSxxQ0FETTtHZG8rQlA7RVd0OEJDO0lHN0JBLHNDQURNO0dkdStCUDtFV3o4QkM7SUc3QkEsMkJBRE07R2QwK0JQO0VXNThCQztJRzdCQSxzQ0FETTtHZDYrQlA7RVcvOEJDO0lHN0JBLHNDQURNO0dkZy9CUDtFV2w5QkM7SUc3QkEsMkJBRE07R2RtL0JQO0VXcjlCQztJRzdCQSxzQ0FETTtHZHMvQlA7RVd4OUJDO0lHN0JBLHNDQURNO0dkeS9CUDtFVzM5QkM7SUc3QkEsMkJBRE07R2Q0L0JQO0VXOTlCQztJRzdCQSxzQ0FETTtHZCsvQlA7RVdqK0JDO0lHN0JBLHNDQURNO0dka2dDUDtFV3ArQkM7SUc3QkEsNEJBRE07R2RxZ0NQO0NBQ0Y7QUVuN0JLO0VTakVKO0lHekJFLFlBQUE7R2RpaENEO0VXcC9CRDtJR3pCRSxZQUFBO0dkZ2hDRDtFVy8rQkM7SUc3QkEscUNBRE07R2RnaENQO0VXbC9CQztJRzdCQSxzQ0FETTtHZG1oQ1A7RVdyL0JDO0lHN0JBLDJCQURNO0dkc2hDUDtFV3gvQkM7SUc3QkEsc0NBRE07R2R5aENQO0VXMy9CQztJRzdCQSxzQ0FETTtHZDRoQ1A7RVc5L0JDO0lHN0JBLDJCQURNO0dkK2hDUDtFV2pnQ0M7SUc3QkEsc0NBRE07R2RraUNQO0VXcGdDQztJRzdCQSxzQ0FETTtHZHFpQ1A7RVd2Z0NDO0lHN0JBLDJCQURNO0dkd2lDUDtFVzFnQ0M7SUc3QkEsc0NBRE07R2QyaUNQO0VXN2dDQztJRzdCQSxzQ0FETTtHZDhpQ1A7RVdoaENDO0lHN0JBLDRCQURNO0dkaWpDUDtDQUNGO0FFLzlCSztFU2pFSjtJR3pCRSxZQUFBO0dkNmpDRDtFV2hpQ0Q7SUd6QkUsWUFBQTtHZDRqQ0Q7RVczaENDO0lHN0JBLHFDQURNO0dkNGpDUDtFVzloQ0M7SUc3QkEsc0NBRE07R2QrakNQO0VXamlDQztJRzdCQSwyQkFETTtHZGtrQ1A7RVdwaUNDO0lHN0JBLHNDQURNO0dkcWtDUDtFV3ZpQ0M7SUc3QkEsc0NBRE07R2R3a0NQO0VXMWlDQztJRzdCQSwyQkFETTtHZDJrQ1A7RVc3aUNDO0lHN0JBLHNDQURNO0dkOGtDUDtFV2hqQ0M7SUc3QkEsc0NBRE07R2RpbENQO0VXbmpDQztJRzdCQSwyQkFETTtHZG9sQ1A7RVd0akNDO0lHN0JBLHNDQURNO0dkdWxDUDtFV3pqQ0M7SUc3QkEsc0NBRE07R2QwbENQO0VXNWpDQztJRzdCQSw0QkFETTtHZDZsQ1A7Q0FDRjs7QVc3Z0NHO0VDdElJLHFCQUFBO0VBQUEsb0JBQUE7Q1p3cENQO0FFcmhDSztFU0dGO0lDdElJLHlCQUFBO0lBQUEsd0JBQUE7R1o2cENMO0NBQ0Y7QVdsaENHO0VDNUlJLHFCQUFBO0VBQUEsb0JBQUE7Q1prcUNQO0FFL2hDSztFU1NGO0lDNUlJLHlCQUFBO0lBQUEsd0JBQUE7R1p1cUNMO0NBQ0Y7QVd2aENHO0VDakpJLG9CQUFBO0VBQUEsbUJBQUE7Q1o0cUNQO0FFemlDSztFU2NGO0lDakpJLHdCQUFBO0lBQUEsdUJBQUE7R1ppckNMO0NBQ0Y7O0FlcnJDQztFRHlERSxZQURNO0NkaW9DVDs7QWV6ckNDO0VEeURFLFdBRE07Q2Rxb0NUOztBZTdyQ0M7RUR5REUsc0JBRE07Q2R5b0NUOztBZWpzQ0M7RUR5REUsV0FETTtDZDZvQ1Q7O0FlcnNDQztFRHlERSxXQURNO0NkaXBDVDs7QWV6c0NDO0VEeURFLHNCQURNO0NkcXBDVDs7QWU3c0NDO0VEeURFLHNCQURNO0NkeXBDVDs7QWVqdENDO0VEeURFLGFBRE07Q2Q2cENUOztBRS9rQ0s7RWF0SUo7SUR5REUsWUFETTtHZGtxQ1A7RWUxdENEO0lEeURFLFdBRE07R2RxcUNQO0VlN3RDRDtJRHlERSxzQkFETTtHZHdxQ1A7RWVodUNEO0lEeURFLFdBRE07R2QycUNQO0VlbnVDRDtJRHlERSxXQURNO0dkOHFDUDtFZXR1Q0Q7SUR5REUsc0JBRE07R2RpckNQO0VlenVDRDtJRHlERSxzQkFETTtHZG9yQ1A7RWU1dUNEO0lEeURFLGFBRE07R2R1ckNQO0NBQ0Y7QUUxbUNLO0VhdElKO0lEeURFLFlBRE07R2Q0ckNQO0VlcHZDRDtJRHlERSxXQURNO0dkK3JDUDtFZXZ2Q0Q7SUR5REUsc0JBRE07R2Rrc0NQO0VlMXZDRDtJRHlERSxXQURNO0dkcXNDUDtFZTd2Q0Q7SUR5REUsV0FETTtHZHdzQ1A7RWVod0NEO0lEeURFLHNCQURNO0dkMnNDUDtFZW53Q0Q7SUR5REUsc0JBRE07R2Q4c0NQO0VldHdDRDtJRHlERSxhQURNO0dkaXRDUDtDQUNGO0FFL25DSztFYTNJSjtJRHlERSxZQURNO0dkc3RDUDtFZTl3Q0Q7SUR5REUsV0FETTtHZHl0Q1A7RWVqeENEO0lEeURFLHNCQURNO0dkNHRDUDtFZXB4Q0Q7SUR5REUsV0FETTtHZCt0Q1A7RWV2eENEO0lEeURFLFdBRE07R2RrdUNQO0VlMXhDRDtJRHlERSxzQkFETTtHZHF1Q1A7RWU3eENEO0lEeURFLHNCQURNO0dkd3VDUDtFZWh5Q0Q7SUR5REUsYUFETTtHZDJ1Q1A7Q0FDRjtBRXpwQ0s7RWEzSUo7SUR5REUsWUFETTtHZGd2Q1A7RWV4eUNEO0lEeURFLFdBRE07R2RtdkNQO0VlM3lDRDtJRHlERSxzQkFETTtHZHN2Q1A7RWU5eUNEO0lEeURFLFdBRE07R2R5dkNQO0VlanpDRDtJRHlERSxXQURNO0dkNHZDUDtFZXB6Q0Q7SUR5REUsc0JBRE07R2QrdkNQO0VldnpDRDtJRHlERSxzQkFETTtHZGt3Q1A7RWUxekNEO0lEeURFLGFBRE07R2Rxd0NQO0NBQ0Y7QWU5ekNDO0VEeURFLHlCQURNO0NkeXdDVDs7QWVqMENDO0VEeURFLHdCQURNO0NkNndDVDs7QWVyMENDO0VEeURFLG1DQURNO0NkaXhDVDs7QWV6MENDO0VEeURFLHdCQURNO0NkcXhDVDs7QWU3MENDO0VEeURFLHdCQURNO0NkeXhDVDs7QWVqMUNDO0VEeURFLG1DQURNO0NkNnhDVDs7QWVyMUNDO0VEeURFLG1DQURNO0NkaXlDVDs7QWV6MUNDO0VEeURFLDBCQURNO0NkcXlDVDs7QUV2dENLO0VhdElKO0lEeURFLHlCQURNO0dkMHlDUDtFZWwyQ0Q7SUR5REUsd0JBRE07R2Q2eUNQO0VlcjJDRDtJRHlERSxtQ0FETTtHZGd6Q1A7RWV4MkNEO0lEeURFLHdCQURNO0dkbXpDUDtFZTMyQ0Q7SUR5REUsd0JBRE07R2RzekNQO0VlOTJDRDtJRHlERSxtQ0FETTtHZHl6Q1A7RWVqM0NEO0lEeURFLG1DQURNO0dkNHpDUDtFZXAzQ0Q7SUR5REUsMEJBRE07R2QrekNQO0VldjNDRDtJRHlERSw0QkFETTtHZGswQ1A7RWUxM0NEO0lEeURFLDJCQURNO0dkcTBDUDtFZTczQ0Q7SUR5REUsc0NBRE07R2R3MENQO0VlaDRDRDtJRHlERSwyQkFETTtHZDIwQ1A7RWVuNENEO0lEeURFLDJCQURNO0dkODBDUDtFZXQ0Q0Q7SUR5REUsc0NBRE07R2RpMUNQO0VlejRDRDtJRHlERSxzQ0FETTtHZG8xQ1A7RWU1NENEO0lEeURFLDZCQURNO0dkdTFDUDtDQUNGO0FFMXdDSztFYXRJSjtJRHlERSw0QkFETTtHZDQxQ1A7RWVwNUNEO0lEeURFLDJCQURNO0dkKzFDUDtFZXY1Q0Q7SUR5REUsc0NBRE07R2RrMkNQO0VlMTVDRDtJRHlERSwyQkFETTtHZHEyQ1A7RWU3NUNEO0lEeURFLDJCQURNO0dkdzJDUDtFZWg2Q0Q7SUR5REUsc0NBRE07R2QyMkNQO0VlbjZDRDtJRHlERSxzQ0FETTtHZDgyQ1A7RWV0NkNEO0lEeURFLDZCQURNO0dkaTNDUDtDQUNGO0FFL3hDSztFYTNJSjtJRHlERSw0QkFETTtHZHMzQ1A7RWU5NkNEO0lEeURFLDJCQURNO0dkeTNDUDtFZWo3Q0Q7SUR5REUsc0NBRE07R2Q0M0NQO0VlcDdDRDtJRHlERSwyQkFETTtHZCszQ1A7RWV2N0NEO0lEeURFLDJCQURNO0dkazRDUDtFZTE3Q0Q7SUR5REUsc0NBRE07R2RxNENQO0VlNzdDRDtJRHlERSxzQ0FETTtHZHc0Q1A7RWVoOENEO0lEeURFLDZCQURNO0dkMjRDUDtDQUNGO0FFenpDSztFYTNJSjtJRHlERSw0QkFETTtHZGc1Q1A7RWV4OENEO0lEeURFLDJCQURNO0dkbTVDUDtFZTM4Q0Q7SUR5REUsc0NBRE07R2RzNUNQO0VlOThDRDtJRHlERSwyQkFETTtHZHk1Q1A7RWVqOUNEO0lEeURFLDJCQURNO0dkNDVDUDtFZXA5Q0Q7SUR5REUsc0NBRE07R2QrNUNQO0VldjlDRDtJRHlERSxzQ0FETTtHZGs2Q1A7RWUxOUNEO0lEeURFLDZCQURNO0dkcTZDUDtDQUNGO0FXNXhDSztFS3ZNRSxnQkFBQTtFQUFBLGVBQUE7Q2hCdStDUDtBZ0JwK0NLO0VBRUksZ0JBQUE7RUFBQSxlQUFBO0NoQnMrQ1Q7QWdCaDlDVztFRm1DUixxQkFETTtDZGk3Q1Q7QWdCbjlDVztFRm1DUixzQkFETTtDZG83Q1Q7QWdCdDlDVztFRm1DUixXQURNO0NkdTdDVDtBZ0J6OUNXO0VGbUNSLHNCQURNO0NkMDdDVDtBZ0I1OUNXO0VGbUNSLHNCQURNO0NkNjdDVDtBZ0IvOUNXO0VGbUNSLFdBRE07Q2RnOENUO0FnQmwrQ1c7RUZtQ1Isc0JBRE07Q2RtOENUO0FnQnIrQ1c7RUZtQ1Isc0JBRE07Q2RzOENUO0FnQngrQ1c7RUZtQ1IsV0FETTtDZHk4Q1Q7QWdCMytDVztFRm1DUixzQkFETTtDZDQ4Q1Q7QWdCOStDVztFRm1DUixzQkFETTtDZCs4Q1Q7QWdCai9DVztFRm1DUixZQURNO0NkazlDVDtBRXA0Q0s7RWNoSE07SUZtQ1IscUJBRE07R2RzOUNQO0VnQngvQ1M7SUZtQ1Isc0JBRE07R2R5OUNQO0VnQjMvQ1M7SUZtQ1IsV0FETTtHZDQ5Q1A7RWdCOS9DUztJRm1DUixzQkFETTtHZCs5Q1A7RWdCamdEUztJRm1DUixzQkFETTtHZGsrQ1A7RWdCcGdEUztJRm1DUixXQURNO0dkcStDUDtFZ0J2Z0RTO0lGbUNSLHNCQURNO0dkdytDUDtFZ0IxZ0RTO0lGbUNSLHNCQURNO0dkMitDUDtFZ0I3Z0RTO0lGbUNSLFdBRE07R2Q4K0NQO0VnQmhoRFM7SUZtQ1Isc0JBRE07R2RpL0NQO0VnQm5oRFM7SUZtQ1Isc0JBRE07R2RvL0NQO0VnQnRoRFM7SUZtQ1IsWUFETTtHZHUvQ1A7Q0FDRjtBRTE2Q0s7RWNoSE07SUZtQ1IscUJBRE07R2Q0L0NQO0VnQjloRFM7SUZtQ1Isc0JBRE07R2QrL0NQO0VnQmppRFM7SUZtQ1IsV0FETTtHZGtnRFA7RWdCcGlEUztJRm1DUixzQkFETTtHZHFnRFA7RWdCdmlEUztJRm1DUixzQkFETTtHZHdnRFA7RWdCMWlEUztJRm1DUixXQURNO0dkMmdEUDtFZ0I3aURTO0lGbUNSLHNCQURNO0dkOGdEUDtFZ0JoakRTO0lGbUNSLHNCQURNO0dkaWhEUDtFZ0JuakRTO0lGbUNSLFdBRE07R2RvaERQO0VnQnRqRFM7SUZtQ1Isc0JBRE07R2R1aERQO0VnQnpqRFM7SUZtQ1Isc0JBRE07R2QwaERQO0VnQjVqRFM7SUZtQ1IsWUFETTtHZDZoRFA7Q0FDRjtBRTM4Q0s7RWNySE07SUZtQ1IscUJBRE07R2RraURQO0VnQnBrRFM7SUZtQ1Isc0JBRE07R2RxaURQO0VnQnZrRFM7SUZtQ1IsV0FETTtHZHdpRFA7RWdCMWtEUztJRm1DUixzQkFETTtHZDJpRFA7RWdCN2tEUztJRm1DUixzQkFETTtHZDhpRFA7RWdCaGxEUztJRm1DUixXQURNO0dkaWpEUDtFZ0JubERTO0lGbUNSLHNCQURNO0dkb2pEUDtFZ0J0bERTO0lGbUNSLHNCQURNO0dkdWpEUDtFZ0J6bERTO0lGbUNSLFdBRE07R2QwakRQO0VnQjVsRFM7SUZtQ1Isc0JBRE07R2Q2akRQO0VnQi9sRFM7SUZtQ1Isc0JBRE07R2Rna0RQO0VnQmxtRFM7SUZtQ1IsWUFETTtHZG1rRFA7Q0FDRjtBRWovQ0s7RWNySE07SUZtQ1IscUJBRE07R2R3a0RQO0VnQjFtRFM7SUZtQ1Isc0JBRE07R2Qya0RQO0VnQjdtRFM7SUZtQ1IsV0FETTtHZDhrRFA7RWdCaG5EUztJRm1DUixzQkFETTtHZGlsRFA7RWdCbm5EUztJRm1DUixzQkFETTtHZG9sRFA7RWdCdG5EUztJRm1DUixXQURNO0dkdWxEUDtFZ0J6bkRTO0lGbUNSLHNCQURNO0dkMGxEUDtFZ0I1bkRTO0lGbUNSLHNCQURNO0dkNmxEUDtFZ0IvbkRTO0lGbUNSLFdBRE07R2RnbURQO0VnQmxvRFM7SUZtQ1Isc0JBRE07R2RtbURQO0VnQnJvRFM7SUZtQ1Isc0JBRE07R2RzbURQO0VnQnhvRFM7SUZtQ1IsWUFETTtHZHltRFA7Q0FDRjs7QVcxOUNLO0VLdEtFLGdCQUFBO0VBQUEsZUFBQTtDaEJxb0RQO0FnQmxvREs7RUFFSSxpQkFBQTtFQUFBLGdCQUFBO0NoQm9vRFQ7O0FFcmlESztFUzREQTtJS3ZNRSxnQkFBQTtJQUFBLGVBQUE7R2hCc3JETDtFZ0JuckRHO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0doQnFyRFA7Q0FDRjtBRWhqREs7RWN6SE07SUY0Q1IscUJBRE07R2Rrb0RQO0VnQjdxRFM7SUY0Q1Isc0JBRE07R2Rxb0RQO0VnQmhyRFM7SUY0Q1IsV0FETTtHZHdvRFA7RWdCbnJEUztJRjRDUixzQkFETTtHZDJvRFA7RWdCdHJEUztJRjRDUixzQkFETTtHZDhvRFA7RWdCenJEUztJRjRDUixXQURNO0dkaXBEUDtFZ0I1ckRTO0lGNENSLHNCQURNO0dkb3BEUDtFZ0IvckRTO0lGNENSLHNCQURNO0dkdXBEUDtFZ0Jsc0RTO0lGNENSLFdBRE07R2QwcERQO0VnQnJzRFM7SUY0Q1Isc0JBRE07R2Q2cERQO0VnQnhzRFM7SUY0Q1Isc0JBRE07R2RncURQO0VnQjNzRFM7SUY0Q1IsWUFETTtHZG1xRFA7Q0FDRjtBRXRsREs7RWNoSE07SUZtQ1IscUJBRE07R2R3cURQO0VnQjFzRFM7SUZtQ1Isc0JBRE07R2QycURQO0VnQjdzRFM7SUZtQ1IsV0FETTtHZDhxRFA7RWdCaHREUztJRm1DUixzQkFETTtHZGlyRFA7RWdCbnREUztJRm1DUixzQkFETTtHZG9yRFA7RWdCdHREUztJRm1DUixXQURNO0dkdXJEUDtFZ0J6dERTO0lGbUNSLHNCQURNO0dkMHJEUDtFZ0I1dERTO0lGbUNSLHNCQURNO0dkNnJEUDtFZ0IvdERTO0lGbUNSLFdBRE07R2Rnc0RQO0VnQmx1RFM7SUZtQ1Isc0JBRE07R2Rtc0RQO0VnQnJ1RFM7SUZtQ1Isc0JBRE07R2Rzc0RQO0VnQnh1RFM7SUZtQ1IsWUFETTtHZHlzRFA7Q0FDRjtBRTVuREs7RWNoSE07SUZtQ1IscUJBRE07R2Q4c0RQO0VnQmh2RFM7SUZtQ1Isc0JBRE07R2RpdERQO0VnQm52RFM7SUZtQ1IsV0FETTtHZG90RFA7RWdCdHZEUztJRm1DUixzQkFETTtHZHV0RFA7RWdCenZEUztJRm1DUixzQkFETTtHZDB0RFA7RWdCNXZEUztJRm1DUixXQURNO0dkNnREUDtFZ0IvdkRTO0lGbUNSLHNCQURNO0dkZ3VEUDtFZ0Jsd0RTO0lGbUNSLHNCQURNO0dkbXVEUDtFZ0Jyd0RTO0lGbUNSLFdBRE07R2RzdURQO0VnQnh3RFM7SUZtQ1Isc0JBRE07R2R5dURQO0VnQjN3RFM7SUZtQ1Isc0JBRE07R2Q0dURQO0VnQjl3RFM7SUZtQ1IsWUFETTtHZCt1RFA7Q0FDRjtBRTdwREs7RWNySE07SUZtQ1IscUJBRE07R2RvdkRQO0VnQnR4RFM7SUZtQ1Isc0JBRE07R2R1dkRQO0VnQnp4RFM7SUZtQ1IsV0FETTtHZDB2RFA7RWdCNXhEUztJRm1DUixzQkFETTtHZDZ2RFA7RWdCL3hEUztJRm1DUixzQkFETTtHZGd3RFA7RWdCbHlEUztJRm1DUixXQURNO0dkbXdEUDtFZ0JyeURTO0lGbUNSLHNCQURNO0dkc3dEUDtFZ0J4eURTO0lGbUNSLHNCQURNO0dkeXdEUDtFZ0IzeURTO0lGbUNSLFdBRE07R2Q0d0RQO0VnQjl5RFM7SUZtQ1Isc0JBRE07R2Qrd0RQO0VnQmp6RFM7SUZtQ1Isc0JBRE07R2RreERQO0VnQnB6RFM7SUZtQ1IsWUFETTtHZHF4RFA7Q0FDRjtBRW5zREs7RWNySE07SUZtQ1IscUJBRE07R2QweERQO0VnQjV6RFM7SUZtQ1Isc0JBRE07R2Q2eERQO0VnQi96RFM7SUZtQ1IsV0FETTtHZGd5RFA7RWdCbDBEUztJRm1DUixzQkFETTtHZG15RFA7RWdCcjBEUztJRm1DUixzQkFETTtHZHN5RFA7RWdCeDBEUztJRm1DUixXQURNO0dkeXlEUDtFZ0IzMERTO0lGbUNSLHNCQURNO0dkNHlEUDtFZ0I5MERTO0lGbUNSLHNCQURNO0dkK3lEUDtFZ0JqMURTO0lGbUNSLFdBRE07R2RrekRQO0VnQnAxRFM7SUZtQ1Isc0JBRE07R2RxekRQO0VnQnYxRFM7SUZtQ1Isc0JBRE07R2R3ekRQO0VnQjExRFM7SUZtQ1IsWUFETTtHZDJ6RFA7Q0FDRjs7QUU5dURLO0VTa0VBO0lLdEtFLGdCQUFBO0lBQUEsZUFBQTtHaEJ3MURMO0VnQnIxREc7SUFFSSxpQkFBQTtJQUFBLGdCQUFBO0doQnUxRFA7Q0FDRjs7QUV6dkRLO0VTNERBO0lLdk1FLGdCQUFBO0lBQUEsZUFBQTtHaEIwNERMO0VnQnY0REc7SUFFSSxnQkFBQTtJQUFBLGVBQUE7R2hCeTREUDtDQUNGO0FFcHdESztFY3pITTtJRjRDUixxQkFETTtHZHMxRFA7RWdCajREUztJRjRDUixzQkFETTtHZHkxRFA7RWdCcDREUztJRjRDUixXQURNO0dkNDFEUDtFZ0J2NERTO0lGNENSLHNCQURNO0dkKzFEUDtFZ0IxNERTO0lGNENSLHNCQURNO0dkazJEUDtFZ0I3NERTO0lGNENSLFdBRE07R2RxMkRQO0VnQmg1RFM7SUY0Q1Isc0JBRE07R2R3MkRQO0VnQm41RFM7SUY0Q1Isc0JBRE07R2QyMkRQO0VnQnQ1RFM7SUY0Q1IsV0FETTtHZDgyRFA7RWdCejVEUztJRjRDUixzQkFETTtHZGkzRFA7RWdCNTVEUztJRjRDUixzQkFETTtHZG8zRFA7RWdCLzVEUztJRjRDUixZQURNO0dkdTNEUDtDQUNGO0FFMXlESztFY3pITTtJRjRDUixxQkFETTtHZDQzRFA7RWdCdjZEUztJRjRDUixzQkFETTtHZCszRFA7RWdCMTZEUztJRjRDUixXQURNO0dkazREUDtFZ0I3NkRTO0lGNENSLHNCQURNO0dkcTREUDtFZ0JoN0RTO0lGNENSLHNCQURNO0dkdzREUDtFZ0JuN0RTO0lGNENSLFdBRE07R2QyNERQO0VnQnQ3RFM7SUY0Q1Isc0JBRE07R2Q4NERQO0VnQno3RFM7SUY0Q1Isc0JBRE07R2RpNURQO0VnQjU3RFM7SUY0Q1IsV0FETTtHZG81RFA7RWdCLzdEUztJRjRDUixzQkFETTtHZHU1RFA7RWdCbDhEUztJRjRDUixzQkFETTtHZDA1RFA7RWdCcjhEUztJRjRDUixZQURNO0dkNjVEUDtDQUNGO0FFaDFESztFY2hITTtJRm1DUixxQkFETTtHZGs2RFA7RWdCcDhEUztJRm1DUixzQkFETTtHZHE2RFA7RWdCdjhEUztJRm1DUixXQURNO0dkdzZEUDtFZ0IxOERTO0lGbUNSLHNCQURNO0dkMjZEUDtFZ0I3OERTO0lGbUNSLHNCQURNO0dkODZEUDtFZ0JoOURTO0lGbUNSLFdBRE07R2RpN0RQO0VnQm45RFM7SUZtQ1Isc0JBRE07R2RvN0RQO0VnQnQ5RFM7SUZtQ1Isc0JBRE07R2R1N0RQO0VnQno5RFM7SUZtQ1IsV0FETTtHZDA3RFA7RWdCNTlEUztJRm1DUixzQkFETTtHZDY3RFA7RWdCLzlEUztJRm1DUixzQkFETTtHZGc4RFA7RWdCbCtEUztJRm1DUixZQURNO0dkbThEUDtDQUNGO0FFajNESztFY3JITTtJRm1DUixxQkFETTtHZHc4RFA7RWdCMStEUztJRm1DUixzQkFETTtHZDI4RFA7RWdCNytEUztJRm1DUixXQURNO0dkODhEUDtFZ0JoL0RTO0lGbUNSLHNCQURNO0dkaTlEUDtFZ0JuL0RTO0lGbUNSLHNCQURNO0dkbzlEUDtFZ0J0L0RTO0lGbUNSLFdBRE07R2R1OURQO0VnQnovRFM7SUZtQ1Isc0JBRE07R2QwOURQO0VnQjUvRFM7SUZtQ1Isc0JBRE07R2Q2OURQO0VnQi8vRFM7SUZtQ1IsV0FETTtHZGcrRFA7RWdCbGdFUztJRm1DUixzQkFETTtHZG0rRFA7RWdCcmdFUztJRm1DUixzQkFETTtHZHMrRFA7RWdCeGdFUztJRm1DUixZQURNO0dkeStEUDtDQUNGO0FFdjVESztFY3JITTtJRm1DUixxQkFETTtHZDgrRFA7RWdCaGhFUztJRm1DUixzQkFETTtHZGkvRFA7RWdCbmhFUztJRm1DUixXQURNO0dkby9EUDtFZ0J0aEVTO0lGbUNSLHNCQURNO0dkdS9EUDtFZ0J6aEVTO0lGbUNSLHNCQURNO0dkMC9EUDtFZ0I1aEVTO0lGbUNSLFdBRE07R2Q2L0RQO0VnQi9oRVM7SUZtQ1Isc0JBRE07R2RnZ0VQO0VnQmxpRVM7SUZtQ1Isc0JBRE07R2RtZ0VQO0VnQnJpRVM7SUZtQ1IsV0FETTtHZHNnRVA7RWdCeGlFUztJRm1DUixzQkFETTtHZHlnRVA7RWdCM2lFUztJRm1DUixzQkFETTtHZDRnRVA7RWdCOWlFUztJRm1DUixZQURNO0dkK2dFUDtDQUNGOztBRWw4REs7RVNrRUE7SUt0S0UsZ0JBQUE7SUFBQSxlQUFBO0doQjRpRUw7RWdCemlFRztJQUVJLGlCQUFBO0lBQUEsZ0JBQUE7R2hCMmlFUDtDQUNGOztBRXg4REs7RVN1REE7SUt2TUUsZ0JBQUE7SUFBQSxlQUFBO0doQjhsRUw7RWdCM2xFRztJQUVJLGdCQUFBO0lBQUEsZUFBQTtHaEI2bEVQO0NBQ0Y7QUVuOURLO0VjOUhNO0lGNENSLHFCQURNO0dkMGlFUDtFZ0JybEVTO0lGNENSLHNCQURNO0dkNmlFUDtFZ0J4bEVTO0lGNENSLFdBRE07R2RnakVQO0VnQjNsRVM7SUY0Q1Isc0JBRE07R2RtakVQO0VnQjlsRVM7SUY0Q1Isc0JBRE07R2RzakVQO0VnQmptRVM7SUY0Q1IsV0FETTtHZHlqRVA7RWdCcG1FUztJRjRDUixzQkFETTtHZDRqRVA7RWdCdm1FUztJRjRDUixzQkFETTtHZCtqRVA7RWdCMW1FUztJRjRDUixXQURNO0dka2tFUDtFZ0I3bUVTO0lGNENSLHNCQURNO0dkcWtFUDtFZ0JobkVTO0lGNENSLHNCQURNO0dkd2tFUDtFZ0JubkVTO0lGNENSLFlBRE07R2Qya0VQO0NBQ0Y7QUV6L0RLO0VjOUhNO0lGNENSLHFCQURNO0dkZ2xFUDtFZ0IzbkVTO0lGNENSLHNCQURNO0dkbWxFUDtFZ0I5bkVTO0lGNENSLFdBRE07R2RzbEVQO0VnQmpvRVM7SUY0Q1Isc0JBRE07R2R5bEVQO0VnQnBvRVM7SUY0Q1Isc0JBRE07R2Q0bEVQO0VnQnZvRVM7SUY0Q1IsV0FETTtHZCtsRVA7RWdCMW9FUztJRjRDUixzQkFETTtHZGttRVA7RWdCN29FUztJRjRDUixzQkFETTtHZHFtRVA7RWdCaHBFUztJRjRDUixXQURNO0dkd21FUDtFZ0JucEVTO0lGNENSLHNCQURNO0dkMm1FUDtFZ0J0cEVTO0lGNENSLHNCQURNO0dkOG1FUDtFZ0J6cEVTO0lGNENSLFlBRE07R2RpbkVQO0NBQ0Y7QUUvaEVLO0VjOUhNO0lGNENSLHFCQURNO0dkc25FUDtFZ0JqcUVTO0lGNENSLHNCQURNO0dkeW5FUDtFZ0JwcUVTO0lGNENSLFdBRE07R2Q0bkVQO0VnQnZxRVM7SUY0Q1Isc0JBRE07R2QrbkVQO0VnQjFxRVM7SUY0Q1Isc0JBRE07R2Rrb0VQO0VnQjdxRVM7SUY0Q1IsV0FETTtHZHFvRVA7RWdCaHJFUztJRjRDUixzQkFETTtHZHdvRVA7RWdCbnJFUztJRjRDUixzQkFETTtHZDJvRVA7RWdCdHJFUztJRjRDUixXQURNO0dkOG9FUDtFZ0J6ckVTO0lGNENSLHNCQURNO0dkaXBFUDtFZ0I1ckVTO0lGNENSLHNCQURNO0dkb3BFUDtFZ0IvckVTO0lGNENSLFlBRE07R2R1cEVQO0NBQ0Y7QUVya0VLO0VjckhNO0lGbUNSLHFCQURNO0dkNHBFUDtFZ0I5ckVTO0lGbUNSLHNCQURNO0dkK3BFUDtFZ0Jqc0VTO0lGbUNSLFdBRE07R2RrcUVQO0VnQnBzRVM7SUZtQ1Isc0JBRE07R2RxcUVQO0VnQnZzRVM7SUZtQ1Isc0JBRE07R2R3cUVQO0VnQjFzRVM7SUZtQ1IsV0FETTtHZDJxRVA7RWdCN3NFUztJRm1DUixzQkFETTtHZDhxRVA7RWdCaHRFUztJRm1DUixzQkFETTtHZGlyRVA7RWdCbnRFUztJRm1DUixXQURNO0dkb3JFUDtFZ0J0dEVTO0lGbUNSLHNCQURNO0dkdXJFUDtFZ0J6dEVTO0lGbUNSLHNCQURNO0dkMHJFUDtFZ0I1dEVTO0lGbUNSLFlBRE07R2Q2ckVQO0NBQ0Y7QUUzbUVLO0VjckhNO0lGbUNSLHFCQURNO0dka3NFUDtFZ0JwdUVTO0lGbUNSLHNCQURNO0dkcXNFUDtFZ0J2dUVTO0lGbUNSLFdBRE07R2R3c0VQO0VnQjF1RVM7SUZtQ1Isc0JBRE07R2Qyc0VQO0VnQjd1RVM7SUZtQ1Isc0JBRE07R2Q4c0VQO0VnQmh2RVM7SUZtQ1IsV0FETTtHZGl0RVA7RWdCbnZFUztJRm1DUixzQkFETTtHZG90RVA7RWdCdHZFUztJRm1DUixzQkFETTtHZHV0RVA7RWdCenZFUztJRm1DUixXQURNO0dkMHRFUDtFZ0I1dkVTO0lGbUNSLHNCQURNO0dkNnRFUDtFZ0IvdkVTO0lGbUNSLHNCQURNO0dkZ3VFUDtFZ0Jsd0VTO0lGbUNSLFlBRE07R2RtdUVQO0NBQ0Y7O0FFanBFSztFUzZEQTtJS3RLRSxnQkFBQTtJQUFBLGVBQUE7R2hCZ3dFTDtFZ0I3dkVHO0lBRUksaUJBQUE7SUFBQSxnQkFBQTtHaEIrdkVQO0NBQ0Y7O0FFNXBFSztFU3VEQTtJS3ZNRSxnQkFBQTtJQUFBLGVBQUE7R2hCa3pFTDtFZ0IveUVHO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0doQml6RVA7Q0FDRjtBRXZxRUs7RWM5SE07SUY0Q1IscUJBRE07R2Q4dkVQO0VnQnp5RVM7SUY0Q1Isc0JBRE07R2Rpd0VQO0VnQjV5RVM7SUY0Q1IsV0FETTtHZG93RVA7RWdCL3lFUztJRjRDUixzQkFETTtHZHV3RVA7RWdCbHpFUztJRjRDUixzQkFETTtHZDB3RVA7RWdCcnpFUztJRjRDUixXQURNO0dkNndFUDtFZ0J4ekVTO0lGNENSLHNCQURNO0dkZ3hFUDtFZ0IzekVTO0lGNENSLHNCQURNO0dkbXhFUDtFZ0I5ekVTO0lGNENSLFdBRE07R2RzeEVQO0VnQmowRVM7SUY0Q1Isc0JBRE07R2R5eEVQO0VnQnAwRVM7SUY0Q1Isc0JBRE07R2Q0eEVQO0VnQnYwRVM7SUY0Q1IsWUFETTtHZCt4RVA7Q0FDRjtBRTdzRUs7RWM5SE07SUY0Q1IscUJBRE07R2RveUVQO0VnQi8wRVM7SUY0Q1Isc0JBRE07R2R1eUVQO0VnQmwxRVM7SUY0Q1IsV0FETTtHZDB5RVA7RWdCcjFFUztJRjRDUixzQkFETTtHZDZ5RVA7RWdCeDFFUztJRjRDUixzQkFETTtHZGd6RVA7RWdCMzFFUztJRjRDUixXQURNO0dkbXpFUDtFZ0I5MUVTO0lGNENSLHNCQURNO0dkc3pFUDtFZ0JqMkVTO0lGNENSLHNCQURNO0dkeXpFUDtFZ0JwMkVTO0lGNENSLFdBRE07R2Q0ekVQO0VnQnYyRVM7SUY0Q1Isc0JBRE07R2QrekVQO0VnQjEyRVM7SUY0Q1Isc0JBRE07R2RrMEVQO0VnQjcyRVM7SUY0Q1IsWUFETTtHZHEwRVA7Q0FDRjtBRW52RUs7RWM5SE07SUY0Q1IscUJBRE07R2QwMEVQO0VnQnIzRVM7SUY0Q1Isc0JBRE07R2Q2MEVQO0VnQngzRVM7SUY0Q1IsV0FETTtHZGcxRVA7RWdCMzNFUztJRjRDUixzQkFETTtHZG0xRVA7RWdCOTNFUztJRjRDUixzQkFETTtHZHMxRVA7RWdCajRFUztJRjRDUixXQURNO0dkeTFFUDtFZ0JwNEVTO0lGNENSLHNCQURNO0dkNDFFUDtFZ0J2NEVTO0lGNENSLHNCQURNO0dkKzFFUDtFZ0IxNEVTO0lGNENSLFdBRE07R2RrMkVQO0VnQjc0RVM7SUY0Q1Isc0JBRE07R2RxMkVQO0VnQmg1RVM7SUY0Q1Isc0JBRE07R2R3MkVQO0VnQm41RVM7SUY0Q1IsWUFETTtHZDIyRVA7Q0FDRjtBRXp4RUs7RWM5SE07SUY0Q1IscUJBRE07R2RnM0VQO0VnQjM1RVM7SUY0Q1Isc0JBRE07R2RtM0VQO0VnQjk1RVM7SUY0Q1IsV0FETTtHZHMzRVA7RWdCajZFUztJRjRDUixzQkFETTtHZHkzRVA7RWdCcDZFUztJRjRDUixzQkFETTtHZDQzRVA7RWdCdjZFUztJRjRDUixXQURNO0dkKzNFUDtFZ0IxNkVTO0lGNENSLHNCQURNO0dkazRFUDtFZ0I3NkVTO0lGNENSLHNCQURNO0dkcTRFUDtFZ0JoN0VTO0lGNENSLFdBRE07R2R3NEVQO0VnQm43RVM7SUY0Q1Isc0JBRE07R2QyNEVQO0VnQnQ3RVM7SUY0Q1Isc0JBRE07R2Q4NEVQO0VnQno3RVM7SUY0Q1IsWUFETTtHZGk1RVA7Q0FDRjtBRS96RUs7RWNySE07SUZtQ1IscUJBRE07R2RzNUVQO0VnQng3RVM7SUZtQ1Isc0JBRE07R2R5NUVQO0VnQjM3RVM7SUZtQ1IsV0FETTtHZDQ1RVA7RWdCOTdFUztJRm1DUixzQkFETTtHZCs1RVA7RWdCajhFUztJRm1DUixzQkFETTtHZGs2RVA7RWdCcDhFUztJRm1DUixXQURNO0dkcTZFUDtFZ0J2OEVTO0lGbUNSLHNCQURNO0dkdzZFUDtFZ0IxOEVTO0lGbUNSLHNCQURNO0dkMjZFUDtFZ0I3OEVTO0lGbUNSLFdBRE07R2Q4NkVQO0VnQmg5RVM7SUZtQ1Isc0JBRE07R2RpN0VQO0VnQm45RVM7SUZtQ1Isc0JBRE07R2RvN0VQO0VnQnQ5RVM7SUZtQ1IsWUFETTtHZHU3RVA7Q0FDRjs7QUVyMkVLO0VTNkRBO0lLdEtFLGdCQUFBO0lBQUEsZUFBQTtHaEJvOUVMO0VnQmo5RUc7SUFFSSxpQkFBQTtJQUFBLGdCQUFBO0doQm05RVA7Q0FDRjs7QVdyeUVLO0VNMU5GLGdCQUFBO0NqQm1nRkg7O0FXcnlFSztFTTlORiw2QkFBQTtDakJ1Z0ZIOztBVzd5RUs7RU0xTkYsMkJBQUE7Q2pCMmdGSDs7QVc3eUVLO0VNOU5GLHdDQUFBO0NqQitnRkg7O0FXcnpFSztFTTFORiw0QkFBQTtDakJtaEZIOztBV3J6RUs7RU05TkYseUNBQUE7Q2pCdWhGSDs7QVc3ekVLO0VNMU5GLGlCQUFBO0NqQjJoRkg7O0FXN3pFSztFTTlORiw4QkFBQTtDakIraEZIOztBV3IwRUs7RU0xTkYsNEJBQUE7Q2pCbWlGSDs7QVdyMEVLO0VNOU5GLHlDQUFBO0NqQnVpRkg7O0FXNzBFSztFTTFORiw0QkFBQTtDakIyaUZIOztBVzcwRUs7RU05TkYseUNBQUE7Q2pCK2lGSDs7QVdyMUVLO0VNMU5GLGlCQUFBO0NqQm1qRkg7O0FXcjFFSztFTTlORiw4QkFBQTtDakJ1akZIOztBVzcxRUs7RU0xTkYsNEJBQUE7Q2pCMmpGSDs7QVc3MUVLO0VNOU5GLHlDQUFBO0NqQitqRkg7O0FXcjJFSztFTTFORiw0QkFBQTtDakJta0ZIOztBV3IyRUs7RU05TkYseUNBQUE7Q2pCdWtGSDs7QVc3MkVLO0VNMU5GLGlCQUFBO0NqQjJrRkg7O0FXNzJFSztFTTlORiw4QkFBQTtDakIra0ZIOztBV3IzRUs7RU0xTkYsNEJBQUE7Q2pCbWxGSDs7QVdyM0VLO0VNOU5GLHlDQUFBO0NqQnVsRkg7O0FXNzNFSztFTTFORiw0QkFBQTtDakIybEZIOztBVzczRUs7RU05TkYseUNBQUE7Q2pCK2xGSDs7QUVyOUVLO0VTZ0ZBO0lNMU5GLGdCQUFBO0dqQm9tRkQ7RVd0NEVHO0lNOU5GLGlDQUFBO0dqQnVtRkQ7RVc3NEVHO0lNMU5GLDJCQUFBO0dqQjBtRkQ7RVc1NEVHO0lNOU5GLDRDQUFBO0dqQjZtRkQ7RVduNUVHO0lNMU5GLDRCQUFBO0dqQmduRkQ7RVdsNUVHO0lNOU5GLDZDQUFBO0dqQm1uRkQ7RVd6NUVHO0lNMU5GLGlCQUFBO0dqQnNuRkQ7RVd4NUVHO0lNOU5GLGtDQUFBO0dqQnluRkQ7RVcvNUVHO0lNMU5GLDRCQUFBO0dqQjRuRkQ7RVc5NUVHO0lNOU5GLDZDQUFBO0dqQituRkQ7RVdyNkVHO0lNMU5GLDRCQUFBO0dqQmtvRkQ7RVdwNkVHO0lNOU5GLDZDQUFBO0dqQnFvRkQ7RVczNkVHO0lNMU5GLGlCQUFBO0dqQndvRkQ7RVcxNkVHO0lNOU5GLGtDQUFBO0dqQjJvRkQ7RVdqN0VHO0lNMU5GLDRCQUFBO0dqQjhvRkQ7RVdoN0VHO0lNOU5GLDZDQUFBO0dqQmlwRkQ7RVd2N0VHO0lNMU5GLDRCQUFBO0dqQm9wRkQ7RVd0N0VHO0lNOU5GLDZDQUFBO0dqQnVwRkQ7RVc3N0VHO0lNMU5GLGlCQUFBO0dqQjBwRkQ7RVc1N0VHO0lNOU5GLGtDQUFBO0dqQjZwRkQ7RVduOEVHO0lNMU5GLDRCQUFBO0dqQmdxRkQ7RVdsOEVHO0lNOU5GLDZDQUFBO0dqQm1xRkQ7RVd6OEVHO0lNMU5GLDRCQUFBO0dqQnNxRkQ7RVd4OEVHO0lNOU5GLDZDQUFBO0dqQnlxRkQ7Q0FDRjtBRWhpRks7RVNnRkE7SU0xTkYsZ0JBQUE7R2pCOHFGRDtFV2g5RUc7SU05TkYsaUNBQUE7R2pCaXJGRDtFV3Y5RUc7SU0xTkYsMkJBQUE7R2pCb3JGRDtFV3Q5RUc7SU05TkYsNENBQUE7R2pCdXJGRDtFVzc5RUc7SU0xTkYsNEJBQUE7R2pCMHJGRDtFVzU5RUc7SU05TkYsNkNBQUE7R2pCNnJGRDtFV24rRUc7SU0xTkYsaUJBQUE7R2pCZ3NGRDtFV2wrRUc7SU05TkYsa0NBQUE7R2pCbXNGRDtFV3orRUc7SU0xTkYsNEJBQUE7R2pCc3NGRDtFV3grRUc7SU05TkYsNkNBQUE7R2pCeXNGRDtFVy8rRUc7SU0xTkYsNEJBQUE7R2pCNHNGRDtFVzkrRUc7SU05TkYsNkNBQUE7R2pCK3NGRDtFV3IvRUc7SU0xTkYsaUJBQUE7R2pCa3RGRDtFV3AvRUc7SU05TkYsa0NBQUE7R2pCcXRGRDtFVzMvRUc7SU0xTkYsNEJBQUE7R2pCd3RGRDtFVzEvRUc7SU05TkYsNkNBQUE7R2pCMnRGRDtFV2pnRkc7SU0xTkYsNEJBQUE7R2pCOHRGRDtFV2hnRkc7SU05TkYsNkNBQUE7R2pCaXVGRDtFV3ZnRkc7SU0xTkYsaUJBQUE7R2pCb3VGRDtFV3RnRkc7SU05TkYsa0NBQUE7R2pCdXVGRDtFVzdnRkc7SU0xTkYsNEJBQUE7R2pCMHVGRDtFVzVnRkc7SU05TkYsNkNBQUE7R2pCNnVGRDtFV25oRkc7SU0xTkYsNEJBQUE7R2pCZ3ZGRDtFV2xoRkc7SU05TkYsNkNBQUE7R2pCbXZGRDtDQUNGO0FFcm1GSztFUzJFQTtJTTFORixnQkFBQTtHakJ3dkZEO0VXMWhGRztJTTlORixpQ0FBQTtHakIydkZEO0VXamlGRztJTTFORiwyQkFBQTtHakI4dkZEO0VXaGlGRztJTTlORiw0Q0FBQTtHakJpd0ZEO0VXdmlGRztJTTFORiw0QkFBQTtHakJvd0ZEO0VXdGlGRztJTTlORiw2Q0FBQTtHakJ1d0ZEO0VXN2lGRztJTTFORixpQkFBQTtHakIwd0ZEO0VXNWlGRztJTTlORixrQ0FBQTtHakI2d0ZEO0VXbmpGRztJTTFORiw0QkFBQTtHakJneEZEO0VXbGpGRztJTTlORiw2Q0FBQTtHakJteEZEO0VXempGRztJTTFORiw0QkFBQTtHakJzeEZEO0VXeGpGRztJTTlORiw2Q0FBQTtHakJ5eEZEO0VXL2pGRztJTTFORixpQkFBQTtHakI0eEZEO0VXOWpGRztJTTlORixrQ0FBQTtHakIreEZEO0VXcmtGRztJTTFORiw0QkFBQTtHakJreUZEO0VXcGtGRztJTTlORiw2Q0FBQTtHakJxeUZEO0VXM2tGRztJTTFORiw0QkFBQTtHakJ3eUZEO0VXMWtGRztJTTlORiw2Q0FBQTtHakIyeUZEO0VXamxGRztJTTFORixpQkFBQTtHakI4eUZEO0VXaGxGRztJTTlORixrQ0FBQTtHakJpekZEO0VXdmxGRztJTTFORiw0QkFBQTtHakJvekZEO0VXdGxGRztJTTlORiw2Q0FBQTtHakJ1ekZEO0VXN2xGRztJTTFORiw0QkFBQTtHakIwekZEO0VXNWxGRztJTTlORiw2Q0FBQTtHakI2ekZEO0NBQ0Y7QUUvcUZLO0VTMkVBO0lNMU5GLGdCQUFBO0dqQmswRkQ7RVdwbUZHO0lNOU5GLGlDQUFBO0dqQnEwRkQ7RVczbUZHO0lNMU5GLDJCQUFBO0dqQncwRkQ7RVcxbUZHO0lNOU5GLDRDQUFBO0dqQjIwRkQ7RVdqbkZHO0lNMU5GLDRCQUFBO0dqQjgwRkQ7RVdobkZHO0lNOU5GLDZDQUFBO0dqQmkxRkQ7RVd2bkZHO0lNMU5GLGlCQUFBO0dqQm8xRkQ7RVd0bkZHO0lNOU5GLGtDQUFBO0dqQnUxRkQ7RVc3bkZHO0lNMU5GLDRCQUFBO0dqQjAxRkQ7RVc1bkZHO0lNOU5GLDZDQUFBO0dqQjYxRkQ7RVdub0ZHO0lNMU5GLDRCQUFBO0dqQmcyRkQ7RVdsb0ZHO0lNOU5GLDZDQUFBO0dqQm0yRkQ7RVd6b0ZHO0lNMU5GLGlCQUFBO0dqQnMyRkQ7RVd4b0ZHO0lNOU5GLGtDQUFBO0dqQnkyRkQ7RVcvb0ZHO0lNMU5GLDRCQUFBO0dqQjQyRkQ7RVc5b0ZHO0lNOU5GLDZDQUFBO0dqQisyRkQ7RVdycEZHO0lNMU5GLDRCQUFBO0dqQmszRkQ7RVdwcEZHO0lNOU5GLDZDQUFBO0dqQnEzRkQ7RVczcEZHO0lNMU5GLGlCQUFBO0dqQnczRkQ7RVcxcEZHO0lNOU5GLGtDQUFBO0dqQjIzRkQ7RVdqcUZHO0lNMU5GLDRCQUFBO0dqQjgzRkQ7RVdocUZHO0lNOU5GLDZDQUFBO0dqQmk0RkQ7RVd2cUZHO0lNMU5GLDRCQUFBO0dqQm80RkQ7RVd0cUZHO0lNOU5GLDZDQUFBO0dqQnU0RkQ7Q0FDRjtBV3hwRkM7RUV6T0Esc0JBQUE7RUFBQSxxQkFBQTtFQUFBLGNBQUE7RUFDQSxpQ0FBQTtNQUFBLDZCQUFBO1VBQUEseUJBQUE7Q2JvNEZEO0FXeHBGRztFRzFNRixZQUFBO0NkcTJGRDtBV3ZwRkc7RUduTUEsYUFBQTtDZDYxRkg7QVd0cEZHO0VHbk1BLGFBQUE7Q2Q0MUZIO0FXM29GSztFQUNFLHlCQUFBO01BQUEsOEJBQUE7VUFBQSxpQkFBQTtDWDZvRlA7QUU5d0ZLO0VTZ0lBO0lBQ0UseUJBQUE7UUFBQSw4QkFBQTtZQUFBLGlCQUFBO0dYaXBGTDtDQUNGO0FFbnhGSztFU2dJQTtJQUNFLHlCQUFBO1FBQUEsOEJBQUE7WUFBQSxpQkFBQTtHWHNwRkw7Q0FDRjtBRW54Rks7RVMySEE7SUFDRSx5QkFBQTtRQUFBLDhCQUFBO1lBQUEsaUJBQUE7R1gycEZMO0NBQ0Y7QUV4eEZLO0VTMkhBO0lBQ0UseUJBQUE7UUFBQSw4QkFBQTtZQUFBLGlCQUFBO0dYZ3FGTDtDQUNGO0FXOW9GTztFR2pPSixzQkFETTtDZG0zRlQ7QVdqcEZPO0VHak9KLHVCQURNO0NkczNGVDtBV3BwRk87RUdqT0osWUFETTtDZHkzRlQ7QVd2cEZPO0VHak9KLHVCQURNO0NkNDNGVDtBVzFwRk87RUdqT0osdUJBRE07Q2QrM0ZUO0FXN3BGTztFR2pPSixZQURNO0NkazRGVDtBV2hxRk87RUdqT0osdUJBRE07Q2RxNEZUO0FXbnFGTztFR2pPSix1QkFETTtDZHc0RlQ7QVd0cUZPO0VHak9KLFlBRE07Q2QyNEZUO0FXenFGTztFR2pPSix1QkFETTtDZDg0RlQ7QVc1cUZPO0VHak9KLHVCQURNO0NkaTVGVDtBVy9xRk87RUdqT0osYUFETTtDZG81RlQ7QUV0MEZLO0VTdUlFO0lHblBKLHNCQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0lBdUJBLGFBQUE7R2RnNkZEO0VXL3JGSztJRzdOSixhQUFBO0dkKzVGRDtFVzFyRks7SUdqT0osc0JBRE07R2QrNUZQO0VXN3JGSztJR2pPSix1QkFETTtHZGs2RlA7RVdoc0ZLO0lHak9KLFlBRE07R2RxNkZQO0VXbnNGSztJR2pPSix1QkFETTtHZHc2RlA7RVd0c0ZLO0lHak9KLHVCQURNO0dkMjZGUDtFV3pzRks7SUdqT0osWUFETTtHZDg2RlA7RVc1c0ZLO0lHak9KLHVCQURNO0dkaTdGUDtFVy9zRks7SUdqT0osdUJBRE07R2RvN0ZQO0VXbHRGSztJR2pPSixZQURNO0dkdTdGUDtFV3J0Rks7SUdqT0osdUJBRE07R2QwN0ZQO0VXeHRGSztJR2pPSix1QkFETTtHZDY3RlA7RVczdEZLO0lHak9KLGFBRE07R2RnOEZQO0NBQ0Y7QUVuM0ZLO0VTdUlFO0lHblBKLHNCQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0lBdUJBLGFBQUE7R2Q2OEZEO0VXNXVGSztJRzdOSixhQUFBO0dkNDhGRDtFV3Z1Rks7SUdqT0osc0JBRE07R2Q0OEZQO0VXMXVGSztJR2pPSix1QkFETTtHZCs4RlA7RVc3dUZLO0lHak9KLFlBRE07R2RrOUZQO0VXaHZGSztJR2pPSix1QkFETTtHZHE5RlA7RVdudkZLO0lHak9KLHVCQURNO0dkdzlGUDtFV3R2Rks7SUdqT0osWUFETTtHZDI5RlA7RVd6dkZLO0lHak9KLHVCQURNO0dkODlGUDtFVzV2Rks7SUdqT0osdUJBRE07R2RpK0ZQO0VXL3ZGSztJR2pPSixZQURNO0dkbytGUDtFV2x3Rks7SUdqT0osdUJBRE07R2R1K0ZQO0VXcndGSztJR2pPSix1QkFETTtHZDArRlA7RVd4d0ZLO0lHak9KLGFBRE07R2Q2K0ZQO0NBQ0Y7QUUzNUZLO0VTa0lFO0lHblBKLHNCQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0lBdUJBLGFBQUE7R2QwL0ZEO0VXenhGSztJRzdOSixhQUFBO0dkeS9GRDtFV3B4Rks7SUdqT0osc0JBRE07R2R5L0ZQO0VXdnhGSztJR2pPSix1QkFETTtHZDQvRlA7RVcxeEZLO0lHak9KLFlBRE07R2QrL0ZQO0VXN3hGSztJR2pPSix1QkFETTtHZGtnR1A7RVdoeUZLO0lHak9KLHVCQURNO0dkcWdHUDtFV255Rks7SUdqT0osWUFETTtHZHdnR1A7RVd0eUZLO0lHak9KLHVCQURNO0dkMmdHUDtFV3p5Rks7SUdqT0osdUJBRE07R2Q4Z0dQO0VXNXlGSztJR2pPSixZQURNO0dkaWhHUDtFVy95Rks7SUdqT0osdUJBRE07R2RvaEdQO0VXbHpGSztJR2pPSix1QkFETTtHZHVoR1A7RVdyekZLO0lHak9KLGFBRE07R2QwaEdQO0NBQ0Y7QUV4OEZLO0VTa0lFO0lHblBKLHNCQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0lBdUJBLGFBQUE7R2R1aUdEO0VXdDBGSztJRzdOSixhQUFBO0dkc2lHRDtFV2owRks7SUdqT0osc0JBRE07R2RzaUdQO0VXcDBGSztJR2pPSix1QkFETTtHZHlpR1A7RVd2MEZLO0lHak9KLFlBRE07R2Q0aUdQO0VXMTBGSztJR2pPSix1QkFETTtHZCtpR1A7RVc3MEZLO0lHak9KLHVCQURNO0dka2pHUDtFV2gxRks7SUdqT0osWUFETTtHZHFqR1A7RVduMUZLO0lHak9KLHVCQURNO0dkd2pHUDtFV3QxRks7SUdqT0osdUJBRE07R2QyakdQO0VXejFGSztJR2pPSixZQURNO0dkOGpHUDtFVzUxRks7SUdqT0osdUJBRE07R2Rpa0dQO0VXLzFGSztJR2pPSix1QkFETTtHZG9rR1A7RVdsMkZLO0lHak9KLGFBRE07R2R1a0dQO0NBQ0Y7O0FXMzFGSztFQ2xTRSxtQkFBQTtFQUFBLHNCQUFBO0Naa29HUDtBRS8vRks7RVMrSkE7SUNsU0UsdUJBQUE7SUFBQSwwQkFBQTtHWnVvR0w7Q0FDRjtBV2oyRks7RUN2U0Usa0JBQUE7RUFBQSxxQkFBQTtDWjRvR1A7QUV6Z0dLO0VTb0tBO0lDdlNFLHNCQUFBO0lBQUEseUJBQUE7R1ppcEdMO0NBQ0Y7O0FXbmpHQztFQy9GTSxtQkFBQTtFQUFBLHNCQUFBO0NadXBHUDtBRXBoR0s7RVNwQ0o7SUMvRk0sdUJBQUE7SUFBQSwwQkFBQTtHWjRwR0w7Q0FDRjtBVzFqR0c7RUd4REEsMEJBRE07RUZqQ0osaUJBQUE7RUFBQSxvQkFBQTtDWnlwR0w7QUUvaEdLO0VTekJFO0lHL0RKLDZCQURNO0lGakNKLHFCQUFBO0lBQUEsd0JBQUE7R1orcEdIO0NBQ0Y7QVdsbUdDO0VHekJFLGFBQUE7Q2Q4bkdIO0FXam1HQztFR3pCRSxhQUFBO0NkNm5HSDtBVzVsR0c7RUc3QkEsbUNBRE07Q2Q2bkdUO0FXL2xHRztFRzdCQSxvQ0FETTtDZGdvR1Q7QVdsbUdHO0VHN0JBLHlCQURNO0NkbW9HVDtBV3JtR0c7RUc3QkEsb0NBRE07Q2Rzb0dUO0FXeG1HRztFRzdCQSxvQ0FETTtDZHlvR1Q7QVczbUdHO0VHN0JBLHlCQURNO0NkNG9HVDtBVzltR0c7RUc3QkEsb0NBRE07Q2Qrb0dUO0FXam5HRztFRzdCQSxvQ0FETTtDZGtwR1Q7QVdwbkdHO0VHN0JBLHlCQURNO0NkcXBHVDtBV3ZuR0c7RUc3QkEsb0NBRE07Q2R3cEdUO0FXMW5HRztFRzdCQSxvQ0FETTtDZDJwR1Q7QVc3bkdHO0VHN0JBLDBCQURNO0NkOHBHVDtBRWhsR0s7RVM1REo7SUd6QkUsYUFBQTtHZHlxR0Q7RVc1b0dEO0lHekJFLGFBQUE7R2R3cUdEO0VXdm9HQztJRzdCQSxzQ0FETTtHZHdxR1A7RVcxb0dDO0lHN0JBLHVDQURNO0dkMnFHUDtFVzdvR0M7SUc3QkEsNEJBRE07R2Q4cUdQO0VXaHBHQztJRzdCQSx1Q0FETTtHZGlyR1A7RVducEdDO0lHN0JBLHVDQURNO0dkb3JHUDtFV3RwR0M7SUc3QkEsNEJBRE07R2R1ckdQO0VXenBHQztJRzdCQSx1Q0FETTtHZDByR1A7RVc1cEdDO0lHN0JBLHVDQURNO0dkNnJHUDtFVy9wR0M7SUc3QkEsNEJBRE07R2Rnc0dQO0VXbHFHQztJRzdCQSx1Q0FETTtHZG1zR1A7RVdycUdDO0lHN0JBLHVDQURNO0dkc3NHUDtFV3hxR0M7SUc3QkEsNkJBRE07R2R5c0dQO0VXdnJHRDtJR3pCRSxhQUFBO0dkbXRHRDtFV3RyR0Q7SUd6QkUsYUFBQTtHZGt0R0Q7RVdqckdDO0lHN0JBLHNDQURNO0dka3RHUDtFV3ByR0M7SUc3QkEsdUNBRE07R2RxdEdQO0VXdnJHQztJRzdCQSw0QkFETTtHZHd0R1A7RVcxckdDO0lHN0JBLHVDQURNO0dkMnRHUDtFVzdyR0M7SUc3QkEsdUNBRE07R2Q4dEdQO0VXaHNHQztJRzdCQSw0QkFETTtHZGl1R1A7RVduc0dDO0lHN0JBLHVDQURNO0dkb3VHUDtFV3RzR0M7SUc3QkEsdUNBRE07R2R1dUdQO0VXenNHQztJRzdCQSw0QkFETTtHZDB1R1A7RVc1c0dDO0lHN0JBLHVDQURNO0dkNnVHUDtFVy9zR0M7SUc3QkEsdUNBRE07R2RndkdQO0VXbHRHQztJRzdCQSw2QkFETTtHZG12R1A7Q0FDRjtBRXRxR0s7RVM1REo7SUd6QkUsYUFBQTtHZCt2R0Q7RVdsdUdEO0lHekJFLGFBQUE7R2Q4dkdEO0VXN3RHQztJRzdCQSxzQ0FETTtHZDh2R1A7RVdodUdDO0lHN0JBLHVDQURNO0dkaXdHUDtFV251R0M7SUc3QkEsNEJBRE07R2Rvd0dQO0VXdHVHQztJRzdCQSx1Q0FETTtHZHV3R1A7RVd6dUdDO0lHN0JBLHVDQURNO0dkMHdHUDtFVzV1R0M7SUc3QkEsNEJBRE07R2Q2d0dQO0VXL3VHQztJRzdCQSx1Q0FETTtHZGd4R1A7RVdsdkdDO0lHN0JBLHVDQURNO0dkbXhHUDtFV3J2R0M7SUc3QkEsNEJBRE07R2RzeEdQO0VXeHZHQztJRzdCQSx1Q0FETTtHZHl4R1A7RVczdkdDO0lHN0JBLHVDQURNO0dkNHhHUDtFVzl2R0M7SUc3QkEsNkJBRE07R2QreEdQO0NBQ0Y7QUU3c0dLO0VTakVKO0lHekJFLGFBQUE7R2QyeUdEO0VXOXdHRDtJR3pCRSxhQUFBO0dkMHlHRDtFV3p3R0M7SUc3QkEsc0NBRE07R2QweUdQO0VXNXdHQztJRzdCQSx1Q0FETTtHZDZ5R1A7RVcvd0dDO0lHN0JBLDRCQURNO0dkZ3pHUDtFV2x4R0M7SUc3QkEsdUNBRE07R2RtekdQO0VXcnhHQztJRzdCQSx1Q0FETTtHZHN6R1A7RVd4eEdDO0lHN0JBLDRCQURNO0dkeXpHUDtFVzN4R0M7SUc3QkEsdUNBRE07R2Q0ekdQO0VXOXhHQztJRzdCQSx1Q0FETTtHZCt6R1A7RVdqeUdDO0lHN0JBLDRCQURNO0dkazBHUDtFV3B5R0M7SUc3QkEsdUNBRE07R2RxMEdQO0VXdnlHQztJRzdCQSx1Q0FETTtHZHcwR1A7RVcxeUdDO0lHN0JBLDZCQURNO0dkMjBHUDtDQUNGO0FFenZHSztFU2pFSjtJR3pCRSxhQUFBO0dkdTFHRDtFVzF6R0Q7SUd6QkUsYUFBQTtHZHMxR0Q7RVdyekdDO0lHN0JBLHNDQURNO0dkczFHUDtFV3h6R0M7SUc3QkEsdUNBRE07R2R5MUdQO0VXM3pHQztJRzdCQSw0QkFETTtHZDQxR1A7RVc5ekdDO0lHN0JBLHVDQURNO0dkKzFHUDtFV2owR0M7SUc3QkEsdUNBRE07R2RrMkdQO0VXcDBHQztJRzdCQSw0QkFETTtHZHEyR1A7RVd2MEdDO0lHN0JBLHVDQURNO0dkdzJHUDtFVzEwR0M7SUc3QkEsdUNBRE07R2QyMkdQO0VXNzBHQztJRzdCQSw0QkFETTtHZDgyR1A7RVdoMUdDO0lHN0JBLHVDQURNO0dkaTNHUDtFV24xR0M7SUc3QkEsdUNBRE07R2RvM0dQO0VXdDFHQztJRzdCQSw2QkFETTtHZHUzR1A7Q0FDRjs7QVd4bkdDO0VPclVFLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSwwQkFBQTtNQUFBLHNCQUFBO1VBQUEsa0JBQUE7RUFDQSw2QkFBQTtNQUFBLHdCQUFBO1VBQUEscUJBQUE7RUEyQkksYUFBQTtDbEJ1NkdQOztBVzVuR0M7RUFDRSxZQUFBO0NYK25HSDs7QVc1bkdDO0VPN1JFLGlCQUFBO0VBQ0EsZ0JBQUE7RUFHRixrQ0FBQTtFQUNBLDZDQUFBO0NsQjI1R0Q7O0FX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RWpoSEs7RVM4T0U7SUFDRSxhQUFBO0dYc3lHUDtDQUNGOztBVy9qSEM7RUMvRk0sbUJBQUE7RUFBQSxzQkFBQTtDWm1xSFA7QUVoaUhLO0VTcENKO0lDL0ZNLHVCQUFBO0lBQUEsMEJBQUE7R1p3cUhMO0NBQ0Y7QVd0a0hHO0VHeERBLDBCQURNO0VGakNKLGlCQUFBO0VBQUEsb0JBQUE7Q1pxcUhMO0FFM2lISztFU3pCRTtJRy9ESiw2QkFETTtJRmpDSixxQkFBQTtJQUFBLHdCQUFBO0daMnFISDtDQUNGO0FXOW1IQztFR3pCRSxhQUFBO0NkMG9ISDtBVzdtSEM7RUd6QkUsYUFBQTtDZHlvSEg7QVd4bUhHO0VHN0JBLG1DQURNO0NkeW9IVDtBVzNtSEc7RUc3QkEsb0NBRE07Q2Q0b0hUO0FXOW1IRztFRzdCQSx5QkFETTtDZCtvSFQ7QVdqbkhHO0VHN0JBLG9DQURNO0Nka3BIVDtBV3BuSEc7RUc3QkEsb0NBRE07Q2RxcEhUO0FXdm5IRztFRzdCQSx5QkFETTtDZHdwSFQ7QVcxbkhHO0VHN0JBLG9DQURNO0NkMnBIVDtBVzduSEc7RUc3QkEsb0NBRE07Q2Q4cEhUO0FXaG9IRztFRzdCQSx5QkFETTtDZGlxSFQ7QVdub0hHO0VHN0JBLG9DQURNO0Nkb3FIVDtBV3RvSEc7RUc3QkEsb0NBRE07Q2R1cUhUO0FXem9IRztFRzdCQSwwQkFETTtDZDBxSFQ7QUU1bEhLO0VTNURKO0lHekJFLGFBQUE7R2RxckhEO0VXeHBIRDtJR3pCRSxhQUFBO0dkb3JIRDtFV25wSEM7SUc3QkEsc0NBRE07R2RvckhQO0VXdHBIQztJRzdCQSx1Q0FETTtHZHVySFA7RVd6cEhDO0lHN0JBLDRCQURNO0dkMHJIUDtFVzVwSEM7SUc3QkEsdUNBRE07R2Q2ckhQO0VXL3BIQztJRzdCQSx1Q0FETTtHZGdzSFA7RVdscUhDO0lHN0JBLDRCQURNO0dkbXNIUDtFV3JxSEM7SUc3QkEsdUNBRE07R2Rzc0hQO0VXeHFIQztJRzdCQSx1Q0FETTtHZHlzSFA7RVczcUhDO0lHN0JBLDRCQURNO0dkNHNIUDtFVzlxSEM7SUc3QkEsdUNBRE07R2Qrc0hQO0VXanJIQztJRzdCQSx1Q0FETTtHZGt0SFA7RVdwckhDO0lHN0JBLDZCQURNO0dkcXRIUDtFV25zSEQ7SUd6QkUsYUFBQTtHZCt0SEQ7RVdsc0hEO0lHekJFLGFBQUE7R2Q4dEhEO0VXN3JIQztJRzdCQSxzQ0FETTtHZDh0SFA7RVdoc0hDO0lHN0JBLHVDQURNO0dkaXVIUDtFV25zSEM7SUc3QkEsNEJBRE07R2RvdUhQO0VXdHNIQztJRzdCQSx1Q0FETTtHZHV1SFA7RVd6c0hDO0lHN0JBLHVDQURNO0dkMHVIUDtFVzVzSEM7SUc3QkEsNEJBRE07R2Q2dUhQO0VXL3NIQztJRzdCQSx1Q0FETTtHZGd2SFA7RVdsdEhDO0lHN0JBLHVDQURNO0dkbXZIUDtFV3J0SEM7SUc3QkEsNEJBRE07R2RzdkhQO0VXeHRIQztJRzdCQSx1Q0FETTtHZHl2SFA7RVczdEhDO0lHN0JBLHVDQURNO0dkNHZIUDtFVzl0SEM7SUc3QkEsNkJBRE07R2QrdkhQO0NBQ0Y7QUVsckhLO0VTNURKO0lHekJFLGFBQUE7R2Qyd0hEO0VXOXVIRDtJR3pCRSxhQUFBO0dkMHdIRDtFV3p1SEM7SUc3QkEsc0NBRE07R2Qwd0hQO0VXNXVIQztJRzdCQSx1Q0FETTtHZDZ3SFA7RVcvdUhDO0lHN0JBLDRCQURNO0dkZ3hIUDtFV2x2SEM7SUc3QkEsdUNBRE07R2RteEhQO0VXcnZIQztJRzdCQSx1Q0FETTtHZHN4SFA7RVd4dkhDO0lHN0JBLDRCQURNO0dkeXhIUDtFVzN2SEM7SUc3QkEsdUNBRE07R2Q0eEhQO0VXOXZIQztJRzdCQSx1Q0FETTtHZCt4SFA7RVdqd0hDO0lHN0JBLDRCQURNO0dka3lIUDtFV3B3SEM7SUc3QkEsdUNBRE07R2RxeUhQO0VXdndIQztJRzdCQSx1Q0FETTtHZHd5SFA7RVcxd0hDO0lHN0JBLDZCQURNO0dkMnlIUDtDQUNGO0FFenRISztFU2pFSjtJR3pCRSxhQUFBO0dkdXpIRDtFVzF4SEQ7SUd6QkUsYUFBQTtHZHN6SEQ7RVdyeEhDO0lHN0JBLHNDQURNO0dkc3pIUDtFV3h4SEM7SUc3QkEsdUNBRE07R2R5ekhQO0VXM3hIQztJRzdCQSw0QkFETTtHZDR6SFA7RVc5eEhDO0lHN0JBLHVDQURNO0dkK3pIUDtFV2p5SEM7SUc3QkEsdUNBRE07R2RrMEhQO0VXcHlIQztJRzdCQSw0QkFETTtHZHEwSFA7RVd2eUhDO0lHN0JBLHVDQURNO0dkdzBIUDtFVzF5SEM7SUc3QkEsdUNBRE07R2QyMEhQO0VXN3lIQztJRzdCQSw0QkFETTtHZDgwSFA7RVdoekhDO0lHN0JBLHVDQURNO0dkaTFIUDtFV256SEM7SUc3QkEsdUNBRE07R2RvMUhQO0VXdHpIQztJRzdCQSw2QkFETTtHZHUxSFA7Q0FDRjtBRXJ3SEs7RVNqRUo7SUd6QkUsYUFBQTtHZG0ySEQ7RVd0MEhEO0lHekJFLGFBQUE7R2RrMkhEO0VXajBIQztJRzdCQSxzQ0FETTtHZGsySFA7RVdwMEhDO0lHN0JBLHVDQURNO0dkcTJIUDtFV3YwSEM7SUc3QkEsNEJBRE07R2R3MkhQO0VXMTBIQztJRzdCQSx1Q0FETTtHZDIySFA7RVc3MEhDO0lHN0JBLHVDQURNO0dkODJIUDtFV2gxSEM7SUc3QkEsNEJBRE07R2RpM0hQO0VXbjFIQztJRzdCQSx1Q0FETTtHZG8zSFA7RVd0MUhDO0lHN0JBLHVDQURNO0dkdTNIUDtFV3oxSEM7SUc3QkEsNEJBRE07R2QwM0hQO0VXNTFIQztJRzdCQSx1Q0FETTtHZDYzSFA7RVcvMUhDO0lHN0JBLHVDQURNO0dkZzRIUDtFV2wySEM7SUc3QkEsNkJBRE07R2RtNEhQO0NBQ0Y7O0FXM2pIRztFTzNYSSwyQkFBQTtDbEIwN0hQO0FFMXpISztFUzJQRjtJTzNYSSw4QkFBQTtHbEI4N0hMO0NBQ0Y7QUUvekhLO0VTMlBGO0lPM1hJLDhCQUFBO0dsQm04SEw7Q0FDRjtBRS96SEs7RVNzUEY7SU8zWEksOEJBQUE7R2xCdzhITDtDQUNGO0FFcDBISztFU3NQRjtJTzNYSSw4QkFBQTtHbEI2OEhMO0NBQ0Y7O0FFOTBISztFUytQQTtJTy9YRSw4QkFBQTtHbEJtOUhMO0NBQ0Y7QUVwMUhLO0VTK1BBO0lPL1hFLDhCQUFBO0dsQnc5SEw7Q0FDRjtBRXAxSEs7RVMwUEE7SU8vWEUsOEJBQUE7R2xCNjlITDtDQUNGO0FFejFISztFUzBQQTtJTy9YRSw4QkFBQTtHbEJrK0hMO0NBQ0Y7QW1CdndIQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFBO0VBQ0EsV0FBQTtDbkJ5d0hIOztBbUJyd0hDO0VBQ0Usb0JWdkhzQjtFVXlIdEIsbUJBQUE7RUFDQSxpQlYzSG1CO0VVNEhuQixtQ1YxSHVCO0NUaTRIMUI7O0FtQm53SEM7O0VBRUUsbUJBQUE7RUFDQSxxQkFBQTtDbkJzd0hIOztBbUJsd0hDOztFQUVFLGtCVi9NaUI7RVVnTmpCLHFCQUFBO0NuQnF3SEg7O0FtQmp3SEM7RUFDRSxlVmpKYztFVWtKZCxxQkFBQTtDbkJvd0hIOztBbUJod0hDOzs7Ozs7RUFNRSxzSFZ0T2U7RVV1T2YsbUJWckxnQjtFVXNMaEIsb0JWbk9tQjtFVW9PbkIsZVZyTFc7RVVzTFgsbUNWaktvQjtDVG82SHZCO0FtQmp3SEc7Ozs7OztFQUNFLGVBQUE7RUFDQSxlVnBQUTtDVDQvSGI7O0FtQi92SE87RUFJSSxvQkFEaUI7RUFhakIsaUJBQUE7RUFRQSxjQUFBO0VBT0Esc0JBQUE7Q25CdXVIWDs7QW1CdHdITztFQUlJLG9CQURpQjtFQWFqQixpQkFBQTtFQVFBLGNBQUE7RUFPQSxzQkFBQTtDbkI4dUhYOztBbUI3d0hPO0VBSUksbUJBRGlCO0VBYWpCLGlCQUFBO0VBUUEsY0FBQTtFQU9BLHNCQUFBO0NuQnF2SFg7O0FtQnB4SE87RUFJSSxtQkFEaUI7RUFhakIsaUJBQUE7RUFRQSxjQUFBO0VBT0Esc0JBQUE7Q25CNHZIWDs7QW1CM3hITztFQUlJLG9CQURpQjtFQWFqQixpQkFBQTtFQVFBLGNBQUE7RUFPQSxzQkFBQTtDbkJtd0hYOztBbUJseUhPO0VBSUksa0JBRGlCO0VBYWpCLGlCQUFBO0VBUUEsY0FBQTtFQU9BLHNCQUFBO0NuQjB3SFg7O0FFajlISztFaUJ3S0U7SUFJSSxvQkFEaUI7R25CMnlIMUI7RW1COXlISztJQUlJLG9CQURpQjtHbkI4eUgxQjtFbUJqekhLO0lBSUksZ0JBRGlCO0duQml6SDFCO0VtQnB6SEs7SUFJSSxnQkFEaUI7R25Cb3pIMUI7RW1CdnpISztJQUlJLG9CQURpQjtHbkJ1ekgxQjtFbUIxekhLO0lBSUksbUJBRGlCO0duQjB6SDFCO0NBQ0Y7QW1CdnhIQztFQUNFLHFCQUFBO0VBQ0EsZUNsUWdCO0VEbVFoQixzQlYxTXFCO0VVNE1yQixnQkFBQTtDbkJ3eEhIO0FtQnR4SEc7RUFFRSxlVmpOZTtDVHcrSHBCO0FtQmp4SEc7RUFDRSxVQUFBO0NuQm14SEw7O0FtQjl3SEM7RUFDRSxZQUFBO0VBRUEsaUJWdFVXO0VVdVVYLFVBQUE7RUFDQSxxQlY3TlE7RVUrTlIsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUNWbE9RO0VVbU9SLGVBQUE7Q25CK3dISDs7QW1CM3dIQzs7O0VBR0Usb0JWdlBzQjtFVXdQdEIsNkJWdE9rQjtFVXVPbEIsaUJWMVBtQjtDVHdnSXRCOztBbUIxd0hDO0VBQ0UsbUJBQUE7Q25CNndISDs7QW1CendIQztFQUNFLHFCVmhQZTtFVWlQZixzQlZuUGM7Q1QrL0hqQjs7QW1CeHdIQztFQUNFLHFCVnRQZTtDVGlnSWxCOztBbUJ0d0hHO0VBQ0UscUJWM1BvQjtFVTRQcEIsaUJBQUE7Q25CeXdITDs7QW1CcHdIQztFQUNFLG9CVmpRcUI7Q1R3Z0l4QjtBbUJyd0hHO0VBQ0Usc0JWbFF3QjtFVW1ReEIsa0JWaldlO0NUd21JcEI7O0FtQmx3SEM7RUFDRSxpQkFBQTtFQUNBLHVDVnhRaUI7RVV5UWpCLCtCVnhRZ0I7Q1Q2Z0luQjtBbUJud0hHO0VBQ0UsaUJWdFNpQjtFVXVTakIsZVZ4WE07Q1Q2bklYOztBbUJod0hDO0VBQ0UsZUFBQTtFQUNBLHFCVmxSYTtFVW1SYixlVmhZUTtDVG1vSVg7QW1CandIRztFQUNFLGNWcFJnQjtDVHVoSXJCOztBbUI5dkhDO0VBQ0Usa0NWcFJhO0VVcVJiLGFBQUE7RUFDQSxzQkFBQTtDbkJpd0hIOztBbUI3dkhDO0VBQ0UsVUFBQTtDbkJnd0hIOztBbUI1dkhDO0VBQ0Usc0NWNVRXO0VVOFRYLDBCVi9UVTtFVWdVViwwQlYxWlM7RVU0WlQsNkRWbFdvQjtFVW1XcEIsb0JWalptQjtFVWtabkIsZVYzWkk7Q1R3cElQOztBbUJ6dkhDO0VBQ0UsVUFBQTtFQUNBLDRCVi9TZ0I7RVVpVGhCLDBCVnRhUztFVXdhVCw2RFY5V29CO0VVK1dwQixlVnRhSTtDVGdxSVA7O0FxQmpzSUM7RUFDRSxtQlo4Sm1CO0VZN0puQixzQlo4SnNCO0VZNUp0QixvQlpzQ21CO0VZckNuQixpQlp1Sm1CO0VZdEpuQixlWjBCUTtDVHlxSVg7O0FxQi9ySUM7RUFDRSxnQlorSWE7RVk5SWIsaUJaK0ljO0NUbWpJakI7O0FxQjlySUM7RUFDRSxrQlpnSmE7RVkvSWIsZUFBQTtDckJpc0lIO0FxQi9ySUc7RUFDRSxrQkFBQTtDckJpc0lMOztBcUIzcklHO0VBQ0UsZUFBQTtFQUNBLGlCQUFBO0NyQjhySUw7O0FzQjV2SVM7RUFDRSxpQkFSVTtDdEJ1d0lyQjs7QXNCaHdJUztFQUNFLGtCQVJVO0N0QjJ3SXJCOztBc0Jwd0lTO0VBQ0UsbUJBUlU7Q3RCK3dJckI7O0FzQnh3SVM7RUFDRSxvQkFSVTtDdEJteElyQjs7QUV2bklLO0VvQjFKSTtJQUNFLGlCQUhVO0d0Qnd4SW5CO0VzQnR4SU87SUFDRSxrQkFIVTtHdEIyeEluQjtFc0J6eElPO0lBQ0UsbUJBSFU7R3RCOHhJbkI7RXNCNXhJTztJQUNFLG9CQUhVO0d0Qml5SW5CO0NBQ0Y7QUV0b0lLO0VvQjFKSTtJQUNFLGlCQUhVO0d0QnN5SW5CO0VzQnB5SU87SUFDRSxrQkFIVTtHdEJ5eUluQjtFc0J2eUlPO0lBQ0UsbUJBSFU7R3RCNHlJbkI7RXNCMXlJTztJQUNFLG9CQUhVO0d0Qit5SW5CO0NBQ0Y7QUUvb0lLO0VvQi9KSTtJQUNFLGlCQUhVO0d0Qm96SW5CO0VzQmx6SU87SUFDRSxrQkFIVTtHdEJ1ekluQjtFc0JyeklPO0lBQ0UsbUJBSFU7R3RCMHpJbkI7RXNCeHpJTztJQUNFLG9CQUhVO0d0QjZ6SW5CO0NBQ0Y7QUU3cElLO0VvQi9KSTtJQUNFLGlCQUhVO0d0QmswSW5CO0VzQmgwSU87SUFDRSxrQkFIVTtHdEJxMEluQjtFc0JuMElPO0lBQ0UsbUJBSFU7R3RCdzBJbkI7RXNCdDBJTztJQUNFLG9CQUhVO0d0QjIwSW5CO0NBQ0Y7QXVCdDBJQztFQUFrQix5QkFBQTtDdkJ5MEluQjs7QXVCdjBJQztFQUNFO0lBRUksbUNBQUE7SUFHRiw0QkFBQTtJQUVBLHdCQUFBO0lBQ0EsNkJBQUE7R3ZCczBJSDtFdUJuMElDO0lBQWtCLDBCQUFBO0d2QnMwSW5CO0V1QnIwSUM7SUFBa0IseUJBQUE7R3ZCdzBJbkI7RXVCdDBJQztJQUF1QiwwQkFBQTtHdkJ5MEl4QjtFdUJ4MElDO0lBQXVCLHVDQUFBO0d2QjIwSXhCO0V1QjEwSUM7SUFBdUIsb0NBQUE7R3ZCNjBJeEI7RXVCNTBJQztJQUFvQiw4QkFBQTtHdkIrMElyQjtFdUI5MElDO0lBQW9CLCtCQUFBO0d2QmkxSXJCO0V1QmgxSUM7SUFBb0IsK0JBQUE7R3ZCbTFJckI7RXVCaDFJQzs7SUFDWSwyQkFBQTtHdkJtMUliO0V1QmoxSUc7SUFBZ0IsNkJBQUE7R3ZCbzFJbkI7RXVCaDFJQzs7O0lBRXFCLFlBQUE7R3ZCbTFJdEI7RXVCaDFJQztJQUFvQiw4QkFBQTtHdkJtMUlyQjtFdUJoMUlDOztJQUVFLDBCQUFBO0lBQ0EseUJBQUE7R3ZCazFJSDtFdUI5MElDO0lBQVEsNEJBQUE7R3ZCaTFJVDtFdUIvMElDOztJQUNNLHlCQUFBO0d2QmsxSVA7RXVCaDFJQztJQUFNLDJCQUFBO0d2Qm0xSVA7RXVCajFJQztJQUFRLGNBQUE7R3ZCbzFJVDtFdUJsMUlDOzs7SUFHRSxXQUFBO0lBQ0EsVUFBQTtHdkJvMUlIO0V1QmgxSUM7O0lBQ0ssd0JBQUE7R3ZCbTFJTjtFdUJoMUlDO0lBQ0Usd0JBQUE7R3ZCazFJSDtDQUNGO0F3QmhxSUM7RUFoTEEsc0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CZm1NYztFZWxNZCxxQmZnTW1CO0VldExqQixtQmZ1TGE7RWVwTGYseUJBQUE7RUFDQSw4QkFBQTtFQUNBLG1CZnlMYztFZXhMZCxrRWZvTWtCO0VlbE1sQixnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBcUNBLDBCSmhDa0I7RUlpQ2xCLGVmbEVNO0NUcTJJUDtBVTd1SUM7RUFDRSxXQUFBO0NWK3VJSDtBd0JweUlDO0VBQ0UsMEJmdUlzQjtFZXRJdEIsZWZ0RUk7Q1Q0MklQO0F3Qm5ySUs7RUFDRSxrQkFGbUI7Q3hCdXJJMUI7QXdCdHJJSztFQUNFLG1CQUZtQjtDeEIwckkxQjtBd0J6cklLO0VBQ0UsbUJBRm1CO0N4QjZySTFCO0F3QnZySUc7RUEzSkEsZUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7Q3hCcTFJSDtBd0J4cklPO0VBbElOLDBCZjVFbUI7RWU2RW5CLGVBUlU7Q3hCcTBJWDtBd0IzeklDO0VBQ0UsMEJBUG1CO0VBUW5CLGVBWlE7Q3hCeTBJWDtBd0Joc0lPO0VBbElOLDBCZjVFbUI7RWU2RW5CLGVBUlU7Q3hCNjBJWDtBd0JuMElDO0VBQ0Usd0JBUG1CO0VBUW5CLGVBWlE7Q3hCaTFJWDtBd0J4c0lPO0VBbElOLDBCZjVFbUI7RWU2RW5CLGVBUlU7Q3hCcTFJWDtBd0IzMElDO0VBQ0UsMEJBUG1CO0VBUW5CLGVBWlE7Q3hCeTFJWDtBd0JodElPO0VBbElOLDBCZjVFbUI7RWU2RW5CLGVBUlU7Q3hCNjFJWDtBd0JuMUlDO0VBQ0UsMEJBUG1CO0VBUW5CLGVBWlE7Q3hCaTJJWDtBd0J4dElPO0VBbElOLDBCZjVFbUI7RWU2RW5CLGVBUlU7Q3hCcTJJWDtBd0IzMUlDO0VBQ0UsMEJBUG1CO0VBUW5CLGVBWlE7Q3hCeTJJWDtBd0JodElHO0VBekZGLGNmOEZ3QjtFZTdGeEIsb0JBQUE7Q3hCNHlJRDtBd0IxeUlDO0VBQ0UsMEJKN0ZnQjtFSThGaEIsZWYvSEk7Q1QyNklQO0F3Qm50SU87RUE5Rk4sY2Y4RndCO0VlN0Z4QixvQkFBQTtDeEJveklEO0F3Qmx6SUM7RUFDRSwwQmZ6SWlCO0VlMElqQixlQVJRO0N4QjR6SVg7QXdCM3RJTztFQTlGTixjZjhGd0I7RWU3RnhCLG9CQUFBO0N4QjR6SUQ7QXdCMXpJQztFQUNFLDBCZnpJaUI7RWUwSWpCLGVBUlE7Q3hCbzBJWDtBd0JudUlPO0VBOUZOLGNmOEZ3QjtFZTdGeEIsb0JBQUE7Q3hCbzBJRDtBd0JsMElDO0VBQ0UsMEJmeklpQjtFZTBJakIsZUFSUTtDeEI0MElYO0F3QjN1SU87RUE5Rk4sY2Y4RndCO0VlN0Z4QixvQkFBQTtDeEI0MElEO0F3QjEwSUM7RUFDRSwwQmZ6SWlCO0VlMElqQixlQVJRO0N4Qm8xSVg7QXdCbnZJTztFQTlGTixjZjhGd0I7RWU3RnhCLG9CQUFBO0N4Qm8xSUQ7QXdCbDFJQztFQUNFLDBCZnpJaUI7RWUwSWpCLGVBUlE7Q3hCNDFJWDtBd0JudklLO0VBL0hKLDBCQUFBO0VBQ0EsZUpqRWtCO0NwQnM3SW5CO0F3QjM0SUM7RUFFRSw4QkFBQTtDeEI0NElIO0F3QnY0SUc7RUFFRSw4QkFBQTtDeEJ3NElMO0F3QnozSUM7RUFDRSxzQkFOWTtFQU9aLGVBUFk7Q3hCazRJZjtBd0IxM0lHO0VBRUUsMEJBQUE7RUFDQSxlSnpFYztDcEJvOEluQjtBd0Jod0lTO0VBcElSLDBCQUFBO0VBQ0EsZWY3R21CO0NUby9JcEI7QXdCcjRJQztFQUNFLHNCQU5ZO0VBT1osZUFQWTtDeEI4NElmO0F3QnQ0SUc7RUFFRSwwQkFBQTtFQUNBLGVmckhlO0NUNC9JcEI7QXdCNXdJUztFQXBJUiwwQkFBQTtFQUNBLGVmN0dtQjtDVGdnSnBCO0F3Qmo1SUM7RUFDRSxvQkFOWTtFQU9aLGFBUFk7Q3hCMDVJZjtBd0JsNUlHO0VBRUUsMEJBQUE7RUFDQSxlZnJIZTtDVHdnSnBCO0F3Qnh4SVM7RUFwSVIsMEJBQUE7RUFDQSxlZjdHbUI7Q1Q0Z0pwQjtBd0I3NUlDO0VBQ0Usc0JBTlk7RUFPWixlQVBZO0N4QnM2SWY7QXdCOTVJRztFQUVFLDBCQUFBO0VBQ0EsZWZySGU7Q1RvaEpwQjtBd0JweUlTO0VBcElSLDBCQUFBO0VBQ0EsZWY3R21CO0NUd2hKcEI7QXdCejZJQztFQUNFLHNCQU5ZO0VBT1osZUFQWTtDeEJrN0lmO0F3QjE2SUc7RUFFRSwwQkFBQTtFQUNBLGVmckhlO0NUZ2lKcEI7QXdCaHpJUztFQXBJUiwwQkFBQTtFQUNBLGVmN0dtQjtDVG9pSnBCO0F3QnI3SUM7RUFDRSxzQkFOWTtFQU9aLGVBUFk7Q3hCODdJZjtBd0J0N0lHO0VBRUUsMEJBQUE7RUFDQSxlZnJIZTtDVDRpSnBCO0F3Qm56SUs7RUE3SUosMEJBQUE7RUFDQSxlSmpFa0I7Q3BCb2dKbkI7QXdCejlJQztFQUVFLDhCQUFBO0N4QjA5SUg7QXdCcjlJRztFQUVFLDhCQUFBO0N4QnM5SUw7QXdCdjhJQztFQUNFLHNCQU5ZO0VBT1osZUFQWTtDeEJnOUlmO0F3Qng4SUc7RUFFRSwwQkFBQTtFQUNBLGVKekVjO0NwQmtoSm5CO0F3QmgwSVM7RUFDRSwwQkFBQTtDeEJrMElYO0F3Qjd6SVM7RUF4SlIsMEJBQUE7RUFDQSxlZjdHbUI7Q1Rxa0pwQjtBd0J0OUlDO0VBQ0Usc0JBTlk7RUFPWixlQVBZO0N4Qis5SWY7QXdCdjlJRztFQUVFLDBCQUFBO0VBQ0EsZWZySGU7Q1Q2a0pwQjtBd0JwMElhO0VBR0UsMEJBQUE7Q3hCbzBJZjtBd0I1MElTO0VBeEpSLDBCQUFBO0VBQ0EsZWY3R21CO0NUb2xKcEI7QXdCcitJQztFQUNFLG9CQU5ZO0VBT1osYUFQWTtDeEI4K0lmO0F3QnQrSUc7RUFFRSwwQkFBQTtFQUNBLGVmckhlO0NUNGxKcEI7QXdCbjFJYTtFQUdFLDBCQUFBO0N4Qm0xSWY7QXdCMzFJUztFQXhKUiwwQkFBQTtFQUNBLGVmN0dtQjtDVG1tSnBCO0F3QnAvSUM7RUFDRSxzQkFOWTtFQU9aLGVBUFk7Q3hCNi9JZjtBd0JyL0lHO0VBRUUsMEJBQUE7RUFDQSxlZnJIZTtDVDJtSnBCO0F3QmwySWE7RUFHRSwwQkFBQTtDeEJrMklmO0F3QjEySVM7RUF4SlIsMEJBQUE7RUFDQSxlZjdHbUI7Q1RrbkpwQjtBd0JuZ0pDO0VBQ0Usc0JBTlk7RUFPWixlQVBZO0N4QjRnSmY7QXdCcGdKRztFQUVFLDBCQUFBO0VBQ0EsZWZySGU7Q1QwbkpwQjtBd0JqM0lhO0VBR0UsMEJBQUE7Q3hCaTNJZjtBd0J6M0lTO0VBeEpSLDBCQUFBO0VBQ0EsZWY3R21CO0NUaW9KcEI7QXdCbGhKQztFQUNFLHNCQU5ZO0VBT1osZUFQWTtDeEIyaEpmO0F3Qm5oSkc7RUFFRSwwQkFBQTtFQUNBLGVmckhlO0NUeW9KcEI7QXdCaDRJYTtFQUdFLDBCQUFBO0N4Qmc0SWY7QXdCci9JQztFZG5MQSxlQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFFQSxvQkFBQTtFQUVBLFlBQUE7RUFHRSx1QkFBQTtFQUNBLHdCQUFBO0VBQ0EsOENBQUE7RWMwS0EsbUJBQUE7RUFDQSxXQUFBO0VBRUEsc0JBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBVE87Q3hCc2dKVjtBd0I1M0lPO0VBQ0UsMEJKcFBVO0NwQmtuSm5CO0F3QnozSVc7RUFDRSwwQmZ0U087Q1RpcUpwQjtBd0I1M0lXO0VBQ0UsMEJmdFNPO0NUb3FKcEI7QXdCLzNJVztFQUNFLDBCZnRTTztDVHVxSnBCO0F3Qmw0SVc7RUFDRSwwQmZ0U087Q1QwcUpwQjtBd0JyNElXO0VBQ0UsMEJmdFNPO0NUNnFKcEI7QXdCLzNJRztFQUNFLFlBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtDeEJpNElMOztBd0I3M0lHO0VBRUUsc0JBQUE7Q3hCKzNJTDs7QXlCaG9KQzs7RUFyQ0EsZUFBQTtFQUNBLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUxTO0VBTVQsaUJBQUE7RUFDQSxnQmhCNFZjO0VnQjFWZCwwQmhCd1ZhO0VnQnZWYixpQmhCSmM7RWdCS2QsMEJoQmZNO0VnQmdCTiwrQ2hCd1ZhO0VnQnRWYixxQmhCNFVrQjtFZ0IzVWxCLGdCaEI0VWdCO0VnQjNVaEIsb0JoQlpxQjtFZ0JhckIsaUJoQmpDa0I7RWdCa0NsQixlaEJ2Qk07RWdCMEJKLDREaEJrVmU7RWdCN1RmLHlCQUFBO0tBQUEsc0JBQUE7VUFBQSxpQkFBQTtDekJrcEpIO0F5Qm5xSkM7O0VBQ0UsY0FBQTtFQUNBLDBCaEJ1VWlCO0VnQnRVakIsMEJoQmhDSTtFZ0JpQ0osNEJoQndVaUI7RWdCclVmLDREaEJ1VWE7Q1Q2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QnRCdURxQjtFc0J0RHJCLGlCdEJrQ2tCO0VzQmpDbEIsZXRCNENNO0VDc0VOLHNPQUFBO0VxQjlHRSwrQkFBQTtFQUNBLHdDQUFBO0VBQ0EsNkJBQUE7RUFDQSx5QkFBQTtFQUVBLHNCQUFBO0VBSUEsNER0QjJZZTtDVHFoSmxCO0FVenpKQztFcUJ0RUE7SXJCeUVJLHdXQUFBO0dWMHpKSDtDQUNGO0ErQmo2SkM7RUFDRSxjQUFBO0VBQ0EsMEJ0QmdZaUI7RXNCL1hqQiwwQnRCeUJJO0VzQnhCSiw0QnRCaVlpQjtFc0I5WGYsNER0QmdZYTtDVGlpSmxCO0ErQjU1SkM7RUFDRSwwQnRCV1M7RXNCVlQsb0J0QndYb0I7Q1RzaUp2QjtBK0IxNUpDO0VBQ0UsY0FBQTtDL0I0NUpIO0ErQno1SkM7RUFDRSxhQUFBO0VBQ0EsdUJBQUE7Qy9CMjVKSDs7QWdDNTdKQztFQUNFLHNCdkIwS3VCO0V1QnpLdkIsMEJBQUE7Q2hDKzdKSDtBZ0M5N0pHO0VBQ0UsZXZCdUtxQjtDVHl4SjFCO0FnQ2o4Skc7RUFDRSxldkJ1S3FCO0NUeXhKMUI7QWdDajhKRztFQUNFLGV2QnVLcUI7Q1R5eEoxQjs7QWdDdDZKRztFQUNFLGV2QjZJcUI7Q1Q0eEoxQjs7QWdDcDZKQztFQXpCQSxjQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQnZCcVdhO0V1Qm5XYixtQnZCK0pzQjtFdUI5SnRCLGtCdkI4Qm1CO0V1QjdCbkIsZXZCNEprQjtDVG95Sm5CO0FnQzE2Skc7RUFDRSxlQUFBO0NoQzQ2Skw7O0FpQ3IzSkM7RUF2RkEsZUFBQTtFQUNBLG9CeEI0Qk07RXdCM0JOLHNCQUFBO0NqQ2c5SkQ7QWlDOThKRztFQUNFLG9CQUFBO0NqQ2c5Skw7O0FpQ3o4SkM7RUFDRSx1QkFBQTtDakM0OEpIO0FpQ3o4SkM7RUFDRSx1QkFBQTtDakMyOEpIOztBaUM3M0pDO0VBbEVBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLHNCeEJrSnVCO0V3QmhKdkIsMEJ4QmtKeUI7RXdCakp6QixpQkFBQTtFQUVBLG1CeEIwSTBCO0V3QnpJMUIsZUFBQTtFQUNBLGVid0Jr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cElBLFl6Q3VhcUI7RXlDdGFyQixjekNxYXNCO0V5Q3BhdEIsZXpDMUJNO0NUKzFOUDtBVXZ1TkM7RUFDRSxXQUFBO0NWeXVOSDtBa0R0ME5DO0VBR0UscUN6QzhaNkI7Q1R3Nk1oQzs7QWtEaHdOQztFQWhFQSxRQUFBO0NsRG8wTkQ7O0FrRC92TkM7RUFoRUEsV0FBQTtFQUNBLFNBQUE7Q2xEbTBORDs7QWtEL3ZOQztFQTlEQSxtQkFBQTtFQUNBLG1CekN1WXdCO0V5Q3RZeEIsc0J6Q3VZMkI7RXlDdFkzQixtQkFBQTtDbERpME5EO0FVN3ZOQztFQUNFLFdBQUE7Q1Yrdk5IO0FrRGwwTkM7RUFDRSxjekNnWW9CO0V5Qy9YcEIsZXpDK1hvQjtFeUM5WHBCLGV6QytYa0I7RXlDN1hsQixtQkFBQTtFQUNBLDBCekMvRFU7Q1RrNE5iO0FrRGowTkc7RUFDRSwwQnpDakVNO0NUbzROWDtBa0RoME5HO0VBQ0UsMEJ6Q3JFTTtDVHU0Tlg7O0FtRHJ6TkM7RUFuRkEsZUFBQTtFQUNBLG9CMUNPYztDVHE0TmY7QVVsek5DO0VBRUUsZUFBQTtFQUNBLGFBQUE7RUFHRSxzQkFBQTtNQUFBLDJCQUFBO1VBQUEsY0FBQTtFQUNBLGlCQUFBO01BQUEsa0JBQUE7VUFBQSxTQUFBO0NWaXpOTDtBVTd5TkM7RUFDRSxZQUFBO0NWK3lOSDtBbURsNU5DO0VBQ0Usd0IxQ3Njc0I7RTBDcmN0QixpQjFDT1k7RTBDTlosb0IxQ2djbUI7RTBDMWJqQixjQUFBO0NuRCs0Tkw7QW1ENzROSztFQUVFLHNCQUFBO0NuRDg0TlA7QUUxME5LO0VpRGpGSjtJQXVCTSxzQkFBQTtHbkR3NE5MO0NBQ0Y7QW1EbjROQzs7RUFFRSxlQUFBO0VBQ0EsNEIxQ3Nhc0I7RTBDcmF0QixpQjFDeEJZO0UwQ3lCWixlMUNwQ0k7Q1R5Nk5QO0FtRG40Tkc7O0VBQ0Usb0IxQzFDTztDVGc3Tlo7QW1EejFORztFQWxDRiw0QjFDc1p3QjtFMENyWnhCLG9CL0JqQmtCO0UrQmtCbEIsZTFDbkRNO0UwQ29ETixnQkFBQTtDbkQ4M05EO0FtRDMxTkc7RUEzQkYs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O0F1RDFzT0M7RUFDRSxjQUFBO0N2RDRzT0g7O0F1RGxvT0M7RUF2REEsZTlDbWtCbUI7Q1Qwbk5wQjtBdUQzck9DO0VBQ0UsWUFSYTtFQVNiLGU5QytqQmlCO0U4QzlqQmpCLG9CQW1EcUI7Q3ZEMG9PeEI7QXVEMXJPQztFQUNFLGE5Q2drQm1CO0U4Qy9qQm5CLGM5QytqQm1CO0U4QzlqQm5CLFlBZmE7RUFnQmIsYUFmYztDdkQyc09qQjtBdUR6ck9DO0VBQ0UsY0FsQnFCO0N2RDZzT3hCOztBdURocE9DO0VBM0RBLGdCOUNva0JvQjtDVDJvTnJCO0F1RDdzT0M7RUFDRSxjQVJhO0VBU2IsZ0I5Q2drQmtCO0U4Qy9qQmxCLG1CQXVEcUI7Q3ZEd3BPeEI7QXVENXNPQztFQUNFLGE5Q2drQm1CO0U4Qy9qQm5CLGM5QytqQm1CO0U4QzlqQm5CLGVBZmE7RUFnQmIsZ0JBZmM7Q3ZENnRPakI7QXVEM3NPQztFQUNFLFdBbEJxQjtDdkQrdE94Qjs7QXVEOXBPQztFQS9EQSxlOUNxa0JvQjtDVDRwTnJCO0F1RC90T0M7RUFDRSxZQVJhO0VBU2IsZTlDaWtCa0I7RThDaGtCbEIsZ0JBMkRxQjtDdkRzcU94QjtBdUQ5dE9DO0VBQ0UsYTlDZ2tCbUI7RThDL2pCbkIsYzlDK2pCbUI7RThDOWpCbkIsWUFmYTtFQWdCYixhQWZjO0N2RCt1T2pCO0F1RDd0T0M7RUFDRSxjQWxCcUI7Q3ZEaXZPeEI7O0F3RG5uT0M7RUE5R0EsMEJBQUE7RUFDQSxZQUFBO0VBQ0Esb0IvQzlHYztFK0MrR2QsaUIvQzFHYztDVCswT2Y7QXdENXpPQzs7O0VBR0UsMEIvQ3FwQlc7RStDcHBCWCwwQi9DakNJO0NUKzFPUDs7QXdEMXpPQztFQUNFLGtDL0NncEJZO0UrQy9vQlosa0IvQzlCaUI7Q1QyMU9wQjs7QXdEenpPQztFQUNFLG9CL0NpcEJvQjtFK0NocEJwQixlL0M5Q0k7Q1QwMk9QOztBd0R4ek9DO0VBQ0Usb0IvQzZvQm9CO0UrQzVvQnBCLGUvQ3BESTtDVCsyT1A7O0F3RHB6T0c7O0VBQ0Usd0JBQUE7Q3hEd3pPTDtBd0Rwek9HOzs7O0VBRUUsa0MvQ3FuQlU7RStDcG5CVixrQi9DekRlO0UrQzBEZixpQkFBQTtDeER3ek9MOztBd0Rsek9HOztFQUVFLGtDL0MybUJVO0NUMHNOZjs7QXdEMzNPSztFQUNFLGlCQUFBO0VBQ0EsMEIvQ29yQm1CO0NUMHNOMUI7O0F3RC95T0s7RUFFRSwwQi9DeEZBO0NUeTRPUDtBd0RwM09DO0VBQ0UsaUJBQUE7RUFDQSxpQy9DOHBCVztFK0M3cEJYLDBCL0N4Qkk7Q1Q4NE9QOztBRXZ6T0s7RXNEbUhGO0lBQ0UsY0FBQTtHeER3c09IO0V3RHBzT0Q7SUFDRSxjQUFBO0d4RHNzT0Q7RXdEbnNPRDs7O0lBR0UsZUFBQTtHeERxc09EO0V3RGxzT0Q7SUFDRSxjQUFBO0d4RG9zT0Q7Q0FDRjs7QXdEdHJPQztFQXZHQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0N4RGl5T0Q7O0F3RDF4T0c7RUFDRSwwQi9Da2pCaUI7Q1QydU50QjtBd0R2eE9HO0VBQ0UsMEIvQzZpQmlCO0NUNHVOdEI7QXdEbnhPRztFQUNFLDBCL0M4aEJZO0NUdXZOakI7QXdEOXdPSztFQUNFLDBCL0N1aEJpQjtDVHl2TnhCOztBd0Rqc09DO0VBQ0UsaUJBQUE7Q3hEb3NPSDtBd0Rsc09HO0VBQ0UsWUFBQTtDeERvc09MOztBeUR4M09DO0VBaEZBLFVoRHd0Qlc7RWdEdnRCWCwwQkFBQTtFQUNBLG9CaERhTTtFZ0RaTixzQkFBQTtDekQ0OE9EO0FVeDJPQztFQUVFLGVBQUE7RUFDQSxhQUFBO0VBR0Usc0JBQUE7TUFBQSwyQkFBQTtVQUFBLGNBQUE7RUFDQSxpQkFBQTtNQUFBLGtCQUFBO1VBQUEsU0FBQTtDVnUyT0w7QVVuMk9DO0VBQ0UsWUFBQTtDVnEyT0g7O0F5RGg5T0M7RUFDRSxlQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7Q3pEbTlPSDs7QXlEbjRPRztFQUNFLFdBQUE7Q3pEczRPTDtBeURwNE9LO0VBQ0Usd0JBQUE7Q3pEczRPUDs7QXlEaDRPQztFQUNFLG9CakR4Q1k7Q1IyNk9mO0F5RGo0T0c7RUFDRSxlQUFBO0N6RG00T0w7QXlEajRPSztFQUVFLG9CQUFBO0N6RGs0T1A7O0F5RDczT0M7RUExRkEsWUFBQTtDekQyOU9EO0F5RHo5T0M7RUFDRSxlQUFBO0VBQ0Esd0JoRG1zQmU7RWdEbHNCZixtQmhEZ3NCaUI7RWdEL3JCakIsZUFBQTtFQUNBLGVyQ2lCZ0I7Q3BCMDhPbkI7QXlEejlPRztFQUNFLG9CaERuQkU7RWdEb0JGLGVBQUE7Q3pEMjlPTDtBeUR4OU9HO0VBRUUsb0JoRDdCTztFZ0Q4QlAsZXJDT2M7Q3BCazlPbkI7O0F5RDU0T0M7RUFsRUEsMEJBQUE7RUFDQSxjQUFBO0VBQ0Esb0JoRHZDTTtFZ0R3Q04sZWhEekNNO0VnRDBDTiwwQkFBQTtDekRrOU9EOztBeURoNU9DO0VBM0RBLDBCQUFBO0VBQ0EsZUFBQTtDekQrOE9EOztBeURqNU9DO0VBdkRBLGNBQUE7RUFDQSxjaEQ0cEJvQjtDVGd6TnJCO0F5RDE4T0M7RUFDRSxlQUFBO0N6RDQ4T0g7O0EwRDloUEM7RUF6QkEsc0JBQUE7RUFDQSxnQkFBQTtFQUNBLG9CakRrRGM7RWlEaERkLDBCakRxd0JpQjtFaURwd0JqQixpQmpEb0RjO0VpRG5EZCx5Q2pEcXdCaUI7RWlEbndCakIsZUFBQTtDMUR5alBEOztBMERwaVBDO0VBakJBLHNDakRpd0JxQjtDVHd6TnRCO0EwRHZqUEM7RUFFRSxnRGpENHZCcUI7Q1Q0ek54QjtBMERyalBDO0VBQ0UsaUJBQUE7QzFEdWpQSDs7QTJEeGtQQztFQUNFLGdCbERpeEJlO0VrRGh4QmYsb0JsRHlDSTtFa0R4Q0osZWxEeUNJO0VrRHRDRixzQkFBQTtFQUFBLHFCQUFBO0VBQUEsY0FBQTtFQUNBLG9DQUFBO01BQUEscUJBQUE7VUFBQSw0QkFBQTtFQUNBLDRCQUFBO01BQUEsdUJBQUE7VUFBQSxvQkFBQTtDM0R5a1BMO0EyRG5rUEc7RUFDRSxxQmxEdXdCa0I7RWtEdHdCbEIsc0JsRHN3QmtCO0NUK3pOdkI7O0EyRGhrUEc7O0VBRUUsc0JBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7QzNEbWtQTDs7QTJEaGtQRztFQUNF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SixpQkRrQ2U7TUNsQ2Ysa0JEa0NlO1VDbENmLFNEa0NlO0MvRGs5UGhCOztBK0RqOVBLO0VDbkNKLGlCRGtDZTtNQ2xDZixrQkRrQ2U7VUNsQ2YsU0RrQ2U7Qy9EczlQaEI7O0ErRHI5UEs7RUNuQ0osaUJEa0NlO01DbENmLGtCRGtDZTtVQ2xDZixTRGtDZTtDL0QwOVBoQjs7QStEejlQSztFQ25DSixpQkRrQ2U7TUNsQ2Ysa0JEa0NlO1VDbENmLFNEa0NlO0MvRDg5UGhCOztBK0Q3OVBLO0VDbkNKLGlCRGtDZTtNQ2xDZixrQkRrQ2U7VUNsQ2YsU0RrQ2U7Qy9EaytQaEI7O0FFMTZQSztFNkR2REE7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0R1K1BkO0UrRHQrUEc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0QwK1BkO0UrRHorUEc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0Q2K1BkO0UrRDUrUEc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0RnL1BkO0UrRC8rUEc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0RtL1BkO0UrRGwvUEc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0RzL1BkO0NBQ0Y7QUUvN1BLO0U2RHZEQTtJQ25DSixpQkRrQ2U7UUNsQ2Ysa0JEa0NlO1lDbENmLFNEa0NlO0cvRDIvUGQ7RStEMS9QRztJQ25DSixpQkRrQ2U7UUNsQ2Ysa0JEa0NlO1lDbENmLFNEa0NlO0cvRDgvUGQ7RStENy9QRztJQ25DSixpQkRrQ2U7UUNsQ2Ysa0JEa0NlO1lDbENmLFNEa0NlO0cvRGlnUWQ7RStEaGdRRztJQ25DSixpQkRrQ2U7UUNsQ2Ysa0JEa0NlO1lDbENmLFNEa0NlO0cvRG9nUWQ7RStEbmdRRztJQ25DSixpQkRrQ2U7UUNsQ2Ysa0JEa0NlO1lDbENmLFNEa0NlO0cvRHVnUWQ7RStEdGdRRztJQ25DSixpQkRrQ2U7UUNsQ2Ysa0JEa0NlO1lDbENmLFNEa0NlO0cvRDBnUWQ7Q0FDRjtBRTk4UEs7RTZENURBO0lDbkNKLGlCRGtDZTtRQ2xDZixrQkRrQ2U7WUNsQ2YsU0RrQ2U7Ry9EK2dRZDtFK0Q5Z1FHO0lDbkNKLGlCRGtDZTtRQ2xDZixrQkRrQ2U7WUNsQ2YsU0RrQ2U7Ry9Ea2hRZDtFK0RqaFFHO0lDbkNKLGlCRGtDZTtRQ2xDZixrQkRrQ2U7WUNsQ2YsU0RrQ2U7Ry9EcWhRZDtFK0RwaFFHO0lDbkNKLGlCRGtDZTtRQ2xDZixrQkRrQ2U7WUNsQ2YsU0RrQ2U7Ry9Ed2hRZDtFK0R2aFFHO0lDbkNKLGlCRGtDZTtRQ2xDZixrQkRrQ2U7WUNsQ2YsU0RrQ2U7Ry9EMmhRZDtFK0QxaFFHO0lDbkNKLGlCRGtDZTtRQ2xDZixrQkRrQ2U7WUNsQ2YsU0RrQ2U7Ry9EOGhRZDtDQUNGO0FFbCtQSztFNkQ1REE7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0RtaVFkO0UrRGxpUUc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0RzaVFkO0UrRHJpUUc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0R5aVFkO0UrRHhpUUc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0Q0aVFkO0UrRDNpUUc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0QraVFkO0UrRDlpUUc7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHL0RralFkO0NBQ0Y7QStEN29RQztFQ09BLHNCQUFBO0VBQUEscUJBQUE7RUFBQSxjQUFBO0NoRXlvUUQ7O0ErRDVvUUM7RUFDRSx1QkFBQTtNQUFBLG1CQUFBO1VBQUEsZUFBQTtDL0Qrb1FIOztBK0Q1b1FDO0VBQ0UsdUJBQUE7TUFBQSxtQkFBQTtVQUFBLGVBQUE7Qy9EK29RSDs7QStENW9RQztFQUNFLHVCQUFBO01BQUEsbUJBQUE7VUFBQSxlQUFBO0MvRCtv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QUNFLGNBQUE7QzNGMC9TSDs7QTJGdi9TQztFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFDQSxZQUFBO0MzRjAvU0g7O0EyRjNnVEM7RUFDRSxjQUFBO0MzRjhnVEg7O0EyRjNnVEM7RUFDRSxjQUFBO0MzRjhnVEg7O0EyRjNnVEM7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsY0FBQTtFQUNBLCtCQUFBO0VBQ0EsWUFBQTtDM0Y4Z1RIOztBMkYvaFRDO0VBQ0UsY0FBQTtDM0ZraVRIOztBMkYvaFRDO0VBQ0UsY0FBQTtDM0ZraVRIOztBMkYvaFRDO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGNBQUE7RUFDQSwrQkFBQTtFQUNBLFlBQUE7QzNGa2lUSDs7QTJGbmpUQztFQUNFLGNBQUE7QzNGc2pUSDs7QTJGbmpUQztFQUNFLGNBQUE7QzNGc2pUSDs7QTJGbmpUQztFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFDQSxZQUFBO0MzRnNqVEg7O0EyRnZrVEM7RUFDRSxjQUFBO0MzRjBrVEg7O0EyRnZrVEM7RUFDRSxjQUFBO0MzRjBrVEg7O0EyRnZrVEM7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsY0FBQTtFQUNBLCtCQUFBO0VBQ0EsWUFBQTtDM0Ywa1RIOztBMkYzbFRDO0VBQ0UsY0FBQTtDM0Y4bFRIOztBMkYzbFRDO0VBQ0UsY0FBQTtDM0Y4bFRIOztBMkYzbFRDO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGNBQUE7RUFDQSwrQkFBQTtFQUNBLFlBQUE7QzNGOGxUSDs7QTJGL21UQztFQUNFLGNBQUE7QzNGa25USDs7QTJGL21UQztFQUNFLGNBQUE7QzNGa25USDs7QTJGL21UQztFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFDQSxZQUFBO0MzRmtuVEg7O0EyRm5vVEM7RUFDRSxjQUFBO0MzRnNvVEg7O0EyRm5vVEM7RUFDRSxjQUFBO0MzRnNvVEg7O0EyRm5vVEM7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsY0FBQTtFQUNBLCtCQUFBO0VBQ0EsWUFBQTtDM0Zzb1RIOztBMkZ2cFRDO0VBQ0UsY0FBQTtDM0YwcFRIOztBMkZ2cFRDO0VBQ0UsY0FBQTtDM0YwcFRIOztBMkZ2cFRDO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGNBQUE7RUFDQSwrQkFBQTtFQUNBLFlBQUE7QzNGMHBUSDs7QTJGM3FUQztFQUNFLGNBQUE7QzNGOHFUSDs7QTJGM3FUQztFQUNFLGNBQUE7QzNGOHFUSDs7QTJGM3FUQztFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFDQSxZQUFBO0MzRjhxVEg7O0EyRi9yVEM7RUFDRSxjQUFBO0MzRmtzVEg7O0EyRi9yVEM7RUFDRSxjQUFBO0MzRmtzVEg7O0EyRi9yVEM7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsY0FBQTtFQUNBLCtCQUFBO0VBQ0EsWUFBQTtDM0Zrc1RIOztBMkZudFRDO0VBQ0UsY0FBQTtDM0ZzdFRIOztBMkZudFRDO0VBQ0UsY0FBQTtDM0ZzdFRIOztBMkZudFRDO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGNBQUE7RUFDQSwrQkFBQTtFQUNBLFlBQUE7QzNGc3RUSDs7QTJGdnVUQztFQUNFLGNBQUE7QzNGMHVUSDs7QTJGdnVUQztFQUNFLGNBQUE7QzNGMHVUSDs7QTJGdnVUQztFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFDQSxZQUFBO0MzRjB1VEg7O0EyRjN2VEM7RUFDRSxjQUFBO0MzRjh2VEg7O0EyRjN2VEM7RUFDRSxjQUFBO0MzRjh2VEg7O0EyRjN2VEM7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsY0FBQTtFQUNBLCtCQUFBO0VBQ0EsWUFBQTtDM0Y4dlRIOztBMkYvd1RDO0VBQ0UsY0FBQTtDM0ZreFRIOztBMkYvd1RDO0VBQ0UsY0FBQTtDM0ZreFRIOztBMkYvd1RDO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGNBQUE7RUFDQSwrQkFBQTtFQUNBLFlBQUE7QzNGa3hUSDs7QTJGbnlUQztFQUNFLGNBQUE7QzNGc3lUSDs7QTJGbnlUQztFQUNFLGNBQUE7QzNGc3lUSDs7QTJGbnlUQztFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFDQSxZQUFBO0MzRnN5VEg7O0EyRnZ6VEM7RUFDRSxjQUFBO0MzRjB6VEg7O0EyRnZ6VEM7RUFDRSxjQUFBO0MzRjB6VEg7O0EyRnZ6VEM7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsY0FBQTtFQUNBLCtCQUFBO0VBQ0EsWUFBQTtDM0YwelRIOztBMkYzMFRDO0VBQ0UsY0FBQTtDM0Y4MFRIOztBMkYzMFRDO0VBQ0UsY0FBQTtDM0Y4MFRIOztBMkYzMFRDO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGNBQUE7RUFDQSwrQkFBQTtFQUNBLFlBQUE7QzNGODBUSDs7QTJGLzFUQztFQUNFLGNBQUE7QzNGazJUSDs7QTJGLzFUQztFQUNFLGNBQUE7QzNGazJUSDs7QTJGLzFUQztFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFDQSxZQUFBO0MzRmsyVEg7O0EyRm4zVEM7RUFDRSxjQUFBO0MzRnMzVEg7O0EyRm4zVEM7RUFDRSxjQUFBO0MzRnMzVEg7O0EyRm4zVEM7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsY0FBQTtFQUNBLCtCQUFBO0VBQ0EsWUFBQTtDM0ZzM1RIOztBMkZ2NFRDO0VBQ0UsY0FBQTtDM0YwNFRIOztBMkZ2NFRDO0VBQ0UsY0FBQTtDM0YwNFRIOztBMkZ2NFRDO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGNBQUE7RUFDQSwrQkFBQTtFQUNBLFlBQUE7QzNGMDRUSDs7QTJGMzVUQztFQUNFLGNBQUE7QzNGODVUSDs7QTJGMzVUQztFQUNFLGNBQUE7QzNGODVUSDs7QTJGMzVUQztFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFDQSxZQUFBO0MzRjg1VEg7O0EyRi82VEM7RUFDRSxjQUFBO0MzRms3VEg7O0EyRi82VEM7RUFDRSxjQUFBO0MzRms3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WEM7O0VBQ0UsbUJBQUE7Q3pHc29YSDtBRXByWEs7RXVHNkNKOztJQUlJLGlCQUFBO0d6R3dvWEg7Q0FDRjtBRTFyWEs7RXVHNkNKOztJQU9JLGlCQUFBO0d6RzJvWEg7Q0FDRjtBRWhzWEs7RXVHNkNKOztJQVVJLGlCQUFBO0d6RzhvWEg7Q0FDRjtBRXRzWEs7RXVHNkNKOztJQWFJLGlCQUFBO0d6R2lwWEg7Q0FDRjtBRTVzWEs7RXVHNkNKOztJQWdCSSxpQkFBQTtHekdvcFhIO0NBQ0Y7QUVsdFhLO0V1R2lFSjs7SUFFSSxpQkFBQTtHekdvcFhIO0NBQ0Y7QUV4dFhLO0V1R2lFSjs7SUFLSSxpQkFBQTtHekd1cFhIO0NBQ0Y7O0EwR3Q0WEQ7RUFDRSxpQkFBQTtFQUNBLG9CQUFBO0MxR3k0WEQ7QUV4dVhLO0V3R25LTjtJQUtJLGlCQUFBO0lBQ0Esb0JBQUE7RzFHMDRYRDtDQUNGIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5yZXZlYWwubGFyZ2UsIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwudGlueSwgLnJldmVhbCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogbG9jYWwoXCJPcGVuIFNhbnMgTGlnaHRcIiksIGxvY2FsKFwiT3BlblNhbnMtTGlnaHRcIiksIHVybChcIi4uL2ZvbnQvT3Blbl9TYW5zL3dvZmYvT3BlblNhbnMtTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiBsb2NhbChcIk9wZW4gU2FucyBMaWdodCBJdGFsaWNcIiksIGxvY2FsKFwiT3BlblNhbnMtTGlnaHRJdGFsaWNcIiksIHVybChcIi4uL2ZvbnQvT3Blbl9TYW5zL3dvZmYvT3BlblNhbnMtTGlnaHRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiBsb2NhbChcIk9wZW4gU2Fuc1wiKSwgbG9jYWwoXCJPcGVuU2Fucy1SZWd1bGFyXCIpLCB1cmwoXCIuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiBsb2NhbChcIk9wZW4gU2FucyBJdGFsaWNcIiksIGxvY2FsKFwiT3BlblNhbnMtSXRhbGljXCIpLCB1cmwoXCIuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLUl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBzcmM6IGxvY2FsKFwiT3BlbiBTYW5zIFNlbWlCb2xkXCIpLCBsb2NhbChcIk9wZW5TYW5zLVNlbWlCb2xkXCIpLCB1cmwoXCIuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLVNlbWlCb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHNyYzogbG9jYWwoXCJPcGVuIFNhbnMgU2VtaUJvbGQgSXRhbGljXCIpLCBsb2NhbChcIk9wZW5TYW5zLVNlbWlCb2xkSXRhbGljXCIpLCB1cmwoXCIuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLVNlbWlCb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogbG9jYWwoXCJPcGVuIFNhbnMgQm9sZFwiKSwgbG9jYWwoXCJPcGVuU2Fucy1Cb2xkXCIpLCB1cmwoXCIuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiBsb2NhbChcIk9wZW4gU2FucyBCb2xkIEl0YWxpY1wiKSwgbG9jYWwoXCJPcGVuU2Fucy1Cb2xkSXRhbGljXCIpLCB1cmwoXCIuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgc3JjOiBsb2NhbChcIk9wZW4gU2FucyBFeHRyYUJvbGRcIiksIGxvY2FsKFwiT3BlblNhbnMtRXh0cmFCb2xkXCIpLCB1cmwoXCIuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLUV4dHJhQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogODAwO1xuICBzcmM6IGxvY2FsKFwiT3BlbiBTYW5zIEV4dHJhQm9sZCBJdGFsaWNcIiksIGxvY2FsKFwiT3BlblNhbnMtRXh0cmFCb2xkSXRhbGljXCIpLCB1cmwoXCIuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLUV4dHJhQm9sZEl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgKi9cbiAgLyoqXG4gICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICovXG59XG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAqL1xufVxuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQ4LjA2MjVlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTAuMDYyNWVtXCI7XG59XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIll1IEdvdGhpYyBNZWRpdW1cIiwgXCLmuLjjgrTjgrfjg4Pjgq8gTWVkaXVtXCIsIFl1R290aGljLCBcIua4uOOCtOOCt+ODg+OCr+S9k1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bztcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMS4xMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4xMjVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2VsbC5hdXRvIHtcbiAgZmxleDogMSAxIDBweDtcbn1cbi5jZWxsLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0gMXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtIDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLSAxLjEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gMS4xMjVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMS4xMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogY2FsYyg3NSUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0gMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0gMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtIDEuMTI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtIDEuMTI1cmVtO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLSAxcmVtO1xuICBtYXJnaW4tbGVmdDogLSAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtIDEuMTI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtIDEuMTI1cmVtO1xuICB9XG59XG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMTI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4xMjVyZW07XG4gIH1cbn1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xufVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDJyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMnJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMnJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuMjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMi4yNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMi4yNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuMjVyZW0pO1xuICB9XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAxcmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDFyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAxcmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxcmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDFyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDFyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDFyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDFyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4xMjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMzMzMzMzJSArIDEuMTI1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDEuMTI1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS4xMjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzMzMzMzMlICsgMS4xMjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMS4xMjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMTI1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzMzMzMzMlICsgMS4xMjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAxLjEyNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMTI1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMS4xMjVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDEuMTI1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMTI1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMS4xMjVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS4xMjVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDEuMTI1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAxLjEyNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMS4xMjVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMS4xMjVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMTI1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDEuMTI1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDEuMTI1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS4xMjVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDEuMTI1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDEuMTI1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDEuMTI1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMS4xMjVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMTI1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMS4xMjVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAxLjEyNXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS4xMjVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDEuMTI1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAxLjEyNXJlbSk7XG4gIH1cbn1cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG4uZ3JpZC15ID4gLmNlbGwge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogMjUlO1xufVxuLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IDUwJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTgge1xuICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiA3NSU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTEge1xuICAgIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IC0gMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgbWFyZ2luLXRvcDogLSAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtIDEuMTI1cmVtO1xuICB9XG59XG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgIHBhZGRpbmctdG9wOiAxLjEyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IC0gMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0gMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLSAxLjEyNXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7XG59XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLmNlbGwgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IC0gMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0gMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLSAxLjEyNXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMnJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDJyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMi4yNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuMjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAyLjI1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAyLjI1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuMjVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuMjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAyLjI1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMi4yNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuMjVyZW0pO1xuICB9XG59XG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiWXUgR290aGljIE1lZGl1bVwiLCBcIua4uOOCtOOCt+ODg+OCryBNZWRpdW1cIiwgWXVHb3RoaWMsIFwi5ri444K044K344OD44Kv5L2TXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIuODoeOCpOODquOCqlwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuaDEgc21hbGwsIC5oMSBzbWFsbCxcbmgyIHNtYWxsLCAuaDIgc21hbGwsXG5oMyBzbWFsbCwgLmgzIHNtYWxsLFxuaDQgc21hbGwsIC5oNCBzbWFsbCxcbmg1IHNtYWxsLCAuaDUgc21hbGwsXG5oNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGNvbG9yOiAjY2FjYWNhO1xufVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cbn1cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMxNzc5YmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMTQ2OGEwO1xufVxuYSBpbWcge1xuICBib3JkZXI6IDA7XG59XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG51bCB1bCwgdWwgb2wsIG9sIHVsLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhO1xufVxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuY2l0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAlCBcIjtcbn1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbnAgKyAuc3RhdCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xufVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzIyMjIyMjtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gIH1cbn1cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbi5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b24udGlueSB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuLmJ1dHRvbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5idXR0b24ubGFyZ2Uge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uYnV0dG9uLmV4cGFuZGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ1dHRvbi5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbi5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24ud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMTc3OWJhO1xuICBjb2xvcjogIzE3NzliYTtcbn1cbi5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgY29sb3I6ICMwYzNkNWQ7XG59XG4uYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzE3NzliYTtcbiAgY29sb3I6ICMxNzc5YmE7XG59XG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgYm9yZGVyOiAycHggc29saWQgIzE3NzliYTtcbiAgY29sb3I6ICMxNzc5YmE7XG59XG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICBjb2xvcjogIzBjM2Q1ZDtcbn1cbi5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxNzc5YmE7XG4gIGNvbG9yOiAjMTc3OWJhO1xufVxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzNhZGI3NjtcbiAgY29sb3I6ICMzYWRiNzY7XG59XG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICBjb2xvcjogIzE1NzUzOTtcbn1cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzYWRiNzY7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmFlMDA7XG4gIGNvbG9yOiAjZmZhZTAwO1xufVxuLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgY29sb3I6ICM4MDU3MDA7XG59XG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZhZTAwO1xuICBjb2xvcjogI2ZmYWUwMDtcbn1cbi5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2NjNGIzNztcbiAgY29sb3I6ICNjYzRiMzc7XG59XG4uYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gIGNvbG9yOiAjNjcyNTFhO1xufVxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjYzRiMzc7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuLmJ1dHRvbi5jbGVhciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxNzc5YmE7XG4gIGNvbG9yOiAjMTc3OWJhO1xufVxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgY29sb3I6ICMwYzNkNWQ7XG59XG4uYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMTc3OWJhO1xuICBjb2xvcjogIzE3NzliYTtcbn1cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5IHtcbiAgYm9yZGVyOiAycHggc29saWQgIzE3NzliYTtcbiAgY29sb3I6ICMxNzc5YmE7XG59XG4uYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgY29sb3I6ICMwYzNkNWQ7XG59XG4uYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxNzc5YmE7XG4gIGNvbG9yOiAjMTc3OWJhO1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgY29sb3I6IGJsYWNrO1xufVxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3Mge1xuICBib3JkZXI6IDJweCBzb2xpZCAjM2FkYjc2O1xuICBjb2xvcjogIzNhZGI3Njtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICBjb2xvcjogIzE1NzUzOTtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzNhZGI3NjtcbiAgY29sb3I6ICMzYWRiNzY7XG59XG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uY2xlYXIud2FybmluZyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmFlMDA7XG4gIGNvbG9yOiAjZmZhZTAwO1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gIGNvbG9yOiAjODA1NzAwO1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZhZTAwO1xuICBjb2xvcjogI2ZmYWUwMDtcbn1cbi5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhci5hbGVydCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjYzRiMzc7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgY29sb3I6ICM2NzI1MWE7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2M0YjM3O1xuICBjb2xvcjogI2NjNGIzNztcbn1cbi5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuNGVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDJyZW07XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMTc3OWJhO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMTc3OWJhO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3O1xufVxuLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gIHRvcDogLTAuMWVtO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuW3R5cGU9dGV4dF0sIFt0eXBlPXBhc3N3b3JkXSwgW3R5cGU9ZGF0ZV0sIFt0eXBlPWRhdGV0aW1lXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1tb250aF0sIFt0eXBlPXdlZWtdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPXNlYXJjaF0sIFt0eXBlPXRlbF0sIFt0eXBlPXRpbWVdLCBbdHlwZT11cmxdLCBbdHlwZT1jb2xvcl0sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuW3R5cGU9dGV4dF06Zm9jdXMsIFt0eXBlPXBhc3N3b3JkXTpmb2N1cywgW3R5cGU9ZGF0ZV06Zm9jdXMsIFt0eXBlPWRhdGV0aW1lXTpmb2N1cywgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmZvY3VzLCBbdHlwZT1tb250aF06Zm9jdXMsIFt0eXBlPXdlZWtdOmZvY3VzLCBbdHlwZT1lbWFpbF06Zm9jdXMsIFt0eXBlPW51bWJlcl06Zm9jdXMsIFt0eXBlPXNlYXJjaF06Zm9jdXMsIFt0eXBlPXRlbF06Zm9jdXMsIFt0eXBlPXRpbWVdOmZvY3VzLCBbdHlwZT11cmxdOmZvY3VzLCBbdHlwZT1jb2xvcl06Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyMjIyMjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxudGV4dGFyZWFbcm93c10ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhO1xufVxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5bdHlwZT1maWxlXSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblt0eXBlPWNoZWNrYm94XSArIGxhYmVsLFxuW3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuW3R5cGU9Y2hlY2tib3hdICsgbGFiZWxbZm9yXSxcblt0eXBlPXJhZGlvXSArIGxhYmVsW2Zvcl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmxhYmVsID4gW3R5cGU9Y2hlY2tib3hdLFxubGFiZWwgPiBbdHlwZT1yYWRpb10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuW3R5cGU9ZmlsZV0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbmxhYmVsLm1pZGRsZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAwO1xufVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cbi5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIGhlaWdodDogYXV0bztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG59XG4uZmllbGRzZXQgbGVnZW5kIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgcGFkZGluZzogMCAwLjE4NzVyZW07XG59XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODM0LCAzNCwgMzQlMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwICkge1xuICBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIH1cbn1cbnNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyMjIyMjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5zZWxlY3Q6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlZGViO1xufVxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYzRiMzc7XG59XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7XG59XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNjYzRiMzc7XG59XG4uZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNzc5YmE7XG59XG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbn1cbi5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBjb250ZW50OiBcIitcIjtcbn1cbi5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAk1wiO1xufVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbjpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbn1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIHJpZ2h0OiAxcmVtO1xufVxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG4uc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5iYWRnZS5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYmFkZ2Uuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJhZGdlLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5iYWRnZS5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4uYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYnJlYWRjcnVtYnMgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwLjc1cmVtO1xuICBvcGFjaXR5OiAxO1xuICBjb250ZW50OiBcIi9cIjtcbiAgY29sb3I6ICNjYWNhY2E7XG59XG4uYnJlYWRjcnVtYnMgYSB7XG4gIGNvbG9yOiAjMTc3OWJhO1xufVxuLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICBjb2xvcjogI2NhY2FjYTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cbi5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cbi5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4uYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cbi5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNhbGxvdXQucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkN2VjZmE7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2U0ZTE7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQuc21hbGwge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuLmNhbGxvdXQubGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiBub25lO1xufVxuLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5jbG9zZS1idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gIHJpZ2h0OiAwLjY2cmVtO1xuICB0b3A6IDAuMzNlbTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5tZW51IGxpIHtcbiAgb3V0bGluZTogMDtcbn1cbi5tZW51IGEsXG4ubWVudSAuYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLm1lbnUgaW5wdXQsXG4ubWVudSBzZWxlY3QsXG4ubWVudSBhLFxuLm1lbnUgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5tZW51IGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4ubWVudS52ZXJ0aWNhbCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLm1lbnUuZXhwYW5kZWQgbGkge1xuICBmbGV4OiAxIDEgMHB4O1xufVxuLm1lbnUuc2ltcGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4ubWVudS5zaW1wbGUgYSB7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZW51LnhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS54bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS54eGxhcmdlLXZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZW51Lnh4bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUueHhsYXJnZS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbi5tZW51Lm5lc3RlZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4ubWVudS5pY29ucyBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG4ubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4ubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbi5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cbi5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ubWVudSAuYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLm1lbnUuYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ubWVudS5hbGlnbi1jZW50ZXIgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51IC5tZW51LXRleHQge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5tZW51LWljb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZmZmZiwgMCAxNHB4IDAgI2ZmZmZmZjtcbiAgY29udGVudDogXCJcIjtcbn1cbi5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhO1xufVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAwMDAsIDAgMTRweCAwICMwMDAwMDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4ubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjMjIyMjIyLCAwIDE0cHggMCAjMjIyMjIyO1xufVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmlzLWRyaWxsZG93biBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xufVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xufVxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7XG59XG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbn1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuLmRyb3Bkb3duLm1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDtcbn1cbi5kcm9wZG93bi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMTc3OWJhO1xufVxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAwO1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xuICB9XG59XG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDtcbn1cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtNnB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4ucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbi5mbGV4LXZpZGVvIGlmcmFtZSxcbi5mbGV4LXZpZGVvIG9iamVjdCxcbi5mbGV4LXZpZGVvIGVtYmVkLFxuLmZsZXgtdmlkZW8gdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4uZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmxhYmVsLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5sYWJlbC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5sYWJlbC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubGFiZWwud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmxhYmVsLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cbi5tZWRpYS1vYmplY3QgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bztcbn1cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG4ubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub2ZmLWNhbnZhcyB7XG4gIG91dGxpbmU6IDA7XG59XG4ub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICB6LWluZGV4OiAxMjtcbn1cbi5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gIHotaW5kZXg6IDEzO1xufVxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG4ub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBvdXRsaW5lOiAwO1xufVxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgei1pbmRleDogMTI7XG59XG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICB6LWluZGV4OiAxMztcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG59XG5cbi5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7XG59XG5cbi5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG59XG5cbi5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ub3JiaXQtbmV4dCwgLm9yYml0LXByZXZpb3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5vcmJpdC1uZXh0LCBbZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5vcmJpdC1wcmV2aW91cyB7XG4gIG91dGxpbmU6IDA7XG59XG4ub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmZvY3VzLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7XG59XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub3JiaXQtYnVsbGV0cyB7XG4gIG91dGxpbmU6IDA7XG59XG4ub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDEuMnJlbTtcbiAgbWFyZ2luOiAwLjFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbn1cbi5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7XG59XG4ub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjIyMjtcbn1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4ucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5wYWdpbmF0aW9uIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLnBhZ2luYXRpb24gYSxcbi5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnBhZ2luYXRpb24gYTpob3Zlcixcbi5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG59XG4ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgY29sb3I6ICNjYWNhY2E7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGNvbnRlbnQ6IFwi4oCmXCI7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCq1wiO1xufVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwrtcIjtcbn1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xufVxuLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbn1cbi5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG59XG4ucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xufVxuLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG59XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xufVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4uc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xufVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuc2xpZGVyLWhhbmRsZSB7XG4gIG91dGxpbmU6IDA7XG59XG4uc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7XG59XG4uc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG59XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICB0b3A6IDA7XG4gIHdpZHRoOiAwLjVyZW07XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4uc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICB0b3A6IDA7XG59XG4uc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG59XG4uc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5yZXZlYWwge1xuICBvdXRsaW5lOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAucmV2ZWFsIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG4ucmV2ZWFsIC5jb2x1bW4ge1xuICBtaW4td2lkdGg6IDA7XG59XG4ucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAucmV2ZWFsIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuLnJldmVhbC5jb2xsYXBzZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5yZXZlYWwudGlueSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5yZXZlYWwuc21hbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAucmV2ZWFsLmxhcmdlIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gIH1cbn1cbi5yZXZlYWwuZnVsbCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5pbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgbWFyZ2luOiAwO1xufVxuLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBjb250ZW50OiBcIlwiO1xufVxuaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbn1cbmlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAyLjI1cmVtO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnN3aXRjaC1pbmFjdGl2ZSwgLnN3aXRjaC1hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5pbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTtcbn1cbmlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTtcbn1cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbn1cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMjVyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG59XG4uc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDEuNzVyZW07XG59XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07XG59XG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHRvcDogMC4yNXJlbTtcbiAgbGVmdDogMC4yNXJlbTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbn1cbi5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDJyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTtcbn1cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgdG9wOiAwLjI1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xufVxuLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMi43NXJlbTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbnRoZWFkLFxudGJvZHksXG50Zm9vdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG50aGVhZCB7XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG50Zm9vdCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG50aGVhZCB0cixcbnRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG50aGVhZCB0aCxcbnRoZWFkIHRkLFxudGZvb3QgdGgsXG50Zm9vdCB0ZCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRib2R5IHRoLFxudGJvZHkgdGQge1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG59XG5cbnRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG5cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG50YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xufVxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xufVxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbn1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG4udGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnRhYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwO1xufVxuLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xufVxuLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMxNjczYjE7XG59XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4udGFicy10aXRsZSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMTc3OWJhO1xufVxuLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMxNDY4YTA7XG59XG4udGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMxNzc5YmE7XG59XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4udGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xufVxuYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgyMywgMTIxLCAxODYsIDAuNSk7XG59XG5hLnRodW1ibmFpbCBpbWFnZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udGl0bGUtYmFyIC5tZW51LWljb24ge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDtcbn1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjMjIyMjIyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udG9vbHRpcDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICBib3R0b206IDEwMCU7XG59XG4udG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgdG9wOiAxMDAlO1xuICBib3R0b206IGF1dG87XG59XG4udG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwMDA7XG4gIGxlZnQ6IDEwMCU7XG59XG4udG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4udG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAxMCU7XG59XG4udG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gIGJvdHRvbTogMTAlO1xuICB0b3A6IGF1dG87XG59XG4udG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICBsZWZ0OiAxMCU7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMCU7XG59XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udG9wLWJhcixcbi50b3AtYmFyIHVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbn1cbi50b3AtYmFyIGlucHV0IHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLnRvcC1iYXIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwZW0pIHtcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4udG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7XG59XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7XG59XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7XG59XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7XG59XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7XG59XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7XG59XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bztcbn1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuLnRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1vdmVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogb3ZlcmxpbmUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGluZS10aHJvdWdoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDtcbn1cblxuLmZvbnQtd2lkZSB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjI1cmVtO1xufVxuXG4uZm9udC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5mb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG51bC5saXN0LWRpc2Mge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDtcbn1cblxudWwubGlzdC1jaXJjbGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZSAhaW1wb3J0YW50O1xufVxuXG51bC5saXN0LXNxdWFyZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlICFpbXBvcnRhbnQ7XG59XG5cbm9sLmxpc3QtZGVjaW1hbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbCAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LWxvd2VyLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYSAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LWxvd2VyLWxhdGluIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1sYXRpbiAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LWxvd2VyLXJvbWFuIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbiAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LXVwcGVyLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYSAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LXVwcGVyLWxhdGluIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1sYXRpbiAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LXVwcGVyLXJvbWFuIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbiAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG4ucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xufVxuXG4uYm9yZGVyZWQge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjY2FjYWNhO1xufVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5hcnJvdy1kb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4uYXJyb3ctdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwMDA7XG59XG5cbi5hcnJvdy1yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDAwMDtcbn1cblxuLmFycm93LWxlZnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbi5zZXBhcmF0b3ItY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG4uc2VwYXJhdG9yLWNlbnRlcjo6YmVmb3JlLCAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDNyZW07XG4gIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMxNzc5YmE7XG4gIG1hcmdpbjogMXJlbSBhdXRvIDA7XG59XG5cbi5zZXBhcmF0b3ItbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cbi5zZXBhcmF0b3ItbGVmdDo6YmVmb3JlLCAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5zZXBhcmF0b3ItbGVmdDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5zZXBhcmF0b3ItbGVmdDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDNyZW07XG4gIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMxNzc5YmE7XG4gIG1hcmdpbjogMXJlbSBhdXRvIDA7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zZXBhcmF0b3ItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuLnNlcGFyYXRvci1yaWdodDo6YmVmb3JlLCAuc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4uc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDNyZW07XG4gIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMxNzc5YmE7XG4gIG1hcmdpbjogMXJlbSBhdXRvIDA7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctdmlzaWJsZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LXZpc2libGUge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy15LXZpc2libGUge1xuICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LWhpZGRlbiB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteS1oaWRkZW4ge1xuICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXNjcm9sbCB7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXgtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy15LXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNwbGF5LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmRpc3BsYXktdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheS10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tc3RhdGljIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogMHJlbSAhaW1wb3J0YW50O1xuICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk3NTtcbn1cblxuLnBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBib3R0b206IDByZW0gIWltcG9ydGFudDtcbiAgbGVmdDogMHJlbSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5NzU7XG59XG5cbi5ib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndpZHRoLTI1IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4ud2lkdGgtNTAge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi53aWR0aC03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cblxuLndpZHRoLTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5oZWlnaHQtMjUge1xuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4uaGVpZ2h0LTUwIHtcbiAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDtcbn1cblxuLmhlaWdodC03NSB7XG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi5oZWlnaHQtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5tYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5tYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi10b3AtMCB7XG4gIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdG9wLTAge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXJpZ2h0LTAge1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctcmlnaHQtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ib3R0b20tMCB7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYm90dG9tLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWxlZnQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxlZnQtMCB7XG4gIHBhZGRpbmctbGVmdDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWhvcml6b250YWwtMCB7XG4gIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLTAge1xuICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdmVydGljYWwtMCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tdG9wLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXRvcC0xIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1yaWdodC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTEge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYm90dG9tLTEge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS0xIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1sZWZ0LTEge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sZWZ0LTEge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTEge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi12ZXJ0aWNhbC0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTIge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXRvcC0yIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy10b3AtMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tcmlnaHQtMiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1yaWdodC0yIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ib3R0b20tMiB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGVmdC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbGVmdC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tdmVydGljYWwtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0yIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi10b3AtMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdG9wLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXJpZ2h0LTMge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctcmlnaHQtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ib3R0b20tMyB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYm90dG9tLTMge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWxlZnQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxlZnQtMyB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWhvcml6b250YWwtMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTMge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLTMge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdmVydGljYWwtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDtcbn1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7XG59XG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTtcbiAgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7XG4gIH1cbn1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjtcbn1cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuO1xufVxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTtcbiAgfVxufVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnO1xufVxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpO1xuICB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xuICB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDtcbn1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xufVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDtcbn1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9uZTtcbn1cblxuKiB7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJwYWx0XCI7XG4gIGZvbnQta2VybmluZzogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xufVxuXG5oMSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5wIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS42NjY2Nztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICB9XG59XG5cbmxpIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS42NjY2Nztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgfVxufVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2Utb3V0O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbmE6aG92ZXIsIGE6YWN0aXZlLCBhOnZpc2l0ZWQge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbmE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbmJ1dHRvbixcbi5idXR0b24ge1xuICBmb250LXdlaWdodDogNzAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1vdXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5idXR0b246aG92ZXIsXG4uYnV0dG9uOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ubWFyZ2luLWJvdHRvbS03MCB7XG4gIG1hcmdpbi1ib3R0b206IDcwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxMHZ3IC0gMzJweCAvIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEwdncgLSAzMnB4IC8gMik7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxMHZ3IC0gMzZweCAvIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEwdncgLSAzNnB4IC8gMik7XG4gIH1cbn1cblxuLmlmcmFtZS13cmFwIHtcbiAgcGFkZGluZy10b3A6IDUwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTNkZjtcbn1cbi5pZnJhbWUtd3JhcC55b3V0dWJlIHtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcbn1cbi5pZnJhbWUtd3JhcC51dHR6cyB7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5pZnJhbWUtd3JhcCB7XG4gICAgcGFkZGluZy10b3A6IDI1dnc7XG4gIH1cbn1cbi5pZnJhbWUtd3JhcCBpZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxudmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxvYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmltYWdlLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmltYWdlLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG4uaW1hZ2UtZ3JvdXAgaW1nICsgaW1nLFxuLmltYWdlLWdyb3VwIGltZyArIHZpZGVvLFxuLmltYWdlLWdyb3VwIHZpZGVvICsgaW1nLFxuLmltYWdlLWdyb3VwIHZpZGVvICsgdmlkZW8ge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuaW1hZ2UtZ3JvdXAgaW1nICsgaW1nLFxuICAuaW1hZ2UtZ3JvdXAgaW1nICsgdmlkZW8sXG4gIC5pbWFnZS1ncm91cCB2aWRlbyArIGltZyxcbiAgLmltYWdlLWdyb3VwIHZpZGVvICsgdmlkZW8ge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cbn1cblxuYm9keSAjY29udGVudC13cmFwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQ7XG59XG4jbG9hZGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwMDtcbn1cbiNsb2FkZXIubG9hZC1hbmltOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgbWFyZ2luOiAtMzBweCAwIDAgLTMwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDAuNDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgYW5pbWF0aW9uOiBsb2FkZXJBbmltIDAuN3MgbGluZWFyIGluZmluaXRlIGFsdGVybmF0ZSBmb3J3YXJkcztcbn1cblxuYm9keS5yZW5kZXIge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbmJvZHkucmVuZGVyICNjb250ZW50LXdyYXAge1xuICBvcGFjaXR5OiAxO1xufVxuYm9keS5yZW5kZXIgI2xvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyQW5pbSB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMSk7XG4gIH1cbn1cbi5vcGVuIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm9wZW4gaW1nIHtcbiAgdHJhbnNpdGlvbjogMC4zcztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbn1cbi5vcGVuIGltZzpob3ZlciB7XG4gIHRyYW5zaXRpb246IDAuM3M7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSwgMS4wNSk7XG59XG5cbiNwb3AtdXBfMSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8xOmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfMiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8yOmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfMyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8zOmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfNCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF80OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfNSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF81OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfNiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF82OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfNyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF83OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfOCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF84OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfOSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF85OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfMTAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNwb3AtdXBfMTA6Y2hlY2tlZCArIC5vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBtYXJnaW46IDAgMDtcbn1cblxuI3BvcC11cF8xMSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8xMTpjaGVja2VkICsgLm92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG1hcmdpbjogMCAwO1xufVxuXG4jcG9wLXVwXzEyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcG9wLXVwXzEyOmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfMTMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNwb3AtdXBfMTM6Y2hlY2tlZCArIC5vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBtYXJnaW46IDAgMDtcbn1cblxuI3BvcC11cF8xNCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8xNDpjaGVja2VkICsgLm92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG1hcmdpbjogMCAwO1xufVxuXG4jcG9wLXVwXzE1IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcG9wLXVwXzE1OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfMTYge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNwb3AtdXBfMTY6Y2hlY2tlZCArIC5vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBtYXJnaW46IDAgMDtcbn1cblxuI3BvcC11cF8xNyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8xNzpjaGVja2VkICsgLm92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG1hcmdpbjogMCAwO1xufVxuXG4jcG9wLXVwXzE4IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcG9wLXVwXzE4OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfMTkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNwb3AtdXBfMTk6Y2hlY2tlZCArIC5vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBtYXJnaW46IDAgMDtcbn1cblxuI3BvcC11cF8yMCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8yMDpjaGVja2VkICsgLm92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG1hcmdpbjogMCAwO1xufVxuXG4jcG9wLXVwXzIxIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcG9wLXVwXzIxOmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfMjIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNwb3AtdXBfMjI6Y2hlY2tlZCArIC5vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBtYXJnaW46IDAgMDtcbn1cblxuI3BvcC11cF8yMyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8yMzpjaGVja2VkICsgLm92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG1hcmdpbjogMCAwO1xufVxuXG4jcG9wLXVwXzI0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcG9wLXVwXzI0OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfMjUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNwb3AtdXBfMjU6Y2hlY2tlZCArIC5vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBtYXJnaW46IDAgMDtcbn1cblxuI3BvcC11cF8yNiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8yNjpjaGVja2VkICsgLm92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG1hcmdpbjogMCAwO1xufVxuXG4jcG9wLXVwXzI3IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcG9wLXVwXzI3OmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbiNwb3AtdXBfMjgge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNwb3AtdXBfMjg6Y2hlY2tlZCArIC5vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBtYXJnaW46IDAgMDtcbn1cblxuI3BvcC11cF8yOSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BvcC11cF8yOTpjaGVja2VkICsgLm92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG1hcmdpbjogMCAwO1xufVxuXG4jcG9wLXVwXzMwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcG9wLXVwXzMwOmNoZWNrZWQgKyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgbWFyZ2luOiAwIDA7XG59XG5cbi53aW5kb3cge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA5MHZ3O1xuICBtYXgtd2lkdGg6IDM2MHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLmNsb3NlIHtcbiAgdG9wOiAwO1xuICByaWdodDogMjBweDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgZm9udC1zaXplOiAyMHB0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuLnNtYWxsLWNvbHVtbi0yIC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTFweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLnNtYWxsLWNvbHVtbi0yIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG4uY2FyZC1pbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2FyZC1pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbn1cbmE6aG92ZXIgLmNhcmQtaW1hZ2UgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLmNhcmQtcmVjb3JkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jYXJkLXJlY29yZCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbn1cbmE6aG92ZXIgLmNhcmQtcmVjb3JkIGltZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDMwZGVnKTtcbn1cbi5jYXJkIC5jYXJkLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuY2FyZCAuY2FyZC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmNhcmQgLmNhcmQtc2VjdGlvbiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1NTU1NTU1NTY7XG4gIH1cbn1cbi5zbWFsbC1jb2x1bW4tMiAuY2FyZCAuY2FyZC1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5zbWFsbC1jb2x1bW4tMiAuY2FyZCAuY2FyZC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gIH1cbn1cbi5jYXJkIC5jYXJkLXNlY3Rpb24gKyBwIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS4zNzU7XG59XG4uY2FyZCAuY2FyZC1zZWN0aW9uIGg0IHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmNhcmQgLmNhcmQtc2VjdGlvbiBoNCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG4uY2FyZCAuY2FyZC1zZWN0aW9uIGg0ICsgcCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5zbWFsbC1jb2x1bW4tMiAuY2FyZCAuY2FyZC1zZWN0aW9uIGg0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAuc21hbGwtY29sdW1uLTIgLmNhcmQgLmNhcmQtc2VjdGlvbiBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB9XG59XG4uc21hbGwtY29sdW1uLTIgLmNhcmQgLmNhcmQtc2VjdGlvbiBoNCArIHAge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5zbWFsbC1jb2x1bW4tMiAuY2FyZCAuY2FyZC1zZWN0aW9uIGg0ICsgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAudncxMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2LjZ2dztcbiAgICBtYXJnaW4tbGVmdDogNi42dnc7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC52dzEwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwdnc7XG4gICAgbWFyZ2luLWxlZnQ6IDEwdnc7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAudncxNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHZ3O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudncxNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXZ3O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXZ3O1xuICB9XG59XG5cbmZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuZm9vdGVyIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBmb290ZXIgaDIge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuZm9vdGVyIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbmZvb3RlciB1bC5zbnMtYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgZm9udC1zaXplOiAyM3B4O1xufVxuZm9vdGVyIHVsLnNucy1idG4gbGkgYSB7XG4gIHBhZGRpbmc6IDhweDtcbn1cbmZvb3RlciB1bC5mb290ZXItbmF2aSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgZm9vdGVyIHVsLmZvb3Rlci1uYXZpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5mb290ZXIgdWwuZm9vdGVyLW5hdmkgbGkgYSB7XG4gIHBhZGRpbmc6IDVweCAxMnB4O1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbn1cbmZvb3RlciB1bC5mb290ZXItbmF2aSBsaSBhIGltZy5leHRlcm5hbC1pY29uIHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxcHg7XG59XG5mb290ZXIgcC5jb3B5LXJpZ2h0IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgaGVhZGVyLmZ1bGwta3YtZmFsc2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDQ5LjY4NzV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgaGVhZGVyLmZ1bGwta3YtZmFsc2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDQ5LjY4NzV2aDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBoZWFkZXIuZnVsbC1rdi1mYWxzZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQuNzIyMjIyMjIyMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIGhlYWRlci5mdWxsLWt2LWZhbHNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMC4wNTU1NTU1NTU2dmg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICBoZWFkZXIuZnVsbC1rdi1mYWxzZS5jb250ZW50LW92ZXJsYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDEyLjY2NjY2NjY2Njd2dztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBoZWFkZXIuZnVsbC1rdi1mYWxzZS5jb250ZW50LW92ZXJsYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDEyLjY2NjY2NjY2Njd2dztcbiAgfVxufVxuaGVhZGVyICNoZWFkZXItbGluZSB7XG4gIG1hcmdpbi10b3A6IDB2dztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTQuNXZ3O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgZWFzZS1vdXQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgaGVhZGVyICNoZWFkZXItbGluZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguNXZ3ICsgNnZoKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBoZWFkZXIgI2hlYWRlci1saW5lIHtcbiAgICBoZWlnaHQ6IDZ2dztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaGVhZGVyICNoZWFkZXItbGluZSB7XG4gICAgaGVpZ2h0OiA1dnc7XG4gIH1cbn1cbi5zY3JvbGxlZCBoZWFkZXIgI2hlYWRlci1saW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuaGVhZGVyICNwYW5hc29uaWMtbG9nbyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxLjh2dztcbiAgbGVmdDogMTB2dztcbiAgd2lkdGg6IDI5Ljc1dnc7XG4gIGhlaWdodDogNnZ3O1xuICB6LWluZGV4OiAyMjIwO1xufVxuLnNjcm9sbGVkIGhlYWRlciAjcGFuYXNvbmljLWxvZ28ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwMHB4KTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgaGVhZGVyICNwYW5hc29uaWMtbG9nbyB7XG4gICAgd2lkdGg6IDI5Ljc1dnc7XG4gICAgaGVpZ2h0OiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIGhlYWRlciAjcGFuYXNvbmljLWxvZ28ge1xuICAgIHdpZHRoOiAyOS43NXZoO1xuICAgIGhlaWdodDogNnZ3O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIGhlYWRlciAjcGFuYXNvbmljLWxvZ28ge1xuICAgIHdpZHRoOiAxMC41dnc7XG4gICAgaGVpZ2h0OiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgaGVhZGVyICNwYW5hc29uaWMtbG9nbyB7XG4gICAgd2lkdGg6IDIxdnc7XG4gICAgaGVpZ2h0OiAxMHZ3O1xuICB9XG59XG4uZWxtLXdoaXRlIGhlYWRlciAjcGFuYXNvbmljLWxvZ28ge1xuICBmaWxsOiAjZmZmZmZmO1xufVxuLnNjcm9sbGVkLmVsbS13aGl0ZSBoZWFkZXIgI3BhbmFzb25pYy1sb2dvIHtcbiAgZmlsbDogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuLmVsbS1ibGFjayBoZWFkZXIgI3BhbmFzb25pYy1sb2dvIHtcbiAgZmlsbDogIzAwMDAwMDtcbn1cbmhlYWRlciAjbG9nby13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwO1xuICB0b3A6IDAuMDYyNXZ3O1xuICByaWdodDogOS4zNzV2dztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZS1vdXQsIHRvcCAwLjRzIGVhc2Utb3V0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIGhlYWRlciAjbG9nby13cmFwIHtcbiAgICB0b3A6IDAuMDYyNXZoO1xuICAgIHJpZ2h0OiA2LjI1dmg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgaGVhZGVyICNsb2dvLXdyYXAge1xuICAgIHRvcDogLTAuNzU0ODYxMTExMXZ3O1xuICAgIHJpZ2h0OiA4LjY4MDU1NTU1NTZ2dztcbiAgfVxufVxuaGVhZGVyICNsb2dvLXdyYXAgYSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5oZWFkZXIgI2xvZ28td3JhcCBhIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5oZWFkZXIgI2xvZ28td3JhcCBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuaGVhZGVyICNuYXYtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3dnc7XG4gIGxlZnQ6IDkuNHZ3O1xuICB6LWluZGV4OiAxMDAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2Utb3V0LCB0b3AgMC40cyBlYXNlLW91dDtcbn1cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICBoZWFkZXIgI25hdi13cmFwIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBoZWFkZXIgI25hdi13cmFwIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbi5zY3JvbGxlZCBoZWFkZXIgI25hdi13cmFwIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgLW1zLXRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG59XG4jZ2xvYmFsLW5hdixcbiNsYW5nLW5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNnbG9iYWwtbmF2ID4gc3BhbixcbiNsYW5nLW5hdiA+IHNwYW4ge1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDkwcHg7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAtNDAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZS1vdXQ7XG59XG4uZWxtLXdoaXRlICNnbG9iYWwtbmF2ID4gc3Bhbixcbi5lbG0td2hpdGUgI2xhbmctbmF2ID4gc3BhbiB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuLnNjcm9sbGVkLmVsbS13aGl0ZSAjZ2xvYmFsLW5hdiA+IHNwYW4sXG4uc2Nyb2xsZWQuZWxtLXdoaXRlICNsYW5nLW5hdiA+IHNwYW4ge1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cbiNnbG9iYWwtbmF2IHVsLFxuI2xhbmctbmF2IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuI2dsb2JhbC1uYXYgdWwgbGksXG4jbGFuZy1uYXYgdWwgbGkge1xuICBtYXJnaW46IDAgNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNXMgZWFzZS1vdXQ7XG59XG4uZWxtLXdoaXRlICNnbG9iYWwtbmF2IHVsIGxpLFxuLmVsbS13aGl0ZSAjbGFuZy1uYXYgdWwgbGkge1xuICBjb2xvcjogd2hpdGU7XG59XG4jZ2xvYmFsLW5hdiB1bCBsaSBhLFxuI2xhbmctbmF2IHVsIGxpIGEge1xuICBwYWRkaW5nOiAxMHB4IDF2dztcbiAgY29sb3I6IGJsYWNrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNXMgZWFzZS1vdXQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjI0ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgI2dsb2JhbC1uYXYgdWwgbGkgYSxcbiAgI2xhbmctbmF2IHVsIGxpIGEge1xuICAgIHBhZGRpbmc6IDEwcHggMnZ3O1xuICB9XG59XG4jZ2xvYmFsLW5hdiB1bCBsaSBhLmN1cnJlbnQsXG4jbGFuZy1uYXYgdWwgbGkgYS5jdXJyZW50IHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmVsbS13aGl0ZSAjZ2xvYmFsLW5hdiB1bCBsaSBhLFxuLmVsbS13aGl0ZSAjbGFuZy1uYXYgdWwgbGkgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5zY3JvbGxlZC5lbG0td2hpdGUgI2dsb2JhbC1uYXYgdWwgbGkgYSxcbi5zY3JvbGxlZC5lbG0td2hpdGUgI2xhbmctbmF2IHVsIGxpIGEge1xuICBjb2xvcjogYmxhY2s7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG59XG4jZ2xvYmFsLW5hdiB1bCBsaS5sYW5ndWFnZeKAlXN3aXRjaGVyIGEsXG4jbGFuZy1uYXYgdWwgbGkubGFuZ3VhZ2XigJVzd2l0Y2hlciBhIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuI2xhbmctbmF2IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2xhbmctbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cblxuI2dsb2JhbC1uYXYtc3AgI25hdmktbGlzdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbn1cbiNnbG9iYWwtbmF2LXNwICNuYXZpLWxpc3QubWVudS1oaWRlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgb3BhY2l0eTogMDtcbn1cbiNnbG9iYWwtbmF2LXNwICNuYXZpLWxpc3QubWVudS1oaWRlIHVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01dmgpO1xuICBvcGFjaXR5OiAwO1xufVxuI2dsb2JhbC1uYXYtc3AgdWwge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogNS42MjV2dztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLW91dCAwLjNzLCBvcGFjaXR5IDAuNXMgZWFzZS1vdXQgMC40cztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgI2dsb2JhbC1uYXYtc3AgdWwge1xuICAgIGZvbnQtc2l6ZTogNS42MjV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI2dsb2JhbC1uYXYtc3AgdWwge1xuICAgIGZvbnQtc2l6ZTogNS42MjV2aDtcbiAgfVxufVxuI2dsb2JhbC1uYXYtc3AgdWwgbGkge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbiNnbG9iYWwtbmF2LXNwIHVsIGxpIGEge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiNnbG9iYWwtbmF2LXNwIHVsIGxpIGEuY3VycmVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbiNnbG9iYWwtbmF2LXNwIHVsIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4jbWVudS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHZ3O1xuICBsZWZ0OiAxMHZ3O1xuICB6LWluZGV4OiAxMjAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLW91dCwgdG9wIDAuNHMgZWFzZS1vdXQ7XG59XG4uc2Nyb2xsZWQgI21lbnUtYnRuIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODAlKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cbiNtZW51LWJ0biBhIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi10b3A6IDh2dztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjbWVudS1idG4gYSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiA4dnc7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgI21lbnUtYnRuIGE6aG92ZXIgI21lbnUtaWNvbjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbiAgI21lbnUtYnRuIGE6aG92ZXIgI21lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG59XG5cbiNtZW51LWljb24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNHB4KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4xcyBlYXNlLW91dDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuI21lbnUtaWNvbjo6YmVmb3JlLCAjbWVudS1pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmVsbS13aGl0ZSAjbWVudS1pY29uOjpiZWZvcmUsIC5lbG0td2hpdGUgI21lbnUtaWNvbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLnNjcm9sbGVkLmVsbS13aGl0ZSAjbWVudS1pY29uOjpiZWZvcmUsIC5zY3JvbGxlZC5lbG0td2hpdGUgI21lbnUtaWNvbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuI21lbnUtaWNvbjo6YmVmb3JlIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvdHRvbTogLTVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4wNXMgZWFzZS1vdXQ7XG59XG4jbWVudS1pY29uOjphZnRlciB7XG4gIHdpZHRoOiAxMHB4O1xuICBib3R0b206IC0xMHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjVzIGVhc2Utb3V0LCB3aWR0aCAwLjVzIGVhc2Utb3V0LCBib3R0b20gMC41cyBlYXNlLW91dDtcbn1cbiNtZW51LWljb24uY2xvc2Uge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtNHB4LCAtMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbiNtZW51LWljb24uY2xvc2U6OmJlZm9yZSB7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDIwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKDApICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4jbWVudS1pY29uLmNsb3NlOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4uZWxtLXdoaXRlICNtZW51LWljb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLnNjcm9sbGVkLmVsbS13aGl0ZSAjbWVudS1pY29uIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cbiNtZW51LWljb24gc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnN2ZyNsb2dvIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgbWFyZ2luLXRvcDogNC4ydnc7XG4gIHdpZHRoOiA3NC4zNzV2dztcbiAgaGVpZ2h0OiA1LjAwMjc3NTA5NjV2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgc3ZnI2xvZ28ge1xuICAgIHdpZHRoOiA3NC4zNzV2dztcbiAgICBoZWlnaHQ6IDUuMDAyNzc1MDk2NXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICBzdmcjbG9nbyB7XG4gICAgd2lkdGg6IDc0LjM3NXZoO1xuICAgIGhlaWdodDogNS4wMDI3NzUwOTY1dmg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgc3ZnI2xvZ28ge1xuICAgIHdpZHRoOiAyMS42dnc7XG4gICAgaGVpZ2h0OiAyLjA5MjkwNTQwNTR2dztcbiAgfVxufVxuLnNjcm9sbGVkIHN2ZyNsb2dvIHtcbiAgbWFyZ2luLXRvcDogMnZ3O1xuICBoZWlnaHQ6IDUuMDAyNzc1MDk2NXZoO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuc2Nyb2xsZWQgc3ZnI2xvZ28ge1xuICAgIG1hcmdpbi10b3A6IDJ2dztcbiAgICBoZWlnaHQ6IDUuMDAyNzc1MDk2NXZoO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2Nyb2xsZWQgc3ZnI2xvZ28ge1xuICAgIG1hcmdpbi10b3A6IDJ2dztcbiAgICBoZWlnaHQ6IDUuMDAyNzc1MDk2NXZoO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5zY3JvbGxlZCBzdmcjbG9nbyB7XG4gICAgbWFyZ2luLXRvcDogMnZ3O1xuICAgIGhlaWdodDogMi4wOTI5MDU0MDU0dnc7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgfVxufVxuLmVsbS13aGl0ZSBzdmcjbG9nbyB7XG4gIGZpbGw6ICNmZmZmZmY7XG59XG4uc2Nyb2xsZWQuZWxtLXdoaXRlIHN2ZyNsb2dvIHtcbiAgZmlsbDogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuLmVsbS1ibGFjayBzdmcjbG9nbyB7XG4gIGZpbGw6ICMwMDAwMDA7XG59XG5cbnN2ZyNsb2dvLXNwIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgd2lkdGg6IDcyLjI1dnc7XG4gIGhlaWdodDogNTAuMDI3NzUwOTY1M3Z3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICBzdmcjbG9nby1zcCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB3aWR0aDogMjUuNXZ3O1xuICAgIGhlaWdodDogMTcuNjU2ODUzMjgxOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIC5zY3JvbGxlZCBzdmcjbG9nby1zcCB7XG4gICAgaGVpZ2h0OiA4LjgyODQyNjY0MDl2dztcbiAgfVxufVxuLmVsbS13aGl0ZSBzdmcjbG9nby1zcCB7XG4gIGZpbGw6ICNmZmZmZmY7XG59XG4uc2Nyb2xsZWQuZWxtLXdoaXRlIHN2ZyNsb2dvLXNwIHtcbiAgZmlsbDogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuLmVsbS1ibGFjayBzdmcjbG9nby1zcCB7XG4gIGZpbGw6ICMwMDAwMDA7XG59XG5cbiNrdi1hcmVhIHtcbiAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3dmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgI2t2LWFyZWEge1xuICAgIGhlaWdodDogODB2aDtcbiAgfVxufVxuI2t2LWFyZWEgaW1nOm5vdCgubm90LW1haW4pLFxuI2t2LWFyZWEgdmlkZW8ge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuI2t2LWFyZWEudmVydGljYWwtZml0IGltZzpub3QoLm5vdC1tYWluKSxcbiNrdi1hcmVhLnZlcnRpY2FsLWZpdCB2aWRlbyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbiNrdi1hcmVhLmhvcml6b250YWwtZml0IGltZzpub3QoLm5vdC1tYWluKSxcbiNrdi1hcmVhLmhvcml6b250YWwtZml0IHZpZGVvIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuI2t2LWFyZWEuZnVsbC1oZWlnaHQge1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuI2t2LWFyZWEgLmZsb2F0aW5nLS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gICNrdi1hcmVhIC5mbG9hdGluZy0tY2VudGVyIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG59XG4ja3YtYXJlYSAja3YtZGVzY3JpcHRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI2t2LWFyZWEgI2t2LWRlc2NyaXB0aW9uIHAge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAja3YtYXJlYSAja3YtZGVzY3JpcHRpb24gcCB7XG4gICAgZm9udC1zaXplOiAxLjI1dmg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICNrdi1hcmVhICNrdi1kZXNjcmlwdGlvbiBwIHtcbiAgICBmb250LXNpemU6IDEuMjV2dztcbiAgfVxufVxuI2t2LWFyZWEgI2t2LWRlc2NyaXB0aW9uIHAuZm9udC1taWRkbGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAja3YtYXJlYSAja3YtZGVzY3JpcHRpb24gcC5mb250LW1pZGRsZSB7XG4gICAgZm9udC1zaXplOiAyLjV2aDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI2t2LWFyZWEgI2t2LWRlc2NyaXB0aW9uIHAuZm9udC1taWRkbGUge1xuICAgIGZvbnQtc2l6ZTogMi41dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgI2t2LWFyZWEgI2t2LWRlc2NyaXB0aW9uIHAuZm9udC1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAyLjIyMjIyMjIyMjJ2aDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI2t2LWFyZWEgI2t2LWRlc2NyaXB0aW9uIHAuZm9udC1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAyLjIyMjIyMjIyMjJ2dztcbiAgfVxufVxuI2t2LWFyZWEgLmltZy1wYyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgI2t2LWFyZWEgLmltZy1zcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAja3YtYXJlYSAuaW1nLXBjIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuI2t2LWFyZWEgLnZlcnRpY2FsX2xvZ28ge1xuICBoZWlnaHQ6IDQwdmggIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4ja3YtYXJlYSAuaG9yaXpvbnRhbF9sb2dvIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA2MHZ3ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gICNrdi1mdWxsLXNtYWxsLW9ubHkge1xuICAgIG1hcmdpbjogMCAyMHZ3O1xuICB9XG59XG5cbi5wYWdlLW5hdmkge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHMgZWFzZS1vdXQgMC41cztcbn1cbi5yZW5kZXIgLnBhZ2UtbmF2aSB7XG4gIG9wYWNpdHk6IDE7XG59XG4ucGFnZS1uYXZpLm5leHQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBsZWZ0OiBjYWxjKDV2dyAtIDRweCk7XG59XG4ucGFnZS1uYXZpLnByZXYge1xuICByaWdodDogY2FsYyg1dncgLSA0cHgpO1xufVxuLnBhZ2UtbmF2aSBhIHtcbiAgcGFkZGluZzogMjBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbn1cbi5lbG0td2hpdGUgLnBhZ2UtbmF2aSBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uc2Nyb2xsZWQuZWxtLXdoaXRlIC5wYWdlLW5hdmkgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQsIGNvbG9yIDAuNXMgZWFzZS1vdXQgMC4ycztcbn1cbi5wYWdlLW5hdmkgYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5wYWdlLW5hdmkgYSBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAucmVhZCBwIHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG5cbmEucmVhZC1tb3JlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1haW4tdGl0bGUgaDEsIC5zZWNvbmQtdGl0bGUgaDEsXG4ubWFpbi10aXRsZSBoMixcbi5zZWNvbmQtdGl0bGUgaDIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5tYWluLXRpdGxlIGgxLCAuc2Vjb25kLXRpdGxlIGgxLFxuICAubWFpbi10aXRsZSBoMixcbiAgLnNlY29uZC10aXRsZSBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cbi5tYWluLXRpdGxlIGgxICsgcCwgLnNlY29uZC10aXRsZSBoMSArIHAsXG4ubWFpbi10aXRsZSBoMiArIHAsXG4uc2Vjb25kLXRpdGxlIGgyICsgcCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5tYWluLXRpdGxlIGgxICsgcCwgLnNlY29uZC10aXRsZSBoMSArIHAsXG4gIC5tYWluLXRpdGxlIGgyICsgcCxcbiAgLnNlY29uZC10aXRsZSBoMiArIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG4ubWFpbi10aXRsZSBwLCAuc2Vjb25kLXRpdGxlIHAge1xuICBmb250LXNpemU6IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIC5tYWluLXRpdGxlIHAsIC5zZWNvbmQtdGl0bGUgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAubWFpbi10aXRsZSBwLCAuc2Vjb25kLXRpdGxlIHAge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuLm1haW4tdGl0bGUgLnJlZGRvdCwgLnNlY29uZC10aXRsZSAucmVkZG90IHtcbiAgd2lkdGg6IDI3LjE4NzV2dztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDAuNjI1cmVtIDAgMC45Mzc1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gIC5tYWluLXRpdGxlIC5yZWRkb3QsIC5zZWNvbmQtdGl0bGUgLnJlZGRvdCB7XG4gICAgd2lkdGg6IDExNnB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAyLjE4NzVyZW07XG4gIH1cbn1cbi5tYWluLXRpdGxlIC5hY2MsIC5zZWNvbmQtdGl0bGUgLmFjYyB7XG4gIHdpZHRoOiAyNy4xODc1dnc7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwLjYyNXJlbSAwIDAuOTM3NXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAubWFpbi10aXRsZSAuYWNjLCAuc2Vjb25kLXRpdGxlIC5hY2Mge1xuICAgIHdpZHRoOiAxMTZweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAxLjI1cmVtIDAgMi4xODc1cmVtO1xuICB9XG59XG5cbiNjYW52YXNQYXJlbnRFbGVtZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNjYW52YXNQYXJlbnRFbGVtZW50IGNhbnZhcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjIpO1xufVxuI3RleHQtY29udGVudHMge1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMTB2dztcbiAgYm90dG9tOiBjYWxjKDEwdncgLSA4cHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICN0ZXh0LWNvbnRlbnRzIHtcbiAgICBsZWZ0OiA1dnc7XG4gICAgYm90dG9tOiBjYWxjKDV2dyAtIDhweCk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgI3RleHQtY29udGVudHMge1xuICAgIGJvdHRvbTogY2FsYyg1dncgLSA3cHgpO1xuICB9XG59XG4jdGV4dC1jb250ZW50cyAqIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cyBlYXNlLW91dDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uZWxtLXdoaXRlICN0ZXh0LWNvbnRlbnRzICoge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbiN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIG9wYWNpdHk6IDE7XG59XG4jdGV4dC1jb250ZW50cyAudGV4dC1jb250ZW50IGgxIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBvcGFjaXR5OiAwO1xuICBmb250LXNpemU6IDUuNjI1dnc7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogNS42MjV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgI3RleHQtY29udGVudHMgLnRleHQtY29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiA1LjYyNXZoO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gICN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQgaDEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cbiN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQgaDEgLnJlZGRvdCB7XG4gIHdpZHRoOiAyNy4xODc1dnc7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgI3RleHQtY29udGVudHMgLnRleHQtY29udGVudCBoMSAucmVkZG90IHtcbiAgICB3aWR0aDogMTE2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG4jdGV4dC1jb250ZW50cyAudGV4dC1jb250ZW50IGgxIC5hY2Mge1xuICB3aWR0aDogMjcuMTg3NXZ3O1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gICN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQgaDEgLmFjYyB7XG4gICAgd2lkdGg6IDExNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuI3RleHQtY29udGVudHMgLnRleHQtY29udGVudCBoMSArIHAge1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGZvbnQtc2l6ZTogMi41dnc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQgaDEgKyBwIHtcbiAgICBmb250LXNpemU6IDIuNXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAjdGV4dC1jb250ZW50cyAudGV4dC1jb250ZW50IGgxICsgcCB7XG4gICAgZm9udC1zaXplOiAyLjV2aDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjIuNWVtKSB7XG4gICN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQgaDEgKyBwIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gICN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQgaDEgKyBwIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbiN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQuZmFkZUluIHtcbiAgb3BhY2l0eTogMTtcbn1cbiN0ZXh0LWNvbnRlbnRzIC50ZXh0LWNvbnRlbnQuZmFkZUluIGgxIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2Utb3V0LCBtYXJnaW4gMC42cyBlYXNlLW91dDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG9wYWNpdHk6IDE7XG59XG4jdGV4dC1jb250ZW50cyAudGV4dC1jb250ZW50LmZhZGVJbiBwIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2Utb3V0IDAuMnMsIG1hcmdpbiAwLjZzIGVhc2Utb3V0IDAuMnM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBvcGFjaXR5OiAxO1xufVxuI3RleHQtY29udGVudHMgLnRleHQtY29udGVudC5mYWRlT3V0IGgxIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2Utb3V0LCBtYXJnaW4gMC44cyBlYXNlLW91dDtcbiAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gIG9wYWNpdHk6IDA7XG59XG4jdGV4dC1jb250ZW50cyAudGV4dC1jb250ZW50LmZhZGVPdXQgcCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLW91dCAwLjFzLCBtYXJnaW4gMC43cyBlYXNlLW91dCAwLjFzO1xuICBtYXJnaW4tbGVmdDogNTBweDtcbiAgb3BhY2l0eTogMDtcbn1cblxuI3NsaWRlTmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogY2FsYygxMHZ3IC0gNXB4KTtcbiAgYm90dG9tOiBjYWxjKDEwdncgLSA1cHgpO1xuICB6LWluZGV4OiAxMDAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICNzbGlkZU5hdiB7XG4gICAgcmlnaHQ6IGNhbGMoNXZ3IC0gMTBweCk7XG4gICAgYm90dG9tOiBjYWxjKDV2dyAtIDVweCk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgI3NsaWRlTmF2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgYm90dG9tOiBjYWxjKDV2dyAtIDVweCk7XG4gIH1cbn1cbiNzbGlkZU5hdiB1bCB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiNzbGlkZU5hdiB1bCBsaSB7XG4gIHBhZGRpbmc6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3NsaWRlTmF2IHVsIGxpLmN1cnJlbnQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuI3NsaWRlTmF2IHVsIGxpLmN1cnJlbnQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xufVxuLmVsbS13aGl0ZSAjc2xpZGVOYXYgdWwgbGkuY3VycmVudDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gICNzbGlkZU5hdiB1bCBsaTpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgfVxuICAuZWxtLXdoaXRlICNzbGlkZU5hdiB1bCBsaTpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgfVxufVxuI3NsaWRlTmF2IHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZS1vdXQ7XG59XG4uZWxtLXdoaXRlICNzbGlkZU5hdiB1bCBsaTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuI3NsaWRlTmF2IHVsIGxpIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ua3Ytc2ltcGxlLXNsaWRlciB7XG4gIGhlaWdodDogODB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ua3YtaXRlbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1lIDE1cyAwcyBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBhbmltZSAxNXMgMHMgaW5maW5pdGU7XG59XG5cbi5rdi1pdGVtOm50aC1vZi10eXBlKDIpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDVzO1xuICBhbmltYXRpb24tZGVsYXk6IDVzO1xufVxuXG4ua3YtaXRlbTpudGgtb2YtdHlwZSgzKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMTBzO1xufVxuXG5Aa2V5ZnJhbWVzIGFuaW1lIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDM1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogOTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWUge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAzMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMzUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiA5O1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi50aGFhZC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEyLjVweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLnRoYWFkLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiA3NHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM3cHg7XG4gIH1cbn1cbi50aGFhZC10aXRsZSBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLnRoYWFkLXRpdGxlIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuLnRoYWFkLXRpdGxlIHAge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAudGhhYWQtdGl0bGUgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuLnRoYWFkLXRpdGxlIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hYm91dCBoMSB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5hYm91dCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDlweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgLmFib3V0IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuICB9XG59XG5cbi5hcmNoaXZlIHtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmFyY2hpdmUuc21hbGwtY29sdW1uLTIgPiAuZ3JpZC1tYXJnaW4teCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuICB9XG4gIC5hcmNoaXZlLnNtYWxsLWNvbHVtbi0yID4gLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgfVxufVxuXG4jY29udGFjdCB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gICNjb250YWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNjBweDtcbiAgfVxufVxuI2NvbnRhY3QgaDEge1xuICBtYXJnaW4tYm90dG9tOiAxN3B4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAjY29udGFjdCBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxufVxuI2NvbnRhY3QgYnV0dG9uLFxuI2NvbnRhY3QgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAjY29udGFjdCBidXR0b24sXG4gICNjb250YWN0IC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgI2NvbnRhY3QgYnV0dG9uLFxuICAjY29udGFjdCAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICB9XG59XG4jY29udGFjdCAuYWRkcmVzcyB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSB7XG4gICNjb250YWN0IC5hZGRyZXNzIHtcbiAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICB9XG59XG4jY29udGFjdCAuYWRkcmVzcyBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAjY29udGFjdCAuYWRkcmVzcyBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAjY29udGFjdCAuYWRkcmVzcyBwIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4jY29udGFjdCAuYWRkcmVzcyBwOmZpcnN0LWNoaWxkIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuI2NvbnRhY3QgLmFkZHJlc3MgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuYm9keS5uZXdzLFxuYm9keS5ldmVudHMge1xuICAvKiBESUcgVVAgRVhISUJJVElPTiAqL1xuICAvKiBSZW1peGVkIFJlYWxpdHkgRVhISUJJVElPTiAqL1xufVxuYm9keS5uZXdzIGFydGljbGUsXG5ib2R5LmV2ZW50cyBhcnRpY2xlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cbmJvZHkubmV3cyBpbWcubmV3cy1pbWFnZSxcbmJvZHkuZXZlbnRzIGltZy5uZXdzLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjFweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgYm9keS5uZXdzIGltZy5uZXdzLWltYWdlLFxuICBib2R5LmV2ZW50cyBpbWcubmV3cy1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICBib2R5Lm5ld3MgaGVhZGVyLFxuICBib2R5LmV2ZW50cyBoZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIzLjQzNzV2dztcbiAgfVxufVxuYm9keS5uZXdzIC5tYWluLXRpdGxlLCBib2R5Lm5ld3MgLnNlY29uZC10aXRsZSxcbmJvZHkuZXZlbnRzIC5tYWluLXRpdGxlLFxuYm9keS5ldmVudHMgLnNlY29uZC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLm1haW4tdGl0bGUsIGJvZHkubmV3cyAuc2Vjb25kLXRpdGxlLFxuICBib2R5LmV2ZW50cyAubWFpbi10aXRsZSxcbiAgYm9keS5ldmVudHMgLnNlY29uZC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5ib2R5Lm5ld3MgLm1haW4tdGl0bGUgaDEsIGJvZHkubmV3cyAuc2Vjb25kLXRpdGxlIGgxLFxuYm9keS5ldmVudHMgLm1haW4tdGl0bGUgaDEsXG5ib2R5LmV2ZW50cyAuc2Vjb25kLXRpdGxlIGgxIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLm1haW4tdGl0bGUgaDEsIGJvZHkubmV3cyAuc2Vjb25kLXRpdGxlIGgxLFxuICBib2R5LmV2ZW50cyAubWFpbi10aXRsZSBoMSxcbiAgYm9keS5ldmVudHMgLnNlY29uZC10aXRsZSBoMSB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICB9XG59XG5ib2R5Lm5ld3MgLm1haW4tdGl0bGUgaDIsIGJvZHkubmV3cyAuc2Vjb25kLXRpdGxlIGgyLFxuYm9keS5ldmVudHMgLm1haW4tdGl0bGUgaDIsXG5ib2R5LmV2ZW50cyAuc2Vjb25kLXRpdGxlIGgyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLm1haW4tdGl0bGUgaDIsIGJvZHkubmV3cyAuc2Vjb25kLXRpdGxlIGgyLFxuICBib2R5LmV2ZW50cyAubWFpbi10aXRsZSBoMixcbiAgYm9keS5ldmVudHMgLnNlY29uZC10aXRsZSBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5ib2R5Lm5ld3MgLm1haW4tdGl0bGUgaDMsIGJvZHkubmV3cyAuc2Vjb25kLXRpdGxlIGgzLFxuYm9keS5ldmVudHMgLm1haW4tdGl0bGUgaDMsXG5ib2R5LmV2ZW50cyAuc2Vjb25kLXRpdGxlIGgzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLm1haW4tdGl0bGUgaDMsIGJvZHkubmV3cyAuc2Vjb25kLXRpdGxlIGgzLFxuICBib2R5LmV2ZW50cyAubWFpbi10aXRsZSBoMyxcbiAgYm9keS5ldmVudHMgLnNlY29uZC10aXRsZSBoMyB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG59XG5ib2R5Lm5ld3MgLnNjaGVkdWxlLFxuYm9keS5ldmVudHMgLnNjaGVkdWxlIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLnNjaGVkdWxlLFxuICBib2R5LmV2ZW50cyAuc2NoZWR1bGUge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbmJvZHkubmV3cyAudGhhYWQtdGl0bGUsXG5ib2R5LmV2ZW50cyAudGhhYWQtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLnRoYWFkLXRpdGxlLFxuICBib2R5LmV2ZW50cyAudGhhYWQtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzdweDtcbiAgfVxufVxuYm9keS5uZXdzIC50aGFhZC10aXRsZTpmaXJzdC1jaGlsZCxcbmJvZHkuZXZlbnRzIC50aGFhZC10aXRsZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5ib2R5Lm5ld3MgLnRoYWFkLXRpdGxlIC5saW5rLFxuYm9keS5ldmVudHMgLnRoYWFkLXRpdGxlIC5saW5rIHtcbiAgY29sb3I6ICMwZDYxYWI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5ib2R5Lm5ld3MgLnRoYWFkLXRpdGxlIGg0LFxuYm9keS5ldmVudHMgLnRoYWFkLXRpdGxlIGg0IHtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIHtcbiAgYm9keS5uZXdzIC50aGFhZC10aXRsZSBoNCxcbiAgYm9keS5ldmVudHMgLnRoYWFkLXRpdGxlIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzN3B4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIGJvZHkubmV3cyAuZGlnLXRleHQtMSxcbiAgYm9keS5ldmVudHMgLmRpZy10ZXh0LTEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgYm9keS5uZXdzIC5kaWctdGV4dC0xLFxuICBib2R5LmV2ZW50cyAuZGlnLXRleHQtMSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgYm9keS5uZXdzIC5kaWctdGV4dC0xLFxuICBib2R5LmV2ZW50cyAuZGlnLXRleHQtMSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5MGVtKSB7XG4gIGJvZHkubmV3cyAuZGlnLXRleHQtMSxcbiAgYm9keS5ldmVudHMgLmRpZy10ZXh0LTEge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgYm9keS5uZXdzIC5kaWctdGV4dC0xLFxuICBib2R5LmV2ZW50cyAuZGlnLXRleHQtMSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgYm9keS5uZXdzIC5kaWctdGV4dC0yLFxuICBib2R5LmV2ZW50cyAuZGlnLXRleHQtMiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTIsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC0yIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTIsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC0yIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDkwZW0pIHtcbiAgYm9keS5uZXdzIC5kaWctdGV4dC0yLFxuICBib2R5LmV2ZW50cyAuZGlnLXRleHQtMiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTIsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC0yIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuYm9keS5uZXdzIC5kaWctdGV4dC0zLFxuYm9keS5ldmVudHMgLmRpZy10ZXh0LTMge1xuICBmb250LXdlaWdodDogOTAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTMsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC0zIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTMsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC0zIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgYm9keS5uZXdzIC5kaWctdGV4dC0zLFxuICBib2R5LmV2ZW50cyAuZGlnLXRleHQtMyB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogOTBlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTMsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC0zIHtcbiAgICBmb250LXNpemU6IDMzcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTMsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC0zIHtcbiAgICBmb250LXNpemU6IDM4cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgYm9keS5uZXdzIC5kaWctdGV4dC00LFxuICBib2R5LmV2ZW50cyAuZGlnLXRleHQtNCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTQsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC00IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTQsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC00IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDkwZW0pIHtcbiAgYm9keS5uZXdzIC5kaWctdGV4dC00LFxuICBib2R5LmV2ZW50cyAuZGlnLXRleHQtNCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLmRpZy10ZXh0LTQsXG4gIGJvZHkuZXZlbnRzIC5kaWctdGV4dC00IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuYm9keS5uZXdzIC5yci1tb3ZpZS13cmFwLFxuYm9keS5ldmVudHMgLnJyLW1vdmllLXdyYXAge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IDkvMTY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gIGJvZHkubmV3cyAucnItbW92aWUtd3JhcCxcbiAgYm9keS5ldmVudHMgLnJyLW1vdmllLXdyYXAge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICBib2R5Lm5ld3MgLnJyLW1vdmllLXdyYXAsXG4gIGJvZHkuZXZlbnRzIC5yci1tb3ZpZS13cmFwIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIGJvZHkubmV3cyAucnItbW92aWUtd3JhcCxcbiAgYm9keS5ldmVudHMgLnJyLW1vdmllLXdyYXAge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA5MGVtKSB7XG4gIGJvZHkubmV3cyAucnItbW92aWUtd3JhcCxcbiAgYm9keS5ldmVudHMgLnJyLW1vdmllLXdyYXAge1xuICAgIHdpZHRoOiAzNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLnJyLW1vdmllLXdyYXAsXG4gIGJvZHkuZXZlbnRzIC5yci1tb3ZpZS13cmFwIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG59XG5ib2R5Lm5ld3MgLnJyLW1vdmllLXdyYXAgaWZyYW1lLFxuYm9keS5ldmVudHMgLnJyLW1vdmllLXdyYXAgaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbmJvZHkubmV3cyAucnItdGV4dC0xLFxuYm9keS5ldmVudHMgLnJyLXRleHQtMSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgYm9keS5uZXdzIC5yci10ZXh0LTEsXG4gIGJvZHkuZXZlbnRzIC5yci10ZXh0LTEge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICBib2R5Lm5ld3MgLnJyLXRleHQtMSxcbiAgYm9keS5ldmVudHMgLnJyLXRleHQtMSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICBib2R5Lm5ld3MgLnJyLXRleHQtMSxcbiAgYm9keS5ldmVudHMgLnJyLXRleHQtMSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDkwZW0pIHtcbiAgYm9keS5uZXdzIC5yci10ZXh0LTEsXG4gIGJvZHkuZXZlbnRzIC5yci10ZXh0LTEge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICBib2R5Lm5ld3MgLnJyLXRleHQtMSxcbiAgYm9keS5ldmVudHMgLnJyLXRleHQtMSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICBib2R5Lm5ld3MgLnJyLXRleHQtMixcbiAgYm9keS5ldmVudHMgLnJyLXRleHQtMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIGJvZHkubmV3cyAucnItdGV4dC0yLFxuICBib2R5LmV2ZW50cyAucnItdGV4dC0yIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbiNyZWFkLWFyZWEge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjA2MjVlbSkge1xuICAjcmVhZC1hcmVhIHtcbiAgICBtYXJnaW4tdG9wOiA3MXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDcxcHg7XG4gIH1cbn0iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiBsb2NhbCgnT3BlbiBTYW5zIExpZ2h0JyksIGxvY2FsKCdPcGVuU2Fucy1MaWdodCcpLCB1cmwoJy4uL2ZvbnQvT3Blbl9TYW5zL3dvZmYvT3BlblNhbnMtTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogbG9jYWwoJ09wZW4gU2FucyBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ09wZW5TYW5zLUxpZ2h0SXRhbGljJyksIHVybCgnLi4vZm9udC9PcGVuX1NhbnMvd29mZi9PcGVuU2Fucy1MaWdodEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IGxvY2FsKCdPcGVuIFNhbnMnKSwgbG9jYWwoJ09wZW5TYW5zLVJlZ3VsYXInKSwgdXJsKCcuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogbG9jYWwoJ09wZW4gU2FucyBJdGFsaWMnKSwgbG9jYWwoJ09wZW5TYW5zLUl0YWxpYycpLCB1cmwoJy4uL2ZvbnQvT3Blbl9TYW5zL3dvZmYvT3BlblNhbnMtSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHNyYzogbG9jYWwoJ09wZW4gU2FucyBTZW1pQm9sZCcpLCBsb2NhbCgnT3BlblNhbnMtU2VtaUJvbGQnKSwgdXJsKCcuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLVNlbWlCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBzcmM6IGxvY2FsKCdPcGVuIFNhbnMgU2VtaUJvbGQgSXRhbGljJyksIGxvY2FsKCdPcGVuU2Fucy1TZW1pQm9sZEl0YWxpYycpLCB1cmwoJy4uL2ZvbnQvT3Blbl9TYW5zL3dvZmYvT3BlblNhbnMtU2VtaUJvbGRJdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiBsb2NhbCgnT3BlbiBTYW5zIEJvbGQnKSwgbG9jYWwoJ09wZW5TYW5zLUJvbGQnKSwgdXJsKCcuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogbG9jYWwoJ09wZW4gU2FucyBCb2xkIEl0YWxpYycpLCBsb2NhbCgnT3BlblNhbnMtQm9sZEl0YWxpYycpLCB1cmwoJy4uL2ZvbnQvT3Blbl9TYW5zL3dvZmYvT3BlblNhbnMtQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICBzcmM6IGxvY2FsKCdPcGVuIFNhbnMgRXh0cmFCb2xkJyksIGxvY2FsKCdPcGVuU2Fucy1FeHRyYUJvbGQnKSwgdXJsKCcuLi9mb250L09wZW5fU2Fucy93b2ZmL09wZW5TYW5zLUV4dHJhQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgc3JjOiBsb2NhbCgnT3BlbiBTYW5zIEV4dHJhQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ09wZW5TYW5zLUV4dHJhQm9sZEl0YWxpYycpLCB1cmwoJy4uL2ZvbnQvT3Blbl9TYW5zL3dvZmYvT3BlblNhbnMtRXh0cmFCb2xkSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjMDAwMDAwLFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICMyMjIyMjI7XG4kYmxhY2s6ICMwMDAwMDA7XG4kd2hpdGU6ICNmZmZmZmY7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ09wZW4gU2FucycsIFwiWXUgR290aGljIE1lZGl1bVwiLCBcIua4uOOCtOOCt+ODg+OCryBNZWRpdW1cIiwgWXVHb3RoaWMsIFwi5ri444K044K344OD44Kv5L2TXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIuODoeOCpOODquOCqlwiLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDc2OXB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MXB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDMycHgsXG4gIG1lZGl1bTogMzZweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAxNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAxNCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxMiksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxMiksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiA4KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxNiksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxMiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMXJlbSAycmVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6IDNweDtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMnB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAgMTRweCxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IG5vbmU7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6IG5vbmUgO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAzMnB4LFxuICBtZWRpdW06IDM2cHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG4gICAgXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXV0aWxpdGllc1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB1dGlsaXRpZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IFZhbHVlIGZvciBgdGV4dC1vdmVyZmxvd2AgdmFyaWFibGVcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWRlZmF1bHQ7XG5cbi8vLyBJbWFnZSBSZXBsYWNlbWVudCB1dGlsaXR5LiBgdGV4dC1oaWRlYFxuQG1peGluIHRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLy8vIFRydW5jYXRpbmcgdGhlIHRleHQsIGVsaXBzaXMgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFskcHJvdG90eXBlLXRleHQtb3ZlcmZsb3ddIFRleHQgVHJ1bmNhdGVcbkBtaXhpbiB0ZXh0LXRydW5jYXRlKFxuICAkb3ZlcmZsb3c6ICRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd1xuKSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHRleHQtb3ZlcmZsb3c6ICRvdmVyZmxvdzsgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIE5vIHdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC1ub3dyYXBgXG5AbWl4aW4gdGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBXcmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtd3JhcGBcbkBtaXhpbiB0ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzIHtcbiAgLnRleHQtaGlkZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICB9XG5cbiAgLnRleHQtdHJ1bmNhdGUge1xuICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gIH1cblxuICAudGV4dC1ub3dyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICB9XG5cbiAgLnRleHQtd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtaGlkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtdHJ1bmNhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1ub3dyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LXRyYW5zZm9ybWF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IFRyYW5zZm9ybWF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0cmFuc2Zvcm1hdGlvbiBbXSBUZXh0IFRyYW5zZm9ybWF0aW9uXG5AbWl4aW4gdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKSB7XG4gIHRleHQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAudGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICBcdEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcbiAgXHRcdFx0ICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgXHRcdFx0ICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgZGVjb3JhdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgRGVjb3JhdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxuQG1peGluIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbikge1xuICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgLnRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWZvbnQtc3R5bGluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZm9udCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIExldHRlciBzcGFjaW5nIGZvciBgLmZvbnQtd2lkZWBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LW5vcm1hbGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LWJvbGRgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3aWRlIGxldHRlciBzcGFjaW5nIVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV0dGVyLXNwYWNpbmcgWyRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ10gV2lkZSBsZXR0ZXIgc3BhY2luZyBmb3IgdGhlIGZvbnRcbkBtaXhpbiBmb250LXdpZGUoXG4gICRsZXR0ZXItc3BhY2luZzogJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXG4pIHtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IE5vcm1hbCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ub3JtYWxdIFdlaWdodCBvZiB0aGUgZm9udCAobm9ybWFsKVxuQG1peGluIGZvbnQtbm9ybWFsKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtbm9ybWFsXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFdlaWdodCBCb2xkLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ib2xkXSBXZWlnaHQgb2YgdGhlIGZvbnQgKGJvbGQpXG5AbWl4aW4gZm9udC1ib2xkKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtYm9sZFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBTdHlsZSBJdGFsaWNcbkBtaXhpbiBmb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZm9udC1zdHlsaW5nIHtcbiAgLmZvbnQtd2lkZXtcbiAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gIH1cblxuICAuZm9udC1ub3JtYWwge1xuICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICB9XG5cbiAgLmZvbnQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICB9XG5cbiAgLmZvbnQtaXRhbGljIHtcbiAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC13aWRle1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LW5vcm1hbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ib2xkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1pdGFsaWMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBsaXN0IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc3R5bGUtdHlwZS11bm9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLW9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbikgIWRlZmF1bHQ7XG5cblxuLy8vIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtdW5vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCkge1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLXVub3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG4vLy8gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWRgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLW9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtb3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gbGlzdC11bm9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XG4gICAgdWwubGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgdWwuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlzdC1vcmRlcmVkIHtcbiAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgb2wubGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBvbC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGUge1xuICBAaW5jbHVkZSBsaXN0LXVub3JkZXJlZDtcbiAgQGluY2x1ZGUgbGlzdC1vcmRlcmVkO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItcmFkaXVzYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8vIFJvdW5kZWQgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBBZGRzIHJhZGl1cyBjb3JuZXJzIChhbGwgY29ybmVycykgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxuQG1peGluIGJvcmRlci1yYWRpdXMoXG4gICRyYWRpdXM6ICRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c1xuKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8vLyBSb3VuZGVkIHNxdWFyZSB1dGlsaXR5IG9yIHJlY3RhbmdsZSB1dGlsaXR5IChhbGwgY29ybmVycyk6IFJvdW5kcyBhbGwgY29ybmVycyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQgdG8gbWFrZSBhIHBpbGwgc2hhcGUuXG5AbWl4aW4gYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xuICAucm91bmRlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gIH1cblxuICAucmFkaXVzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1yb3VuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tcmFkaXVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlcmVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci13aWR0aGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLWNvbG9yYCBkZWZhdWx0ZWQgdG8gYG1lZGl1bS1ncmF5YFxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyZWQgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWyRwcm90b3R5cGUtYm9yZGVyLXR5cGVdIFR5cGUgb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJHByb3RvdHlwZS1ib3JkZXItY29sb3JdIENvbG9yIG9mIHRoZSBib3JkZXJcbkBtaXhpbiBib3JkZXJlZChcbiAgJHdpZHRoOiAkcHJvdG90eXBlLWJvcmRlci13aWR0aCxcbiAgJHR5cGU6ICRwcm90b3R5cGUtYm9yZGVyLXR5cGUsXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3Jcbikge1xuICBib3JkZXI6ICR3aWR0aCAkdHlwZSAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZCB7XG4gIC5ib3JkZXJlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaGFkb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNoYWRvdyB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm94LXNoYWRvd2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpICFkZWZhdWx0O1xuXG4vLy8gU2hhZG93IFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3ggc2hhZG93IHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNoYWRvdyBbJHByb3RvdHlwZS1ib3gtc2hhZG93XSBCb3ggU2hhZG93IG9mIGEgY29tcG9uZW50XG5AbWl4aW4gc2hhZG93KFxuICAkc2hhZG93OiAkcHJvdG90eXBlLWJveC1zaGFkb3dcbikge1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93IHtcbiAgLnNoYWRvdyB7XG4gICAgQGluY2x1ZGUgc2hhZG93O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNoYWRvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYXJyb3dcbi8vLy9cblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGFycm93YCBkaXJlY3Rpb25cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiB0aGUgQXJyb3csIGAwLjQzNzVyZW1gIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcblxuLy8vIENvbG9yIG9mIHRoZSBBcnJvdywgYCRibGFja2AgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYXJyb3cge1xuICBAZWFjaCAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbiBpbiAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnMge1xuICAgIC5hcnJvdy0jeyRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctc2l6ZSwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctY29sb3IsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvblxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zZXBhcmF0b3Jcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVG9wIE1hcmdpbiBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGl0bGUgc2VwYXJhdG9yIFV0aWxpdHksIG1vc3RseSB1c2VkIHRvIHN0eWxlIHRoZSBtYWluIGhlYWRpbmcgb2YgYSBzZWN0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFskcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHRdIC0gV2lkdGhcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aF0gLSBIZWlnaHRcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3BdIC0gTWFyZ2luIFRvcFxuQG1peGluIHNlcGFyYXRvciAoXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXG4gICRoZWlnaHQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodCxcbiAgJHdpZHRoOiAkcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXG4gICR0b3A6ICRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3Bcbikge1xuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiAkdG9wIGF1dG8gMDtcblxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3Ige1xuXHQuc2VwYXJhdG9yLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG5cdH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgfVxuXG4gIC5zZXBhcmF0b3ItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gIH1cblxuXHRAaWYgKCRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1vdmVyZmxvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igb3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pICFkZWZhdWx0O1xuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcbkBtaXhpbiBvdmVyZmxvdygkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiBob3Jpem9udGFsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteCgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteDogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIHZlcnRpY2FsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXkoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXk6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3cge1xuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgLm92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZGlzcGxheVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZGlzcGxheSBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGlzcGxheSBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLWRpc3BsYXlgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtdIERpc3BsYXkgY2xhc3Nlc1xuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcbiAgZGlzcGxheTogJGRpc3BsYXkgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXkge1xuICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LWRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItYm94XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgYm94LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYm94IHV0aWxpdHlcbkBtaXhpbiBib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveCB7XG4gIC5ib3JkZXItYm94IHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLW5vbmVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBub25lLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIG5vbmUgdXRpbGl0eVxuQG1peGluIGJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZSB7XG4gIC5ib3JkZXItbm9uZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItbm9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zcGFjaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBudW1iZXIgb2Ygc3BhY2VycyBjb3VudCAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtbWFyZ2luYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIE1hcmdpbiBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIE1hcmdpbiBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIE1hcmdpbiBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTWFyZ2luIExlZnRcbkBtaXhpbiBtYXJnaW4oXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkdG9wICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBhZGRpbmdgIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gUGFkZGluZyBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFBhZGRpbmcgUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBQYWRkaW5nIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBQYWRkaW5nIExlZnRcbkBtaXhpbiBwYWRkaW5nKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0b3AgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIHBhZGRpbmctbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIC8vIEFsbCBTaWRlc1xuICAgIC5tYXJnaW4tI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKCRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIpO1xuICAgIH1cblxuICAgIC8vIFRvcCBTaWRlXG4gICAgLm1hcmdpbi10b3AtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctdG9wLSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAvLyBSaWdodCBTaWRlXG4gICAgLm1hcmdpbi1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1yaWdodC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgbnVsbCk7XG4gICAgfVxuXG4gICAgLy8gQm90dG9tIFNpZGVcbiAgICAubWFyZ2luLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCAkc3BhY2VyLCBudWxsKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1ib3R0b20tI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgIH1cblxuICAgIC8vIExlZnQgU2lkZVxuICAgIC5tYXJnaW4tbGVmdC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAucGFkZGluZy1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsLCBudWxsLCBudWxsLCAkc3BhY2VyKTtcbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIEF4ZXNcbiAgICAubWFyZ2luLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLnBhZGRpbmctaG9yaXpvbnRhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgQXhlc1xuICAgIC5tYXJnaW4tdmVydGljYWwtI3skc3BhY2VyfSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oJHNwYWNlciwgbnVsbCwgJHNwYWNlciwgbnVsbClcbiAgICB9XG5cbiAgICAucGFkZGluZy12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgbnVsbCwgJHNwYWNlciwgbnVsbClcbiAgICB9XG5cbiAgICBAaWYgKCRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLXRvcC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKCRzcGFjZXIsIG51bGwsIG51bGwsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy10b3AtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoJHNwYWNlciwgbnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJpZ2h0IFNpZGVcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tcmlnaHQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsLCAkc3BhY2VyLCBudWxsLCBudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHNpemV9LXBhZGRpbmctcmlnaHQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEJvdHRvbSBTaWRlXG4gICAgICAgICAgICAuI3skc2l6ZX0tbWFyZ2luLWJvdHRvbS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwsIG51bGwsICRzcGFjZXIsIG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy1ib3R0b20tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgJHNwYWNlciwgbnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIExlZnQgU2lkZVxuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1sZWZ0LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgbnVsbCwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLWxlZnQtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgbnVsbCwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEhvcml6b250YWwgQXhlc1xuICAgICAgICAgICAgLiN7JHNpemV9LW1hcmdpbi1ob3Jpem9udGFsLSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRzaXplfS1wYWRkaW5nLWhvcml6b250YWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCwgJHNwYWNlciwgbnVsbCwgJHNwYWNlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFZlcnRpY2FsIEF4ZXNcbiAgICAgICAgICAgIC4jeyRzaXplfS1tYXJnaW4tdmVydGljYWwtI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbigkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skc2l6ZX0tcGFkZGluZy12ZXJ0aWNhbC0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygkc3BhY2VyLCBudWxsLCAkc3BhY2VyLCBudWxsKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsImh0bWwsXG5ib2R5IHtcbiAgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9uZTtcbn1cblxuKiB7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJwYWx0XCI7XG4gIGZvbnQta2VybmluZzogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xufVxuXG5oMSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5wIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS42NjY2NztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgfVxufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjY2Njc7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gIH1cbn1cblxuYSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLW91dDtcbiAgY29sb3I6ICRibGFjaztcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG59XG5cbmJ1dHRvbixcbi5idXR0b24ge1xuICBmb250LXdlaWdodDogNzAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1vdXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG59XG5cbi5tYXJnaW4tYm90dG9tLTcwIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDtcbn1cblxuLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTB2dyAtICgje21hcC1nZXQoJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsIHNtYWxsKX0gLyAyKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTB2dyAtICgje21hcC1nZXQoJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsIHNtYWxsKX0gLyAyKSk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxMHZ3IC0gKCN7bWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgbWVkaXVtKX0gLyAyKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTB2dyAtICgje21hcC1nZXQoJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsIG1lZGl1bSl9IC8gMikpO1xuICB9XG59XG5cbi5pZnJhbWUtd3JhcCB7XG4gIHBhZGRpbmctdG9wOiA1MHZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWUzZGY7XG5cbiAgJi55b3V0dWJlIHtcbiAgICBwYWRkaW5nLXRvcDogKDkgLzE2KSAqIDEwMCU7XG4gIH1cblxuICAmLnV0dHpzIHtcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nLXRvcDogMjV2dztcbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG52aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9hZGluZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2UtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxuXG4gIGltZyxcbiAgdmlkZW8ge1xuXG4gICAgK2ltZyxcbiAgICArdmlkZW8ge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keSB7XG4gICNjb250ZW50LXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dDtcbiAgfVxuXG4gIEBhdC1yb290IHtcbiAgICAjbG9hZGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDEwMDAwO1xuXG4gICAgICAmLmxvYWQtYW5pbSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIG1hcmdpbjogLTMwcHggMCAwIC0zMHB4O1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgIGFuaW1hdGlvbjogbG9hZGVyQW5pbSAwLjdzIGxpbmVhciBpbmZpbml0ZSBhbHRlcm5hdGUgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnJlbmRlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAjY29udGVudC13cmFwIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgI2xvYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxvYWRlckFuaW0ge1xuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDEpO1xuICB9XG59XG5cblxuLm9wZW4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGltZyB7XG4gICAgdHJhbnNpdGlvbjogLjNzO1xuICAgIHRyYW5zZm9ybTpzY2FsZSgxLDEpO1xuICAgIC8vIG9wYWNpdHk6IDE7XG4gIH1cbiAgaW1nOmhvdmVyIHtcbiAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgdHJhbnNmb3JtOnNjYWxlKDEuMDUsMS4wNSk7XG4gICAgLy8gb3BhY2l0eTogMC41O1xuICB9XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMzAge1xuICAjcG9wLXVwXyN7JGl9IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAjcG9wLXVwXyN7JGl9OmNoZWNrZWQrLm92ZXJsYXkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIG1hcmdpbjogMCAwO1xuICB9XG59XG5cbi53aW5kb3cge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA5MHZ3O1xuICBtYXgtd2lkdGg6IDM2MHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLmNsb3NlIHtcbiAgdG9wOiAwO1xuICByaWdodDogMjBweDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgZm9udC1zaXplOiAyMHB0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufSIsIi5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLnNtYWxsLWNvbHVtbi0yICYge1xuICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmLWltYWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuXG4gICAgICBhOmhvdmVyICYge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1yZWNvcmQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG5cbiAgICAgIGE6aG92ZXIgJiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDMwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAoMjggLyAxOCk7XG4gICAgfVxuXG4gICAgLnNtYWxsLWNvbHVtbi0yICYge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICsgcCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogKDQ0IC8gMzIpO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogKDQ0IC8gMzIpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG5cbiAgICAgICsgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIH1cblxuICAgICAgLnNtYWxsLWNvbHVtbi0yICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoMjggLyAyMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICArIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogKDI4IC8gMjApO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnZ3MTAge1xuICAvL21hcmdpbi1yaWdodDogNXZ3O1xuICAvL21hcmdpbi1sZWZ0OiA1dnc7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYuNnZ3O1xuICAgIG1hcmdpbi1sZWZ0OiA2LjZ2dztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwdnc7XG4gICAgbWFyZ2luLWxlZnQ6IDEwdnc7XG4gIH1cbn1cblxuLnZ3MTUge1xuICAvL21hcmdpbi1yaWdodDogNXZ3O1xuICAvL21hcmdpbi1sZWZ0OiA1dnc7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwdnc7XG4gICAgbWFyZ2luLWxlZnQ6IDEwdnc7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXZ3O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXZ3O1xuICB9XG59XG4iLCJmb290ZXIge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICYuc25zLWJ0biB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZvb3Rlci1uYXZpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMnB4O1xuICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTIwJTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAmLmV4dGVybmFsLWljb24ge1xuICAgICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICAmLmNvcHktcmlnaHQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgIH1cbiAgfVxufSIsIiRzY3JvbGwtZGVsYXk6IDAuMnM7XG5cbmhlYWRlciB7XG4gICYuZnVsbC1rdi1mYWxzZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogKDI2NSAvNjQwKSAqIDEyMHZ3O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAoMjY1IC82NDApICogMTIwdmg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICgyNjUgLyAxNDQwKSAqIDgwdnc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAoMTUyIC8gMTQ0MCkgKiAxOTB2aDtcbiAgICB9XG5cbiAgICAmLmNvbnRlbnQtb3ZlcmxhcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoMTUyIC8gMTQ0MCkgKiAxMjB2dztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKDE1MiAvIDE0NDApICogMTIwdnc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2hlYWRlci1saW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwdnc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKCgyMS4yNSAqIDAuNHZ3KSArIDZ2dyk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgZWFzZS1vdXQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGhlaWdodDogY2FsYygoMjEuMjUgKiAwLjR2dykgKyA2dmgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoKDcuNSAqIDAuNHZ3KSArIDN2dyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgaGVpZ2h0OiBjYWxjKCg3LjUgKiAwLjR2dykgKyAydncpO1xuICAgIH1cblxuICAgIC5zY3JvbGxlZCAmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjgpO1xuICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkc2Nyb2xsLWRlbGF5O1xuICAgIH1cbiAgfVxuXG4gICNwYW5hc29uaWMtbG9nbyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMS44dnc7XG4gICAgbGVmdDogMTB2dztcbiAgICB3aWR0aDogKDEzNiAvIDY0MCkgKiAxNDB2dztcbiAgICBoZWlnaHQ6IDZ2dztcbiAgICB6LWluZGV4OiAyMjIwO1xuXG4gICAgLnNjcm9sbGVkICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMDBweCk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkc2Nyb2xsLWRlbGF5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIHdpZHRoOiAoMTM2IC8gNjQwKSAqIDE0MHZ3O1xuICAgICAgaGVpZ2h0OiA2dnc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIHdpZHRoOiAoMTM2IC8gNjQwKSAqIDE0MHZoO1xuICAgICAgaGVpZ2h0OiA2dnc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAoMTA4IC8gMTQ0MCkgKiAxNDB2dztcbiAgICAgIGhlaWdodDogNnZ3O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgd2lkdGg6ICgxMDggLyAxNDQwKSAqIDI4MHZ3O1xuICAgICAgaGVpZ2h0OiAxMHZ3O1xuICAgIH1cblxuICAgIC5lbG0td2hpdGUgJiB7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLnNjcm9sbGVkLmVsbS13aGl0ZSAmIHtcbiAgICAgIGZpbGw6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5lbG0tYmxhY2sgJiB7XG4gICAgICBmaWxsOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgI2xvZ28td3JhcCB7XG4gICAgLy93aWR0aDogKDEzNiAvIDY0MCkgKiAxMDB2dztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICB0b3A6ICg0MCAvIDY0MCkgKiAxdnc7XG4gICAgcmlnaHQ6ICg0MCAvIDY0MCkgKiAxNTB2dztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLW91dCwgdG9wIDAuNHMgZWFzZS1vdXQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICAvL3dpZHRoOiAoMTM2IC8gNjQwKSAqIDEwMHZ3O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgdG9wOiAoNDAgLyA2NDApICogMXZoO1xuICAgICAgICByaWdodDogKDQwIC8gNjQwKSAqIDEwMHZoO1xuICAgICAgfVxuICAgICAgLy93aWR0aDogKDEzNiAvIDY0MCkgKiAxMDB2aDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgdG9wOiBjYWxjKCgoNjUgLyAxNDQwKSAqIDF2dykgLSAwLjh2dyk7XG4gICAgICByaWdodDogKDEyNSAvIDE0NDApICogMTAwdnc7XG4gICAgICAvL3dpZHRoOiAoMTA4IC8gMTQ0MCkgKiAxMDB2dztcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBzdmcge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbmF2LXdyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDd2dztcbiAgICBsZWZ0OiA5LjR2dztcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZS1vdXQsIHRvcCAwLjRzIGVhc2Utb3V0O1xuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuXG4gICAgLnNjcm9sbGVkICYge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkc2Nyb2xsLWRlbGF5O1xuICAgICAgLW1zLXRyYW5zaXRpb24tZGVsYXk6ICRzY3JvbGwtZGVsYXk7XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3Qge1xuICAgICNnbG9iYWwtbmF2LFxuICAgICNsYW5nLW5hdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDEpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAtNDAwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZS1vdXQ7XG5cbiAgICAgICAgLmVsbS13aGl0ZSAmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Nyb2xsZWQuZWxtLXdoaXRlICYge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkc2Nyb2xsLWRlbGF5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzIGVhc2Utb3V0O1xuXG4gICAgICAgICAgLmVsbS13aGl0ZSAmIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDF2dztcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRibGFjaywgMSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMjRlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAydnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmVsbS13aGl0ZSAmIHtcbiAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNjcm9sbGVkLmVsbS13aGl0ZSAmIHtcbiAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJGJsYWNrLCAxKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHNjcm9sbC1kZWxheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmxhbmd1YWdl4oCVc3dpdGNoZXIge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2xhbmctbmF2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiA5cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjZ2xvYmFsLW5hdi1zcCB7XG4gICAgICAjbmF2aS1saXN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDExMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG5cbiAgICAgICAgJi5tZW51LWhpZGUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXZoKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBmb250LXNpemU6ICgzNiAvIDY0MCkgKiAxMDB2dztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLW91dCAwLjNzLCBvcGFjaXR5IDAuNXMgZWFzZS1vdXQgMC40cztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAoMzYgLyA2NDApICogMTAwdnc7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogKDM2IC8gNjQwKSAqIDEwMHZoO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jbWVudS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHZ3O1xuICBsZWZ0OiAxMHZ3O1xuICB6LWluZGV4OiAxMjAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLW91dCwgdG9wIDAuNHMgZWFzZS1vdXQ7XG5cbiAgLnNjcm9sbGVkICYge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODAlKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAkc2Nyb2xsLWRlbGF5O1xuICB9XG5cbiAgYSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogOHZ3O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogOHZ3O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgI21lbnUtaWNvbiB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI21lbnUtaWNvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDRweCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC41cyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMXMgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIC5lbG0td2hpdGUgJiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLnNjcm9sbGVkLmVsbS13aGl0ZSAmIHtcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRzY3JvbGwtZGVsYXk7XG4gICAgfVxuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBib3R0b206IC01cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4wNXMgZWFzZS1vdXQ7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjVzIGVhc2Utb3V0LCB3aWR0aCAwLjVzIGVhc2Utb3V0LCBib3R0b20gMC41cyBlYXNlLW91dDtcbiAgfVxuXG4gICYuY2xvc2Uge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC00cHgsIC0xcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKDApICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5lbG0td2hpdGUgJiB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB9XG5cbiAgLnNjcm9sbGVkLmVsbS13aGl0ZSAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogJHNjcm9sbC1kZWxheTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuc3ZnI2xvZ28ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBtYXJnaW4tdG9wOiA0LjJ2dztcbiAgd2lkdGg6ICgxMzYgLyA2NDApICogMzUwdnc7XG4gIGhlaWdodDogKDI0My45IC8gMjA3LjIpICogKDEzNiAvIDY0MCkgKiAyMHZ3O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICB3aWR0aDogKDEzNiAvIDY0MCkgKiAzNTB2dztcbiAgICBoZWlnaHQ6ICgyNDMuOSAvIDIwNy4yKSAqICgxMzYgLyA2NDApICogMjB2dztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgd2lkdGg6ICgxMzYgLyA2NDApICogMzUwdmg7XG4gICAgaGVpZ2h0OiAoMjQzLjkgLyAyMDcuMikgKiAoMTM2IC8gNjQwKSAqIDIwdmg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAoMTA4IC8gMTQ0MCkgKiAyODh2dztcbiAgICBoZWlnaHQ6ICg4Mi42IC8gMjA3LjIpICogKDEwOCAvIDE0NDApICogNzB2dztcbiAgfVxuXG4gIC5zY3JvbGxlZCAmIHtcbiAgICBtYXJnaW4tdG9wOiAydnc7XG4gICAgaGVpZ2h0OiAoMjQzLjkgLyAyMDcuMikgKiAoMTM2IC8gNjQwKSAqIDIwdmg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAydnc7XG4gICAgICBoZWlnaHQ6ICgyNDMuOSAvIDIwNy4yKSAqICgxMzYgLyA2NDApICogMjB2aDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgbWFyZ2luLXRvcDogMnZ3O1xuICAgICAgaGVpZ2h0OiAoMjQzLjkgLyAyMDcuMikgKiAoMTM2IC8gNjQwKSAqIDIwdmg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDJ2dztcbiAgICAgIGhlaWdodDogKDgyLjYgLyAyMDcuMikgKiAoMTA4IC8gMTQ0MCkgKiA3MHZ3O1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHNjcm9sbC1kZWxheTtcbiAgICB9XG4gIH1cblxuICAuZWxtLXdoaXRlICYge1xuICAgIGZpbGw6ICR3aGl0ZTtcbiAgfVxuXG4gIC5zY3JvbGxlZC5lbG0td2hpdGUgJiB7XG4gICAgZmlsbDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZWxtLWJsYWNrICYge1xuICAgIGZpbGw6ICRibGFjaztcbiAgfVxufVxuXG5zdmcjbG9nby1zcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHdpZHRoOiAoMTM2IC8gNjQwKSAqIDM0MHZ3O1xuICBoZWlnaHQ6ICgyNDMuOSAvIDIwNy4yKSAqICgxMzYgLyA2NDApICogMjAwdnc7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB3aWR0aDogKDEwOCAvIDE0NDApICogMzQwdnc7XG4gICAgaGVpZ2h0OiAoMjQzLjkgLyAyMDcuMikgKiAoMTA4IC8gMTQ0MCkgKiAyMDB2dztcbiAgfVxuXG4gIC5zY3JvbGxlZCAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIGhlaWdodDogKDI0My45IC8gMjA3LjIpICogKDEwOCAvIDE0NDApICogMTAwdnc7XG4gICAgfVxuICB9XG5cbiAgLmVsbS13aGl0ZSAmIHtcbiAgICBmaWxsOiAkd2hpdGU7XG4gIH1cblxuICAuc2Nyb2xsZWQuZWxtLXdoaXRlICYge1xuICAgIGZpbGw6ICRibGFjayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmVsbS1ibGFjayAmIHtcbiAgICBmaWxsOiAkYmxhY2s7XG4gIH1cbn1cbiIsIiNrdi1hcmVhIHtcbiAgaGVpZ2h0OiAoNzYwIC8gMTE0MCkgKiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgaGVpZ2h0OiAoNzIwIC8gOTAwKSAqIDEwMHZoO1xuICB9XG5cbiAgaW1nOm5vdCgubm90LW1haW4pLFxuICB2aWRlbyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYudmVydGljYWwtZml0IHtcbiAgICBpbWc6bm90KC5ub3QtbWFpbiksXG4gICAgdmlkZW8ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5ob3Jpem9udGFsLWZpdCB7XG4gICAgaW1nOm5vdCgubm90LW1haW4pLFxuICAgIHZpZGVvIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYuZnVsbC1oZWlnaHQge1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cblxuICAuZmxvYXRpbmcge1xuICAgICYtLWNlbnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAja3YtZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgcCB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIC8vICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICAvLyAgICBmb250LXNpemU6ICgyOCAvIDY0MCkgKiAxMDB2dztcbiAgICAgIC8vICB9XG4gICAgICAvL1xuICAgICAgLy8gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICAvLyAgICBmb250LXNpemU6ICgyOCAvIDY0MCkgKiAxMDB2aDtcbiAgICAgIC8vICB9XG4gICAgICAvL31cblxuICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgICBmb250LXNpemU6ICgxOCAvIDE0NDApICogMTAwdmg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogKDE4IC8gMTQ0MCkgKiAxMDB2dztcbiAgICAgIH1cblxuICAgICAgJi5mb250LW1pZGRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogKDM2IC8gMTQ0MCkgKiAxMDB2aDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAoMzYgLyAxNDQwKSAqIDEwMHZ3O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZm9udC1sYXJnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgICAgICBmb250LXNpemU6ICgzMiAvIDE0NDApICogMTAwdmg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogKDMyIC8gMTQ0MCkgKiAxMDB2dztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvL31cbiAgICB9XG4gIH1cblxuICAuaW1nLXBjIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIC5pbWctc3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaW1nLXBjIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZlcnRpY2FsX2xvZ297XG4gICAgaGVpZ2h0OiA0MHZoICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmhvcml6b250YWxfbG9nb3tcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB3aWR0aDogNjB2dyAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG4ja3YtZnVsbC1zbWFsbC1vbmx5IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW46IDAgMjB2dztcbiAgfVxufVxuIiwiLnBhZ2UtbmF2aSB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBlYXNlLW91dCAwLjVzO1xuXG4gIC5yZW5kZXIgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYubmV4dCB7XG4gICAgLy90cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIGxlZnQ6IGNhbGMoNXZ3IC0gNHB4KTtcbiAgfVxuXG4gICYucHJldiB7XG4gICAgcmlnaHQ6IGNhbGMoNXZ3IC0gNHB4KTtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG5cbiAgICAuZWxtLXdoaXRlICYge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuc2Nyb2xsZWQuZWxtLXdoaXRlICYge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCwgY29sb3IgMC41cyBlYXNlLW91dCAkc2Nyb2xsLWRlbGF5O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIFZhcmlhYmxlc1xuJGZvbnQtc2l6ZS1iYXNlLXNwOiAxMnB4O1xuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkLXNwOiAxLjY2NjY3O1xuJGxpbmVzLXRvLXNob3ctc3A6IDc7XG5cbiRmb250LXNpemUtYmFzZS1wYzogMTRweDtcbiRsaW5lLWhlaWdodC1jb21wdXRlZC1wYzogMjtcbiRsaW5lcy10by1zaG93LXBjOiA3O1xuXG4vL2RpdlthcmlhLWV4cGFuZGVkXSB7XG4vLyAgKyBwIHtcbi8vICAgIGRpc3BsYXk6IG5vbmU7XG4vLyAgfVxuLy99XG5cbi5yZWFkIHtcblxuICBwIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICB9XG4gICAgLy8gJjpsYXN0LW9mLXR5cGUge1xuICAgIC8vICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAvLyB9XG4gIH1cblxuICAvLy5lbGxpcHNpcy1vbiB7XG4gIC8vICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyAgaGVpZ2h0OiAkZm9udC1zaXplLWJhc2Utc3AgKiAkbGluZS1oZWlnaHQtY29tcHV0ZWQtc3AgKiAkbGluZXMtdG8tc2hvdy1zcDtcbiAgLy9cbiAgLy8gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gIC8vICAgIGhlaWdodDogJGZvbnQtc2l6ZS1iYXNlLXBjICogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkLXBjICogJGxpbmVzLXRvLXNob3ctcGM7XG4gIC8vICB9XG4gIC8vXG4gIC8vICBwIHtcbiAgLy8gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZS1zcDtcbiAgLy8gICAgaGVpZ2h0OiAkZm9udC1zaXplLWJhc2Utc3AgKiAkbGluZS1oZWlnaHQtY29tcHV0ZWQtc3AgKiAkbGluZXMtdG8tc2hvdy1zcDtcbiAgLy8gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZC1zcDtcbiAgLy9cbiAgLy8gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgLy8gICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZS1wYztcbiAgLy8gICAgICBoZWlnaHQ6ICRmb250LXNpemUtYmFzZS1wYyAqICRsaW5lLWhlaWdodC1jb21wdXRlZC1wYyAqICRsaW5lcy10by1zaG93LXBjO1xuICAvLyAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQtcGM7XG4gIC8vICAgIH1cbiAgLy9cbiAgLy8gICAgJjpiZWZvcmUsXG4gIC8vICAgICY6YWZ0ZXIge1xuICAvLyAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgLy8gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICAgIH1cbiAgLy9cbiAgLy8gICAgJjpiZWZvcmUge1xuICAvLyAgICAgIGNvbnRlbnQ6IFwiLi4uXCI7XG4gIC8vICAgICAgcmlnaHQ6IDA7XG4gIC8vICAgICAgdG9wOiAkZm9udC1zaXplLWJhc2Utc3AgKiAkbGluZS1oZWlnaHQtY29tcHV0ZWQtc3AgKiAoJGxpbmVzLXRvLXNob3ctc3AgLSAxKTtcbiAgLy9cbiAgLy8gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAvLyAgICAgICAgdG9wOiAkZm9udC1zaXplLWJhc2UtcGMgKiAkbGluZS1oZWlnaHQtY29tcHV0ZWQtcGMgKiAoJGxpbmVzLXRvLXNob3ctcGMgLSAxKTtcbiAgLy8gICAgICB9XG4gIC8vICAgIH1cbiAgLy9cbiAgLy8gICAgJjphZnRlciB7XG4gIC8vICAgICAgY29udGVudDogXCJcIjtcbiAgLy8gICAgICBoZWlnaHQ6IDEwMCU7XG4gIC8vICAgICAgd2lkdGg6IDEwMCU7XG4gIC8vICAgIH1cbiAgLy8gIH1cbiAgLy99XG59XG5cbmEge1xuICAmLnJlYWQtbW9yZSB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufSIsIi5tYWluLXRpdGxlIHtcbiAgLy9AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgLy8gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgLy8gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAvL31cblxuICBoMSxcbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG5cbiAgICArIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgLnJlZGRvdCB7XG4gICAgd2lkdGg6ICgxNzQgLyA2NDApICogMTAwdnc7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTApIDAgcmVtLWNhbGMoMTUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogMTE2cHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDIwKSAwIHJlbS1jYWxjKDM1KTtcbiAgICB9XG4gIH1cblxuICAuYWNjIHtcbiAgICB3aWR0aDogKDE3NCAvIDY0MCkgKiAxMDB2dztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMCByZW0tY2FsYygxNSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAxMTZweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMzUpO1xuICAgIH1cbiAgfVxufVxuXG4uc2Vjb25kLXRpdGxlIHtcbiAgQGV4dGVuZCAubWFpbi10aXRsZTtcbn0iLCIjY2FudmFzUGFyZW50RWxlbWVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgY2FudmFzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4yKTtcbiAgfVxuXG4gIEBhdC1yb290IHtcbiAgICAjdGV4dC1jb250ZW50cyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDEwdnc7XG4gICAgICBib3R0b206IGNhbGMoMTB2dyAtIDhweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiA5OTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICAgICAgbGVmdDogNXZ3O1xuICAgICAgICAgIGJvdHRvbTogY2FsYyg1dncgLSA4cHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJvdHRvbTogY2FsYyg1dncgLSA3cHgpO1xuICAgICAgfVxuXG4gICAgICAqIHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cyBlYXNlLW91dDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIH1cblxuICAgICAgLmVsbS13aGl0ZSAmIHtcbiAgICAgICAgKiB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGV4dC1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogKDM2IC8gNjQwKSAqIDEwMHZ3O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDM2IC8gNjQwKSAqIDEwMHZ3O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgzNiAvIDY0MCkgKiAxMDB2aDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucmVkZG90IHtcbiAgICAgICAgICAgIHdpZHRoOiAoMTc0IC8gNjQwKSAqIDEwMHZ3O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTVweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDExNnB4O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYWNjIHtcbiAgICAgICAgICAgIHdpZHRoOiAoMTc0IC8gNjQwKSAqIDEwMHZ3O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTVweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDExNnB4O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICArIHAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNiAvIDY0MCkgKiAxMDB2dztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAoMTYgLyA2NDApICogMTAwdnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogKDE2IC8gNjQwKSAqIDEwMHZoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDM2MHB4IGRvd24pIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYuZmFkZUluIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2Utb3V0LCBtYXJnaW4gMC42cyBlYXNlLW91dDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHMgZWFzZS1vdXQgMC4ycywgbWFyZ2luIDAuNnMgZWFzZS1vdXQgMC4ycztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZhZGVPdXQge1xuXG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2Utb3V0LCBtYXJnaW4gMC44cyBlYXNlLW91dDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZS1vdXQgMC4xcywgbWFyZ2luIDAuN3MgZWFzZS1vdXQgMC4xcztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCB7XG4gICAgI3NsaWRlTmF2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiBjYWxjKDEwdncgLSA1cHgpO1xuICAgICAgYm90dG9tOiBjYWxjKDEwdncgIC0gNXB4KTtcbiAgICAgIHotaW5kZXg6IDEwMDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDV2dyAtIDEwcHgpO1xuICAgICAgICAgIGJvdHRvbTogY2FsYyg1dncgIC0gNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICBib3R0b206IGNhbGMoNXZ3ICAtIDVweCk7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIC8vICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgICAgICAvLyAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAvL31cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDEpO1xuXG4gICAgICAgICAgICAgIC5lbG0td2hpdGUgJiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDEpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDEpO1xuXG4gICAgICAgICAgICAgICAgLmVsbS13aGl0ZSAmIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2Utb3V0O1xuXG4gICAgICAgICAgICAuZWxtLXdoaXRlICYge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBrdi1zaW1wbGUtc2xpZGVyXG4vLyBLZXkgVmlzdWFs44Ko44Oq44Ki44Gu57Ch5piT44K544Op44Kk44OJ44K344On44O855SoXG4vLyAyMDI0LjEwLjIwIOi/veWKoFxuLy9cbi8vIO+8iOS9v+OBhOaWue+8iVxuLy8gIEhUTUzjgafjgIHkuIvoqJjjga7jgojjgYbjgavjgrnjg6njgqTjg4njgZXjgZvjgZ/jgYTnlLvlg4/jgpLmjIflrprvvIhpbWfopoHntKDjgasgY2xhc3M9XCJrdi1zaW1wbGUtc2xpZGVyXCIg44KS5pu444GP77yJXG4vLyAgICA8ZGl2IGlkPVwia3YtYXJlYVwiPlxuLy8gICAgICA8ZGl2IGNsYXNzPVwia3Ytc2ltcGxlLXNsaWRlclwiPlxuLy8gICAgICAgIDxpbWcgY2xhc3M9XCJrdi1pdGVtXCIgc3JjPVwiLi4uLi4uLi4uXzAwMS5qcGdcIiBhbHQ9XCIuLi4uLi4uLi4uMDAxXCI+XG4vLyAgICAgICAgPGltZyBjbGFzcz1cImt2LWl0ZW1cIiBzcmM9XCIuLi4uLi4uLi5fMDAyLmpwZ1wiIGFsdD1cIi4uLi4uLi4uLi4wMDJcIj5cbi8vICAgICAgICA8aW1nIGNsYXNzPVwia3YtaXRlbVwiIHNyYz1cIi4uLi4uLi4uLl8wMDMuanBnXCIgYWx0PVwiLi4uLi4uLi4uLjAwM1wiPlxuLy8gICAgICA8L2Rpdj5cbi8vICAgIDwvZGl2PlxuLy9cbi8vICDmnprmlbDjgoTnp5LmlbDjgpLoqr/mlbTjgZnjgovloLTlkIjjga/jgIHjgZPjga7ooYzjgojjgorkuIvjgavjgYLjgovmrKHjga7lgKTjgpLoqr/mlbRcbi8vICDjg7vlhajkvZPnp5LmlbDjga/jgIFhbmltZeebtOW+jOOBruWApO+8iOS4i+iomOS+i+OBp+OBrzE1c++8ieOBp+aMh+WumlxuLy8gICAgIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltZSAxNXMgMHMgaW5maW5pdGU7XG4vLyAgICAgYW5pbWF0aW9uOiBhbmltZSAxNXMgMHMgaW5maW5pdGU7XG4vL1xuLy8gIOODu+eUu+WDj+mWk+OCkumBt+enu+OBmeOCi+mam+OBruenkuaVsOOBr+OAgW50aC1vZi10eXBlKE4p44Gu5YaF6YOo44Gn5oyH5a6a44GX44Gm44GE44KLZGVsYXnlgKTjgpLmjIflrprjgIJcbi8vICAgIOmWi+Wni+OBi+OCieS9leenkuW+jOOBq27mnprnm67jga7nlLvlg4/jgpLooajnpLrjgpLplovlp4vjgZnjgovjgYvjgIHjgpLmjIflrprjgZnjgovjgZPjgajjgajjgarjgovjgIJcbi8vICAgIOS+i+OBiOOBsDVz44GU44Go44Gr6YG356e744GZ44KL44Gq44KJ44CBMuaemuebruOBq+OBrzVzLCAz5p6a55uu44Gr44GvMTBz44KS5oyH5a6aXG5cbi5rdi1zaW1wbGUtc2xpZGVyIHtcbiAgaGVpZ2h0OiAoOTEyIC8gMTE0MCkgKiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ua3YtaXRlbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1lIDE1cyAwcyBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBhbmltZSAxNXMgMHMgaW5maW5pdGU7XG59XG5cbi5rdi1pdGVtOm50aC1vZi10eXBlKDIpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDVzO1xuICBhbmltYXRpb24tZGVsYXk6IDVzO1xufVxuXG4ua3YtaXRlbTpudGgtb2YtdHlwZSgzKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMTBzO1xufVxuXG5Aa2V5ZnJhbWVzIGFuaW1lIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDM1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogOTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDMwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAzNSUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufSIsIi50aGFhZC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEyLjVweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi10b3A6IDc0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzdweDtcbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufSIsIi5hYm91dCB7XG4gIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgICB9XG4gIH1cblxufSIsIi5hcmNoaXZlIHtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcblxuICAmLnNtYWxsLWNvbHVtbi0yIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgID4gLmdyaWQtbWFyZ2luLXgge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC04KTtcblxuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiNjb250YWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi1ib3R0b206IDE2MHB4O1xuICB9XG5cbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG4gIH1cblxuICBidXR0b24sXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgfVxuICB9XG5cbiAgLmFkZHJlc3Mge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJib2R5Lm5ld3MsXG5ib2R5LmV2ZW50cyB7XG4gIGFydGljbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIH1cblxuICBpbWcubmV3cy1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjFweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgIH1cbiAgfVxuXG4gIGhlYWRlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAoMTUwIC8gNjQwKSAqIDEwMHZ3O1xuICAgIH1cbiAgfVxuXG4gIC5tYWluLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206MTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgIGZvbnQtc2l6ZToyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6MjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6MThweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOjIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOjE0cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLnNjaGVkdWxlIHtcbiAgICBmb250LXNpemU6MTNweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC50aGFhZC10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzN3B4O1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAubGluayB7XG4gICAgICBjb2xvcjojMGQ2MWFiO1xuICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgIH1cbiAgICBcbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzN3B4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuXG4gIC8qIERJRyBVUCBFWEhJQklUSU9OICovXG4gIC5kaWctdGV4dC0xIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG5cbiAgLmRpZy10ZXh0LTIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2Ugb25seSkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAuZGlnLXRleHQtMyB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xuICAgICAgZm9udC1zaXplOiAzM3B4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2Ugb25seSkge1xuICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5kaWctdGV4dC00IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG5cbiAgLyogUmVtaXhlZCBSZWFsaXR5IEVYSElCSVRJT04gKi9cbiAgLnJyLW1vdmllLXdyYXAge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBhc3BlY3QtcmF0aW86IDkvMTY7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHtcbiAgICAgIHdpZHRoOiAzNSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSBvbmx5KSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgICBcbiAgfVxuXG4gIC5yci1tb3ZpZS13cmFwIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnJyLXRleHQtMSB7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIG9ubHkpIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgLnJyLXRleHQtMiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG59IiwiI3JlYWQtYXJlYSB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiA3MXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDcxcHg7XG4gIH1cbn0iXX0= */

/* ====================
   PAPERLAYERS CUSTOM STYLES
   ==================== */

/* 基本設定の上書き */
body {
    font-family: 'Noto Sans JP', sans-serif !important;
    background-color: #F2F2F2 !important;
    overflow-x: hidden;
}

#content-wrap {
    background-color: #F2F2F2;
}

/* ヘッダーとナビゲーション - 3.5秒後にフェードイン */
body.works header {
    opacity: 0;
    animation: fadeIn 1s ease-out 3.5s forwards;
}

body.works .page-navi {
    opacity: 0;
    animation: fadeIn 1s ease-out 3.5s forwards;
}

@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/* ヒーローセクション */
.hero-section {
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    background: linear-gradient(45deg, #ffffff 0%, #f8f8f8 100%);
    opacity: 0;
    animation: heroFadeIn 2s ease-out forwards;
    margin: 0;
    padding: 60px 0 0 0;
    box-sizing: border-box;
}

@keyframes heroFadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

.hero-title {
    text-align: center;
    opacity: 0;
    transform: translateY(30px);
    animation: textFadeIn 1.5s ease-out 0.5s forwards;
}

.hero-title h1 {
    font-size: clamp(1.7rem, 3.5vw, 2.5rem);
    font-weight: 500;
    color: #333;
    margin-bottom: 2rem;
    letter-spacing: 0.05em;
}

.hero-subtitle {
    text-align: center;
    opacity: 0;
    transform: translateY(30px);
    animation: textFadeIn 1.5s ease-out 1s forwards;
}

.hero-subtitle h2 {
    font-size: clamp(0.6rem, 1.3vw, 0.8rem);
    font-weight: 400;
    color: #000;
    margin-bottom: 0.1rem;
}

.hero-subtitle p {
    font-size: clamp(0.9rem, 2vw, 1.2rem);
    font-weight: 300;
    color: #000;
}

@keyframes textFadeIn {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* スクロールインジケーター */
.scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    animation: textFadeIn 1.5s ease-out 2s forwards;
}

.scroll-text {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
}

.scroll-line {
    width: 2px;
    height: 60px;
    position: relative;
    overflow: hidden;
}

.scroll-line-bg {
    width: 100%;
    height: 100%;
    background-color: #ccc;
    position: absolute;
    top: 0;
}
.scroll-line-inner {
    width: 100%;
    height: 100%;
    background-color: #333;
    position: absolute;
    top: 0;
    animation: scrollLineProgress 2.5s linear infinite;
}

@keyframes scrollLineProgress {
    0% {
        clip-path: inset(0% 0% 100% 0%);
        opacity: 1;
    }
    30% {
        clip-path: inset(0% 0% 0% 0%);
        opacity: 1;
    }
    40% {
        clip-path: inset(0% 0% 0% 0%);
        opacity: 1;
    }
    70% {
        clip-path: inset(100% 0% 0% 0%);
        opacity: 1;
    }
    100% {
        clip-path: inset(100% 0% 0% 0%);
        opacity: 1;
    }
}

/* メイン画像セクション */
.main-image-section {
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    position: relative;
}

.main-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    min-height: 50vh;
    object-position: center;
}

/* PC・タブレットビューで横長表示 */
@media (min-width: 769px) {
    .main-image {
        height: 70vh;
        max-height: 800px;
        object-fit: cover;
        object-position: center 30%;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .main-image {
        height: 60vh;
        max-height: 400px;
        object-position: center 20%;
    }
}

/* スクロールアニメーション */
.scroll-animation-container {
    position: absolute;
    bottom: -190px;
    left: -20px;
    width: 600px;
    height: 600px;
    z-index: 10;
}

.scroll-animation-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .scroll-animation-container {
        width: calc(100vw - 20px);
        max-width: 500px;
        height: calc((100vw - 20px) * 0.75);
        max-height: 375px;
        bottom: -100px;
        left: -10px;
    }
}

@media (max-width: 480px) {
    .scroll-animation-container {
        width: calc(100vw - 20px);
        max-width: 450px;
        height: calc((100vw - 20px) * 0.75);
        max-height: 338px;
        bottom: -80px;
        left: -10px;
    }
}

/* メインコンテンツ */
.main-content {
    min-height: 100vh;
    padding: 100px 0;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
}

.content-section {
    margin-bottom: 120px;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1s ease, transform 1s ease;
}

.content-section.visible {
    opacity: 1;
    transform: translateY(0);
}

.section-title {
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 60px;
    color: #333;
}

.image-grid {
    display: grid;
    gap: 20px;
    margin-bottom: 21px;
}

.image-grid.two-column {
    grid-template-columns: 1fr 1fr;
}

.image-grid.single-column {
    grid-template-columns: 1fr;
}

.image-item img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

#conceptAnimation {
  padding: 0 20px; /* Default for small screens */
}

@media (min-width: 768px) {
  #conceptAnimation {
    padding: 0 0px; /* Medium screens */
  }
}

@media (min-width: 1200px) {
  #conceptAnimation {
    padding: 0 0px; /* Large screens */
  }
}

#flowAnimation {
  padding: 0 20px; /* Default for small screens */
}

@media (min-width: 768px) {
  #flowAnimation {
    padding: 0 0px; /* Medium screens */
  }
}

@media (min-width: 1200px) {
  #flowAnimation {
    padding: 0 0px; /* Large screens */
  }
}


.concept-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-top: 60px;
}

.concept-text {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #555;
}

.concept-gif img {
    width: 100%;
    border-radius: 8px;
}

/* ギャラリーセクション */
.gallery-section {
    text-align: center;
}



.slide img {
    max-width: 90%;
    max-height: 90%;
    object-fit: cover;
    min-height: 50vh;
    border-radius: 8px;
}

.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.9);
    color: #333;
    border: none;
    padding: 15px 20px;
    cursor: pointer;
    border-radius: 50%;
    font-size: 1.2rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    z-index: 10;
}

.slider-btn:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.1);
}

.prev-btn {
    left: 20px;
}

.next-btn {
    right: 20px;
}

/* レスポンシブ */
@media (max-width: 768px) {
    .image-grid.two-column {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .concept-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .concept-grid .concept-gif {
        order: -1;
    }

    .main-content {
        padding-left: 30px;
        padding-right: 30px;
    }

}

/* ヘッダーを最前面に表示 */
body.works header {
    position: relative;
    z-index: 9999 !important;
}


@media (max-width: 480px) {
    .main-image {
        min-height: 30vh;
        object-position: center;
    }
}



/* 全体的な文字サイズ調整 */
body.works {
    font-size: 14px;
}

body.works .concept-text {
    font-size: 0.9rem;
    line-height: 1.6;
}

body.works .section-title {
    font-size: 1.8rem;
}

/* 区切り線 */
.section-divider {
    width: 100%;
    height: 1px;
    background: repeating-linear-gradient(
        to right,
        #ccc,
        #ccc 8px,
        transparent 8px,
        transparent 16px
    );
    margin: 60px 0 40px 0;
}

/* ギャラリーグリッド */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 80px;
}

.gallery-item {
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.gallery-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.gallery-item:hover img {
    transform: scale(1.05);
}

/* モーダル */
.modal {
    display: none;
    position: fixed;
    z-index: 10004;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh; /* Dynamic Viewport Height for mobile browsers */
    min-height: 100vh;
    min-height: 100dvh;
    background-color: rgba(0,0,0,0.9);
    cursor: pointer;
    /* モバイルブラウザのアドレスバー変動に対応 */
    -webkit-overflow-scrolling: touch;
    overflow: hidden;
}

.modal-content {
    display: block;
    margin: auto;
    max-width: 90%;
    max-height: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 8px;
    object-fit: contain;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.modal-prev-img {
    transform: translate(-200%, -50%);
    z-index: 1;
}

.modal-next-img {
    transform: translate(100%, -50%);
    z-index: 1;
}

.modal-close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s ease;
}

.modal-close:hover {
    color: #ccc;
}

/* Exampleセクション */
.example-section {
    margin-bottom: 80px;
    overflow: hidden;
}

.slider-wrapper {
    position: relative;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    box-shadow: none;
}

.slider-container {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    order: 1;
    box-shadow: none;
    /* スクロールバーを非表示にする */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* Internet Explorer 10+ */
}

.slider-container::-webkit-scrollbar {
    display: none; /* WebKit */
}

.slider-track {
    display: flex;
    gap: 20px;
    width: fit-content;
}

.card-item {
    width: 253px;
    height: 380px;
    background: transparent;
    border: 1px solid #000;
    border-radius: 12px;
    padding: 20px;
    position: relative;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    box-sizing: border-box;
}

.card-header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 15px;
}

.case-number {
    font-size: 0.9rem;
    font-weight: 500;
    color: #333;
}

.card-image {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.card-image img {
    max-width: 100%;
    max-height: 150px;
    object-fit: contain;
}

/* デスクトップ・大タブレット対応 */
@media (min-width: 1024px) {
    .card-item[onclick*="cd"] .card-image img {
        max-height: 120px;
    }
}

/* 中タブレット対応 */
@media (max-width: 800px) {
    .card-item[onclick*="cd"] .card-image img {
        max-height: 120px;
    }
}

/* 中タブレット対応 */
@media (max-width: 640px) {
    .card-item[onclick*="cd"] .card-image img {
        max-height: 120px;
    }
}

/* スタンドライト（light/icon.png）の画像を大きく表示 */
.card-item[onclick*="camera"] .card-image img {
    max-height: 80px;
}

/* デスクトップ・大タブレット対応 */
@media (min-width: 1024px) {
    .card-item[onclick*="camera"] .card-image img {
        max-height: 80px;
    }
}

/* 中タブレット対応 */
@media (max-width: 800px) {
    .card-item[onclick*="camera"] .card-image img {
        max-height: 80px;
    }
}

/* スマホ横向き〜縦向き対応 */
@media (max-width: 640px) {
    .card-item[onclick*="camera"] .card-image img {
        max-height: 70px;
    }
}

/* 小スマホ対応 */
@media (max-width: 480px) {
    .card-item[onclick*="camera"] .card-image img {
        max-height: 70px;
    }
}

/* スタンドライト（light/icon.png）の画像を大きく表示 */
.card-item[onclick*="light"] .card-image img {
    max-height: 180px;
}

/* デスクトップ・大タブレット対応 */
@media (min-width: 1024px) {
    .card-item[onclick*="light"] .card-image img {
        max-height: 180px;
    }
}

/* 中タブレット対応 */
@media (max-width: 800px) {
    .card-item[onclick*="light"] .card-image img {
        max-height: 180px;
    }
}

/* スマホ横向き〜縦向き対応 */
@media (max-width: 640px) {
    .card-item[onclick*="light"] .card-image img {
        max-height: 160px;
    }
}

/* 小スマホ対応 */
@media (max-width: 480px) {
    .card-item[onclick*="light"] .card-image img {
        max-height: 160px;
    }
}

.card-content {
    margin-top: auto;
}

.product-name {
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 15px;
    color: #333;
}

.product-details {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.product-specs {
    flex: 1;
}

.spec-label {
    font-size: 0.85rem;
    color: #666;
    font-weight: 500;
}

.spec-value {
    font-size: 0.9rem;
    color: #333;
}

.plus-icon {
    width: 32px;
    height: 32px;
    border: 1px solid #000;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.plus-icon::before {
    content: '+';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -57%);
    font-size: 18px;
    font-weight: bold;
    color: #000;
    line-height: 1;
}

.plus-icon:hover {
    background-color: #000;
}
.plus-icon:hover::before {
    color: white;
}

/* カード詳細モーダル */
.card-modal {
    display: none;
    position: fixed;
    z-index: 10005;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    overflow-y: auto;
    animation: fadeIn 0.3s ease-in-out;
}

.card-modal-content {
    position: relative;
    background-color: white;
    margin: 50px auto;
    padding: 0;
    border: none;
    border-radius: 20px;
    width: 370px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: slideIn 0.3s ease-in-out;
}

.card-modal-close {
    position: absolute;
    right: 20px;
    top: 10px;
    background: transparent;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    cursor: pointer;
    z-index: 10006;
    transition: border-color 0.3s ease;
}
.card-modal-close::before {
    content: '×';
    position: absolute;
    top: 46%;
    left: 55%;
    transform: translate(-50%, -50%);
    font-size: 15px;
    color: #333;
    line-height: 1;
}

.card-modal-close:hover {
    border-color: rgba(0, 0, 0, 0.6);
}

.card-modal-header {
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
    background-color: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-modal-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.card-modal-body {
    padding: 10px;
}

.card-modal-header-info {
    display: flex;
    margin-bottom: 30px;
}

.card-modal-left {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.card-modal-right {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.case-number {
    font-size: 0.7rem;
    color: #888;
    margin-bottom: 8px;
    font-weight: 500;
}

.card-modal-body h2 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.2rem;
    color: #333;
    font-weight: bold;
}

.size-label {
    font-size: 0.6rem;
    color: #888;
    margin-bottom: 4px;
    font-weight: 500;
}

.size-value {
    font-size: 0.7rem;
    color: #333;
    font-weight: 600;
}

.card-modal-body p {
    line-height: 1.6;
    margin-bottom: 15px;
    color: #666;
}

.card-modal-image-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 20px;
}

.image-row {
    display: flex;
    gap: 8px;
}

.image-row img {
    height: 150px;
    min-width: 0;
    object-fit: contain;
}

.image-row:first-child img:first-child {
    flex: 0 0 calc(65% - 4px);
    height: 170px;
}

.image-row:first-child img:last-child {
    flex: 0 0 calc(35% - 4px);
    height: 170px;
}

.image-row:last-child img:first-child {
    flex: 0 0 calc(50% - 4px);
}

.image-row:last-child img:last-child {
    flex: 0 0 calc(50% - 4px);
}

/* アニメーション */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn {
    from { 
        opacity: 0;
        transform: translateY(-50px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .card-modal-content {
        width: 95%;
        margin: 20px auto;
        max-height: calc(100vh - 40px);
        border-radius: 15px;
    }
    
    .card-modal-header {
        height: 350px;
        border-radius: 15px 15px 0 0;
    }
    
    .card-modal-body {
        padding: 10px;
    }
    
    .card-modal-header-info {
        margin-bottom: 20px;
    }
    
    .card-modal-left,
    .card-modal-right {
        width: 50%;
    }
    
    .card-modal-body h2 {
        font-size: 1rem;
    }
    
    .case-number {
        font-size: 0.75rem;
    }
    
    .size-label {
        font-size: 0.7rem;
    }
    
    .size-value {
        font-size: 0.8rem;
    }
    
    .image-row img {
        height: 120px;
    }
    
    .image-row:first-child img {
        height: 180px;
    }
    
    .card-modal-close {
        right: 15px;
        top: 15px;
        width: 30px;
        height: 30px;
    }
    .card-modal-close::before {
        font-size: 15px;
    }
}

/*4ドット表示 */
.slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    width: 100%;
    order: 2;
}

.dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ccc;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.dot.active {
    background-color: #000;
}

.dot:hover {
    background-color: #666;
}

/* 大タブレット対応 */
@media (max-width: 1024px) {
    .card-item {
        width: 253px;
    }
}

/* 中タブレット〜小タブレット対応 */
@media (max-width: 800px) {
    .slider-wrapper {
        max-width: 100%;
    }
    
    .card-item {
        width: 253px;
        height: 360px;
        padding: 15px;
        flex-shrink: 0;
        box-sizing: border-box;
    }
    
    .slider-track {
        gap: 15px;
    }
}

/* スマホ横向き〜縦向き対応 */
@media (max-width: 640px) {
    
    .card-item {
        width: 253px;
        height: 350px;
        padding: 15px;
    }
    
    .card-image img {
        max-height: 120px;
    }
    
    .product-name {
        font-size: 1rem;
    }
}

/* 小スマホ対応 */
@media (max-width: 480px) {
    
    .card-item {
        width: 253px;
        height: 350px;
        padding: 12px;
        box-sizing: border-box;
    }
    
    .card-image img {
        max-height: 100px;
    }
    
    .product-name {
        font-size: 0.9rem;
        margin-bottom: 10px;
    }
    
    .spec-label {
        font-size: 0.8rem;
    }
    
    .spec-value {
        font-size: 0.85rem;
    }
    
    .plus-icon {
        width: 28px;
        height: 28px;
        font-size: 16px;
    }
}

/* Exhibitionセクション */
.exhibition-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    margin-bottom: 80px;
}

.exhibition-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.exhibition-info h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: #333;
}

.exhibition-info h4 {
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 20px;
    color: #666;
}

.exhibition-details p {
    line-height: 1.8;
    margin-bottom: 16px;
    color: #666;
}

.exhibition-details strong {
    color: #333;
}

.map-container {
    margin-top: 24px;
}

.map-container iframe {
    width: 100%;
    height: 200px;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.map-container iframe:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(0,0,0,0.2);
}

/* レスポンシブ */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .gallery-item img {
        height: 150px;
    }
    
    .exhibition-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .exhibition-image {
        order: -1;
    }
}


/* 背景色強制設定 - 最優先 */
html, body {
    background-color: #F2F2F2 !important;
}

body.loading, body.works, body.elm-black {
    background-color: #F2F2F2 !important;
}

/* Header z-index 強制設定 - 最前面表示 */
header {
    position: relative;
    z-index: 10002 !important;
}

header #header-line {
    z-index: 10002 !important;
}

header #panasonic-logo {
    z-index: 10003 !important;
}

header #nav-wrap {
    z-index: 10003 !important;
}

/* Title image responsive padding to match conceptAnimation */
.title-image {
    padding: 0 20px; /* Default for small screens */
}
@media (min-width: 768px) {
    .title-image {
        padding: 0 200px; /* Medium screens */
    }
}
@media (min-width: 1200px) {
    .title-image {
        padding: 0 300px; /* Large screens */
    }
}

/* 800px制限 - Aboutエリア以外の主要セクション */
.image-grid,
.concept-animation-image,
.flow-animation-image,
.slider-wrapper,
.exhibition-content,
.gallery-grid {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* 動画ギャラリーアイテム */
.gallery-item.video-item {
    position: relative;
    cursor: pointer;
}

/* モーダルスライダー */
.modal-slider-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.modal-slider {
    position: relative;
    width: 90%;
    height: 90%;
    overflow: hidden;
    touch-action: pan-y pinch-zoom;
}

.modal-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 24px;
    cursor: pointer;
    z-index: 10005;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, opacity 0.3s ease;
}

.modal-prev {
    left: 20px;
}

.modal-next {
    right: 20px;
}

.modal-nav:hover {
    background: rgba(0, 0, 0, 0.9);
}

.modal-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    z-index: 10005;
}

/* スマホでは矢印を非表示 */
@media (max-width: 768px) {
    .modal-nav {
        display: none;
    }
    
    .modal-slider {
        width: 100%;
        height: 100%;
    }
    
    .modal-counter {
        bottom: 10px;
        font-size: 12px;
        padding: 6px 12px;
    }
    
    /* スマホでのオーバーレイ全画面表示 */
    .modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        height: 100dvh; /* 動的ビューポート高さ */
    }
}

.gallery-item.video-item video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    transition: background 0.3s ease;
}

.gallery-item.video-item:hover .video-overlay {
    background: rgba(0, 0, 0, 0.5);
}

.play-icon {
    color: white;
    font-size: 48px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    transition: transform 0.3s ease;
}

.gallery-item.video-item:hover .play-icon {
    transform: scale(1.1);
}
