@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
   * Remove default margin.
   */
body {
  margin: 0;
}

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
  display: none;
}

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
  background-color: transparent;
}

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
  font-weight: bold;
}

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
  font-style: italic;
}

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
   * Address styling not present in IE 8/9.
   */
mark {
  background: #ff0;
  color: #000;
}

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
  border: 0;
}

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
  margin: 1em 40px;
}

/**
   * Address differences between Firefox and other browsers.
   */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
   * Contain overflow in all browsers.
   */
pre {
  overflow: auto;
}

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
button {
  overflow: visible;
}

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
button,
select {
  text-transform: none;
}

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
   * Re-set default cursor for disabled elements.
   */
button[disabled],
html input[disabled] {
  cursor: not-allowed;
}

/**
   * Remove inner padding and border in Firefox 4+.
   */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
input {
  line-height: normal;
}

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
   */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
}

/**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
textarea {
  overflow: auto;
}

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
  font-weight: bold;
}

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

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

html {
  font-size: 14px;
  box-sizing: border-box;
}

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

body {
  padding: 0;
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #535353;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

select {
  width: 100%;
  border-radius: 0;
}

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

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1;
}

[data-whatinput='mouse'] button {
  outline: 0;
}

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

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

.row {
  max-width: 85.71429rem;
  margin-left: auto;
  margin-right: auto;
}

.row::before, .row::after {
  content: ' ';
  display: table;
}

.row::after {
  clear: both;
}

.row.collapse > .column, .row.collapse > .columns {
  padding-left: 0;
  padding-right: 0;
}

.row .row {
  max-width: none;
  margin-left: -0.71429rem;
  margin-right: -0.71429rem;
}

@media screen and (min-width: 40em) {
  .row .row {
    margin-left: -1.07143rem;
    margin-right: -1.07143rem;
  }
}

.row .row.collapse {
  margin-left: 0;
  margin-right: 0;
}

.row.expanded {
  max-width: none;
}

.row.expanded .row {
  margin-left: auto;
  margin-right: auto;
}

.column, .columns {
  width: 100%;
  float: left;
  padding-left: 0.71429rem;
  padding-right: 0.71429rem;
}

@media screen and (min-width: 40em) {
  .column, .columns {
    padding-left: 1.07143rem;
    padding-right: 1.07143rem;
  }
}

.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
  float: right;
}

.column.end:last-child:last-child, .end.columns:last-child:last-child {
  float: left;
}

.column.row.row, .row.row.columns {
  float: none;
}

.row .column.row.row, .row .row.row.columns {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}

.small-1 {
  width: 8.33333%;
}

.small-push-1 {
  position: relative;
  left: 8.33333%;
}

.small-pull-1 {
  position: relative;
  left: -8.33333%;
}

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

.small-2 {
  width: 16.66667%;
}

.small-push-2 {
  position: relative;
  left: 16.66667%;
}

.small-pull-2 {
  position: relative;
  left: -16.66667%;
}

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

.small-3 {
  width: 25%;
}

.small-push-3 {
  position: relative;
  left: 25%;
}

.small-pull-3 {
  position: relative;
  left: -25%;
}

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

.small-4 {
  width: 33.33333%;
}

.small-push-4 {
  position: relative;
  left: 33.33333%;
}

.small-pull-4 {
  position: relative;
  left: -33.33333%;
}

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

.small-5 {
  width: 41.66667%;
}

.small-push-5 {
  position: relative;
  left: 41.66667%;
}

.small-pull-5 {
  position: relative;
  left: -41.66667%;
}

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

.small-6 {
  width: 50%;
}

.small-push-6 {
  position: relative;
  left: 50%;
}

.small-pull-6 {
  position: relative;
  left: -50%;
}

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

.small-7 {
  width: 58.33333%;
}

.small-push-7 {
  position: relative;
  left: 58.33333%;
}

.small-pull-7 {
  position: relative;
  left: -58.33333%;
}

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

.small-8 {
  width: 66.66667%;
}

.small-push-8 {
  position: relative;
  left: 66.66667%;
}

.small-pull-8 {
  position: relative;
  left: -66.66667%;
}

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

.small-9 {
  width: 75%;
}

.small-push-9 {
  position: relative;
  left: 75%;
}

.small-pull-9 {
  position: relative;
  left: -75%;
}

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

.small-10 {
  width: 83.33333%;
}

.small-push-10 {
  position: relative;
  left: 83.33333%;
}

.small-pull-10 {
  position: relative;
  left: -83.33333%;
}

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

.small-11 {
  width: 91.66667%;
}

.small-push-11 {
  position: relative;
  left: 91.66667%;
}

.small-pull-11 {
  position: relative;
  left: -91.66667%;
}

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

.small-12 {
  width: 100%;
}

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

.small-up-1 > .column, .small-up-1 > .columns {
  width: 100%;
  float: left;
}

.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
  clear: both;
}

.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
  float: left;
}

.small-up-2 > .column, .small-up-2 > .columns {
  width: 50%;
  float: left;
}

.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
  clear: both;
}

.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
  float: left;
}

.small-up-3 > .column, .small-up-3 > .columns {
  width: 33.33333%;
  float: left;
}

.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
  clear: both;
}

.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
  float: left;
}

.small-up-4 > .column, .small-up-4 > .columns {
  width: 25%;
  float: left;
}

.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
  clear: both;
}

.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
  float: left;
}

.small-up-5 > .column, .small-up-5 > .columns {
  width: 20%;
  float: left;
}

.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
  clear: both;
}

.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
  float: left;
}

.small-up-6 > .column, .small-up-6 > .columns {
  width: 16.66667%;
  float: left;
}

.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
  clear: both;
}

.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
  float: left;
}

.small-up-7 > .column, .small-up-7 > .columns {
  width: 14.28571%;
  float: left;
}

.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
  clear: both;
}

.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
  float: left;
}

.small-up-8 > .column, .small-up-8 > .columns {
  width: 12.5%;
  float: left;
}

.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
  clear: none;
}

.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
  clear: both;
}

.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
  float: left;
}

.small-collapse > .column, .small-collapse > .columns {
  padding-left: 0;
  padding-right: 0;
}

.small-collapse .row,
.expanded.row .small-collapse.row {
  margin-left: 0;
  margin-right: 0;
}

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-left: 0.71429rem;
  padding-right: 0.71429rem;
}

.small-centered {
  float: none;
  margin-left: auto;
  margin-right: auto;
}

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  margin-left: 0;
  margin-right: 0;
  float: left;
}

@media screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%;
  }
  .medium-push-1 {
    position: relative;
    left: 8.33333%;
  }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%;
  }
  .medium-offset-0 {
    margin-left: 0%;
  }
  .medium-2 {
    width: 16.66667%;
  }
  .medium-push-2 {
    position: relative;
    left: 16.66667%;
  }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%;
  }
  .medium-offset-1 {
    margin-left: 8.33333%;
  }
  .medium-3 {
    width: 25%;
  }
  .medium-push-3 {
    position: relative;
    left: 25%;
  }
  .medium-pull-3 {
    position: relative;
    left: -25%;
  }
  .medium-offset-2 {
    margin-left: 16.66667%;
  }
  .medium-4 {
    width: 33.33333%;
  }
  .medium-push-4 {
    position: relative;
    left: 33.33333%;
  }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%;
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .medium-5 {
    width: 41.66667%;
  }
  .medium-push-5 {
    position: relative;
    left: 41.66667%;
  }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%;
  }
  .medium-offset-4 {
    margin-left: 33.33333%;
  }
  .medium-6 {
    width: 50%;
  }
  .medium-push-6 {
    position: relative;
    left: 50%;
  }
  .medium-pull-6 {
    position: relative;
    left: -50%;
  }
  .medium-offset-5 {
    margin-left: 41.66667%;
  }
  .medium-7 {
    width: 58.33333%;
  }
  .medium-push-7 {
    position: relative;
    left: 58.33333%;
  }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%;
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .medium-8 {
    width: 66.66667%;
  }
  .medium-push-8 {
    position: relative;
    left: 66.66667%;
  }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%;
  }
  .medium-offset-7 {
    margin-left: 58.33333%;
  }
  .medium-9 {
    width: 75%;
  }
  .medium-push-9 {
    position: relative;
    left: 75%;
  }
  .medium-pull-9 {
    position: relative;
    left: -75%;
  }
  .medium-offset-8 {
    margin-left: 66.66667%;
  }
  .medium-10 {
    width: 83.33333%;
  }
  .medium-push-10 {
    position: relative;
    left: 83.33333%;
  }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%;
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .medium-11 {
    width: 91.66667%;
  }
  .medium-push-11 {
    position: relative;
    left: 91.66667%;
  }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%;
  }
  .medium-offset-10 {
    margin-left: 83.33333%;
  }
  .medium-12 {
    width: 100%;
  }
  .medium-offset-11 {
    margin-left: 91.66667%;
  }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    width: 100%;
    float: left;
  }
  .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
    clear: both;
  }
  .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
    float: left;
  }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    width: 50%;
    float: left;
  }
  .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
    clear: both;
  }
  .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
    float: left;
  }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    width: 33.33333%;
    float: left;
  }
  .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
    clear: both;
  }
  .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
    float: left;
  }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    width: 25%;
    float: left;
  }
  .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
    clear: both;
  }
  .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
    float: left;
  }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    width: 20%;
    float: left;
  }
  .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
    clear: both;
  }
  .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
    float: left;
  }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    width: 16.66667%;
    float: left;
  }
  .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
    clear: both;
  }
  .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
    float: left;
  }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    width: 14.28571%;
    float: left;
  }
  .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
    clear: both;
  }
  .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
    float: left;
  }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    width: 12.5%;
    float: left;
  }
  .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
    clear: both;
  }
  .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
    float: left;
  }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .medium-collapse .row,
  .expanded.row .medium-collapse.row {
    margin-left: 0;
    margin-right: 0;
  }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-left: 1.07143rem;
    padding-right: 1.07143rem;
  }
  .medium-centered {
    float: none;
    margin-left: auto;
    margin-right: auto;
  }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left;
  }
}

@media screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%;
  }
  .large-push-1 {
    position: relative;
    left: 8.33333%;
  }
  .large-pull-1 {
    position: relative;
    left: -8.33333%;
  }
  .large-offset-0 {
    margin-left: 0%;
  }
  .large-2 {
    width: 16.66667%;
  }
  .large-push-2 {
    position: relative;
    left: 16.66667%;
  }
  .large-pull-2 {
    position: relative;
    left: -16.66667%;
  }
  .large-offset-1 {
    margin-left: 8.33333%;
  }
  .large-3 {
    width: 25%;
  }
  .large-push-3 {
    position: relative;
    left: 25%;
  }
  .large-pull-3 {
    position: relative;
    left: -25%;
  }
  .large-offset-2 {
    margin-left: 16.66667%;
  }
  .large-4 {
    width: 33.33333%;
  }
  .large-push-4 {
    position: relative;
    left: 33.33333%;
  }
  .large-pull-4 {
    position: relative;
    left: -33.33333%;
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .large-5 {
    width: 41.66667%;
  }
  .large-push-5 {
    position: relative;
    left: 41.66667%;
  }
  .large-pull-5 {
    position: relative;
    left: -41.66667%;
  }
  .large-offset-4 {
    margin-left: 33.33333%;
  }
  .large-6 {
    width: 50%;
  }
  .large-push-6 {
    position: relative;
    left: 50%;
  }
  .large-pull-6 {
    position: relative;
    left: -50%;
  }
  .large-offset-5 {
    margin-left: 41.66667%;
  }
  .large-7 {
    width: 58.33333%;
  }
  .large-push-7 {
    position: relative;
    left: 58.33333%;
  }
  .large-pull-7 {
    position: relative;
    left: -58.33333%;
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .large-8 {
    width: 66.66667%;
  }
  .large-push-8 {
    position: relative;
    left: 66.66667%;
  }
  .large-pull-8 {
    position: relative;
    left: -66.66667%;
  }
  .large-offset-7 {
    margin-left: 58.33333%;
  }
  .large-9 {
    width: 75%;
  }
  .large-push-9 {
    position: relative;
    left: 75%;
  }
  .large-pull-9 {
    position: relative;
    left: -75%;
  }
  .large-offset-8 {
    margin-left: 66.66667%;
  }
  .large-10 {
    width: 83.33333%;
  }
  .large-push-10 {
    position: relative;
    left: 83.33333%;
  }
  .large-pull-10 {
    position: relative;
    left: -83.33333%;
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .large-11 {
    width: 91.66667%;
  }
  .large-push-11 {
    position: relative;
    left: 91.66667%;
  }
  .large-pull-11 {
    position: relative;
    left: -91.66667%;
  }
  .large-offset-10 {
    margin-left: 83.33333%;
  }
  .large-12 {
    width: 100%;
  }
  .large-offset-11 {
    margin-left: 91.66667%;
  }
  .large-up-1 > .column, .large-up-1 > .columns {
    width: 100%;
    float: left;
  }
  .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
    clear: both;
  }
  .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
    float: left;
  }
  .large-up-2 > .column, .large-up-2 > .columns {
    width: 50%;
    float: left;
  }
  .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
    clear: both;
  }
  .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
    float: left;
  }
  .large-up-3 > .column, .large-up-3 > .columns {
    width: 33.33333%;
    float: left;
  }
  .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
    clear: both;
  }
  .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
    float: left;
  }
  .large-up-4 > .column, .large-up-4 > .columns {
    width: 25%;
    float: left;
  }
  .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
    clear: both;
  }
  .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
    float: left;
  }
  .large-up-5 > .column, .large-up-5 > .columns {
    width: 20%;
    float: left;
  }
  .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
    clear: both;
  }
  .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
    float: left;
  }
  .large-up-6 > .column, .large-up-6 > .columns {
    width: 16.66667%;
    float: left;
  }
  .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
    clear: both;
  }
  .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
    float: left;
  }
  .large-up-7 > .column, .large-up-7 > .columns {
    width: 14.28571%;
    float: left;
  }
  .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
    clear: both;
  }
  .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
    float: left;
  }
  .large-up-8 > .column, .large-up-8 > .columns {
    width: 12.5%;
    float: left;
  }
  .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
    clear: both;
  }
  .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
    float: left;
  }
  .large-collapse > .column, .large-collapse > .columns {
    padding-left: 0;
    padding-right: 0;
  }
  .large-collapse .row,
  .expanded.row .large-collapse.row {
    margin-left: 0;
    margin-right: 0;
  }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-left: 1.07143rem;
    padding-right: 1.07143rem;
  }
  .large-centered {
    float: none;
    margin-left: auto;
    margin-right: auto;
  }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left;
  }
}

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

p {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 1rem;
  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,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
  color: #cacaca;
  line-height: 0;
}

h1 {
  font-size: 1.71429rem;
}

h2 {
  font-size: 1.42857rem;
}

h3 {
  font-size: 1.35714rem;
}

h4 {
  font-size: 1.28571rem;
}

h5 {
  font-size: 1.21429rem;
}

h6 {
  font-size: 1.14286rem;
}

@media screen and (min-width: 40em) {
  h1 {
    font-size: 3.42857rem;
  }
  h2 {
    font-size: 2.85714rem;
  }
  h3 {
    font-size: 2.21429rem;
  }
  h4 {
    font-size: 1.78571rem;
  }
  h5 {
    font-size: 1.42857rem;
  }
  h6 {
    font-size: 1.14286rem;
  }
}

a {
  color: #535353;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer;
}

a:hover, a:focus {
  color: #00664a;
}

a img {
  border: 0;
}

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

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

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

dl {
  margin-bottom: 1rem;
}

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.64286rem 1.42857rem 0 1.35714rem;
  border-left: 1px solid #cacaca;
}

blockquote, blockquote p {
  line-height: 1.6;
  color: #8a8a8a;
}

cite {
  display: block;
  font-size: 0.92857rem;
  color: #8a8a8a;
}

cite:before {
  content: '\2014 \0020';
}

abbr {
  color: #535353;
  cursor: help;
  border-bottom: 1px dotted #535353;
}

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #535353;
  background-color: #f2f2f2;
  border: 1px solid #cacaca;
  padding: 0.14286rem 0.35714rem 0.07143rem;
}

kbd {
  padding: 0.14286rem 0.28571rem 0;
  margin: 0;
  background-color: #f2f2f2;
  color: #535353;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
}

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

.lead {
  font-size: 17.5px;
  line-height: 1.6;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}

p + .stat {
  margin-top: -1rem;
}

.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 screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}

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

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

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

[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.78571rem;
  padding: 0.57143rem;
  border: 1px solid #cacaca;
  margin: 0 0 1.14286rem;
  font-family: inherit;
  font-size: 1.14286rem;
  color: #535353;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(83, 83, 83, 0.1);
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-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 {
  border: 1px solid #8a8a8a;
  background-color: #ffffff;
  outline: none;
  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:-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: #f2f2f2;
  cursor: not-allowed;
}

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

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

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

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.57143rem;
  margin-right: 1.14286rem;
  margin-bottom: 0;
  vertical-align: baseline;
}

[type='checkbox'] + label[for],
[type='radio'] + label[for] {
  cursor: pointer;
}

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

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

label {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.8;
  color: #535353;
}

label.middle {
  margin: 0 0 1.14286rem;
  padding: 0.64286rem 0;
}

.help-text {
  margin-top: -0.57143rem;
  font-size: 0.92857rem;
  font-style: italic;
  color: #535353;
}

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1.14286rem;
}

.input-group > :first-child {
  border-radius: 0 0 0 0;
}

.input-group > :last-child > * {
  border-radius: 0 0 0 0;
}

.input-group-label, .input-group-field, .input-group-button {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle;
}

.input-group-label {
  text-align: center;
  padding: 0 1rem;
  background: #f2f2f2;
  color: #535353;
  border: 1px solid #cacaca;
  white-space: nowrap;
  width: 1%;
  height: 100%;
}

.input-group-label:first-child {
  border-right: 0;
}

.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  height: 2.85714rem;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  height: 100%;
  width: 1%;
}

.input-group-button a,
.input-group-button input,
.input-group-button button {
  margin: 0;
}

.input-group .input-group-button {
  display: table-cell;
}

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

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

.fieldset {
  border: 1px solid #cacaca;
  padding: 1.42857rem;
  margin: 1.28571rem 0;
}

.fieldset legend {
  background: #ffffff;
  padding: 0 0.21429rem;
  margin: 0;
  margin-left: -0.21429rem;
}

select {
  height: 2.78571rem;
  padding: 0.57143rem;
  border: 1px solid #cacaca;
  margin: 0 0 1.14286rem;
  font-size: 1.14286rem;
  font-family: inherit;
  line-height: normal;
  color: #535353;
  background-color: #ffffff;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1.14286rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.71429rem;
}

@media screen and (min-width: 0\0) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}

select:disabled {
  background-color: #f2f2f2;
  cursor: not-allowed;
}

select::-ms-expand {
  display: none;
}

select[multiple] {
  height: auto;
  background-image: none;
}

.is-invalid-input:not(:focus) {
  background-color: rgba(253, 54, 81, 0.1);
  border-color: #fd3651;
}

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

.form-error {
  display: none;
  margin-top: -0.57143rem;
  margin-bottom: 1.14286rem;
  font-size: 0.85714rem;
  font-weight: bold;
  color: #fd3651;
}

.form-error.is-visible {
  display: block;
}

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #00664a;
  color: #ffffff;
}

[data-whatinput='mouse'] .button {
  outline: 0;
}

.button:hover, .button:focus {
  background-color: #00573f;
  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-left: 0;
  margin-right: 0;
}

.button.primary {
  background-color: #00664a;
  color: #ffffff;
}

.button.primary:hover, .button.primary:focus {
  background-color: #00523b;
  color: #ffffff;
}

.button.secondary {
  background-color: #535353;
  color: #ffffff;
}

.button.secondary:hover, .button.secondary:focus {
  background-color: #424242;
  color: #ffffff;
}

.button.success {
  background-color: #f4bf4a;
  color: #535353;
}

.button.success:hover, .button.success:focus {
  background-color: #f0aa0f;
  color: #535353;
}

.button.warning {
  background-color: #e63429;
  color: #ffffff;
}

.button.warning:hover, .button.warning:focus {
  background-color: #c22117;
  color: #ffffff;
}

.button.alert {
  background-color: #fd3651;
  color: #535353;
}

.button.alert:hover, .button.alert:focus {
  background-color: #f30223;
  color: #535353;
}

.button.light-gray {
  background-color: #f2f2f2;
  color: #535353;
}

.button.light-gray:hover, .button.light-gray:focus {
  background-color: #c2c2c2;
  color: #535353;
}

.button.hollow {
  border: 1px solid #00664a;
  color: #00664a;
}

.button.hollow, .button.hollow:hover, .button.hollow:focus {
  background-color: transparent;
}

.button.hollow:hover, .button.hollow:focus {
  border-color: #003325;
  color: #003325;
}

.button.hollow.primary {
  border: 1px solid #00664a;
  color: #00664a;
}

.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #003325;
  color: #003325;
}

.button.hollow.secondary {
  border: 1px solid #535353;
  color: #535353;
}

.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: #2a2a2a;
  color: #2a2a2a;
}

.button.hollow.success {
  border: 1px solid #f4bf4a;
  color: #f4bf4a;
}

.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: #966a09;
  color: #966a09;
}

.button.hollow.warning {
  border: 1px solid #e63429;
  color: #e63429;
}

.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: #79140e;
  color: #79140e;
}

.button.hollow.alert {
  border: 1px solid #fd3651;
  color: #fd3651;
}

.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: #980216;
  color: #980216;
}

.button.hollow.light-gray {
  border: 1px solid #f2f2f2;
  color: #f2f2f2;
}

.button.hollow.light-gray:hover, .button.hollow.light-gray:focus {
  border-color: #797979;
  color: #797979;
}

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

.button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
  background-color: #00664a;
  color: #ffffff;
}

.button.dropdown::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4em;
  border-color: #ffffff transparent transparent;
  border-top-style: solid;
  border-bottom-width: 0;
  position: relative;
  top: 0.4em;
  float: right;
  margin-left: 1em;
  display: inline-block;
}

.button.arrow-only::after {
  margin-left: 0;
  float: none;
  top: -0.1em;
}

.accordion {
  list-style-type: none;
  background: #ffffff;
  margin-left: 0;
}

.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 {
  display: block;
  padding: 1.25rem 1rem;
  line-height: 1;
  font-size: 0.85714rem;
  color: #00664a;
  position: relative;
  border: 1px solid #f2f2f2;
  border-bottom: 0;
}

:last-child:not(.is-active) > .accordion-title {
  border-radius: 0 0 0 0;
  border-bottom: 1px solid #f2f2f2;
}

.accordion-title:hover, .accordion-title:focus {
  background-color: #f2f2f2;
}

.accordion-title::before {
  content: '+';
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -0.5rem;
}

.is-active > .accordion-title::before {
  content: '–';
}

.accordion-content {
  padding: 1rem;
  display: none;
  border: 1px solid #f2f2f2;
  border-bottom: 0;
  background-color: #ffffff;
  color: #535353;
}

:last-child > .accordion-content:last-child {
  border-bottom: 1px solid #f2f2f2;
}

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

.is-accordion-submenu-parent > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: #00664a transparent transparent;
  border-top-style: solid;
  border-bottom-width: 0;
  position: absolute;
  top: 50%;
  margin-top: -4px;
  right: 1rem;
}

.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  transform-origin: 50% 50%;
  transform: scaleY(-1);
}

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #00664a;
  color: #ffffff;
}

.badge.secondary {
  background: #535353;
  color: #ffffff;
}

.badge.success {
  background: #f4bf4a;
  color: #535353;
}

.badge.warning {
  background: #e63429;
  color: #ffffff;
}

.badge.alert {
  background: #fd3651;
  color: #535353;
}

.badge.light-gray {
  background: #f2f2f2;
  color: #535353;
}

.breadcrumbs {
  list-style: none;
  margin: 0 0 1rem 0;
}

.breadcrumbs::before, .breadcrumbs::after {
  content: ' ';
  display: table;
}

.breadcrumbs::after {
  clear: both;
}

.breadcrumbs li {
  float: left;
  color: #535353;
  font-size: 0.78571rem;
  cursor: default;
  text-transform: uppercase;
}

.breadcrumbs li:not(:last-child)::after {
  color: #cacaca;
  content: "/";
  margin: 0 0.75rem;
  position: relative;
  top: 1px;
  opacity: 1;
}

.breadcrumbs a {
  color: #00664a;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

.breadcrumbs .disabled {
  color: #cacaca;
  cursor: not-allowed;
}

.button-group {
  margin-bottom: 1rem;
  font-size: 0;
}

.button-group::before, .button-group::after {
  content: ' ';
  display: table;
}

.button-group::after {
  clear: both;
}

.button-group .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 0.9rem;
}

.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 {
  margin-right: -1px;
}

.button-group.expanded::before, .button-group.expanded::after {
  display: none;
}

.button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
  display: inline-block;
  width: calc(50% - 1px);
  margin-right: 1px;
}

.button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
  margin-right: -6px;
}

.button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
  display: inline-block;
  width: calc(33.33333% - 1px);
  margin-right: 1px;
}

.button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
  margin-right: -6px;
}

.button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
  display: inline-block;
  width: calc(25% - 1px);
  margin-right: 1px;
}

.button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
  margin-right: -6px;
}

.button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
  display: inline-block;
  width: calc(20% - 1px);
  margin-right: 1px;
}

.button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
  margin-right: -6px;
}

.button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
  display: inline-block;
  width: calc(16.66667% - 1px);
  margin-right: 1px;
}

.button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
  margin-right: -6px;
}

.button-group.primary .button {
  background-color: #00664a;
  color: #ffffff;
}

.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: #00523b;
  color: #ffffff;
}

.button-group.secondary .button {
  background-color: #535353;
  color: #ffffff;
}

.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: #424242;
  color: #ffffff;
}

.button-group.success .button {
  background-color: #f4bf4a;
  color: #535353;
}

.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: #f0aa0f;
  color: #535353;
}

.button-group.warning .button {
  background-color: #e63429;
  color: #ffffff;
}

.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: #c22117;
  color: #ffffff;
}

.button-group.alert .button {
  background-color: #fd3651;
  color: #535353;
}

.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: #f30223;
  color: #535353;
}

.button-group.light-gray .button {
  background-color: #f2f2f2;
  color: #535353;
}

.button-group.light-gray .button:hover, .button-group.light-gray .button:focus {
  background-color: #c2c2c2;
  color: #535353;
}

.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
  width: 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 screen and (min-width: 40em) {
  .button-group.stacked-for-small .button {
    width: auto;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 64em) {
  .button-group.stacked-for-medium .button {
    width: auto;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 39.9375em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }
  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(83, 83, 83, 0.25);
  border-radius: 0;
  position: relative;
  color: #535353;
  background-color: white;
}

.callout > :first-child {
  margin-top: 0;
}

.callout > :last-child {
  margin-bottom: 0;
}

.callout.primary {
  background-color: #c2ffee;
}

.callout.secondary {
  background-color: #e5e5e5;
}

.callout.success {
  background-color: #fdf5e4;
}

.callout.warning {
  background-color: #fbe1df;
}

.callout.alert {
  background-color: #ffe1e5;
}

.callout.light-gray {
  background-color: #fdfdfd;
}

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

.close-button {
  position: absolute;
  color: #8a8a8a;
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
  cursor: pointer;
}

[data-whatinput='mouse'] .close-button {
  outline: 0;
}

.close-button:hover, .close-button:focus {
  color: #535353;
}

.menu {
  margin: 0;
  list-style-type: none;
}

.menu > li {
  display: table-cell;
  vertical-align: middle;
}

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

.menu > li > a {
  display: block;
  padding: 0.7rem 1rem;
  line-height: 1;
}

.menu input,
.menu a,
.menu button {
  margin-bottom: 0;
}

.menu > li > a img,
.menu > li > a i,
.menu > li > a svg {
  vertical-align: middle;
}

.menu > li > a img + span,
.menu > li > a i + span,
.menu > li > a svg + span {
  vertical-align: middle;
}

.menu > li > a img,
.menu > li > a i,
.menu > li > a svg {
  margin-right: 0.25rem;
  display: inline-block;
}

.menu > li {
  display: table-cell;
}

.menu.vertical > li {
  display: block;
}

@media screen and (min-width: 40em) {
  .menu.medium-horizontal > li {
    display: table-cell;
  }
  .menu.medium-vertical > li {
    display: block;
  }
}

@media screen and (min-width: 64em) {
  .menu.large-horizontal > li {
    display: table-cell;
  }
  .menu.large-vertical > li {
    display: block;
  }
}

.menu.simple li {
  line-height: 1;
  display: inline-block;
  margin-right: 1rem;
}

.menu.simple a {
  padding: 0;
}

.menu.align-right::before, .menu.align-right::after {
  content: ' ';
  display: table;
}

.menu.align-right::after {
  clear: both;
}

.menu.align-right > li {
  float: right;
}

.menu.expanded {
  width: 100%;
  display: table;
  table-layout: fixed;
}

.menu.expanded > li:first-child:last-child {
  width: 100%;
}

.menu.icon-top > li > a {
  text-align: center;
}

.menu.icon-top > li > a img,
.menu.icon-top > li > a i,
.menu.icon-top > li > a svg {
  display: block;
  margin: 0 auto 0.25rem;
}

.menu.nested {
  margin-left: 1rem;
}

.menu .active > a {
  color: #ffffff;
  background: #00664a;
}

.menu-text {
  font-weight: bold;
  color: inherit;
  line-height: 1;
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem;
}

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

.menu-centered > .menu {
  display: inline-block;
}

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

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  width: 20px;
  height: 16px;
}

.menu-icon::after {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background: #ffffff;
  top: 0;
  left: 0;
  box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
}

.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;
  cursor: pointer;
  width: 20px;
  height: 16px;
}

.menu-icon.dark::after {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background: #535353;
  top: 0;
  left: 0;
  box-shadow: 0 7px 0 #535353, 0 14px 0 #535353;
}

.menu-icon.dark:hover::after {
  background: #8a8a8a;
  box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
}

.is-drilldown {
  position: relative;
  overflow: hidden;
}

.is-drilldown li {
  display: block !important;
}

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  height: 100%;
  width: 100%;
  background: #ffffff;
  transition: transform 0.15s linear;
}

.is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  transform: translateX(-100%);
}

.is-drilldown-submenu.is-closing {
  transform: translateX(100%);
}

.is-drilldown-submenu-parent > a {
  position: relative;
}

.is-drilldown-submenu-parent > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent transparent transparent #00664a;
  border-left-style: solid;
  border-right-width: 0;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
}

.js-drilldown-back > a::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent #00664a transparent transparent;
  border-right-style: solid;
  border-left-width: 0;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
}

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

.dropdown-pane.is-open {
  visibility: visible;
}

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

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

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

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

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

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

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

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

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

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

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

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

.dropdown.menu.vertical > li > a::after {
  right: 14px;
  margin-top: -3px;
}

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

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

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

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

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

.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;
  margin-top: -2px;
}

.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
  top: 100%;
  left: auto;
}

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

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

.is-dropdown-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #ffffff;
  border: 1px solid #cacaca;
}

.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
  right: 14px;
  margin-top: -3px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent #535353 transparent transparent;
  border-right-style: solid;
  border-left-width: 0;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent transparent transparent #535353;
  border-left-style: solid;
  border-right-width: 0;
}

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: -1px;
}

.is-dropdown-submenu > li {
  width: 100%;
}

.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

.flex-video {
  position: relative;
  height: 0;
  padding-bottom: 75%;
  margin-bottom: 1.14286rem;
  overflow: hidden;
}

.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.flex-video.widescreen {
  padding-bottom: 56.25%;
}

.flex-video.vimeo {
  padding-top: 0;
}

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 0;
  background: #00664a;
  color: #ffffff;
}

.label.secondary {
  background: #535353;
  color: #ffffff;
}

.label.success {
  background: #f4bf4a;
  color: #535353;
}

.label.warning {
  background: #e63429;
  color: #ffffff;
}

.label.alert {
  background: #fd3651;
  color: #535353;
}

.label.light-gray {
  background: #f2f2f2;
  color: #535353;
}

.media-object {
  margin-bottom: 1rem;
  display: block;
}

.media-object img {
  max-width: none;
}

@media screen and (max-width: 39.9375em) {
  .media-object.stack-for-small .media-object-section {
    padding: 0;
    padding-bottom: 1rem;
    display: block;
  }
  .media-object.stack-for-small .media-object-section img {
    width: 100%;
  }
}

.media-object-section {
  display: table-cell;
  vertical-align: top;
}

.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.middle {
  vertical-align: middle;
}

.media-object-section.bottom {
  vertical-align: bottom;
}

html,
body {
  height: 100%;
}

.off-canvas-wrapper {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-overflow-scrolling: auto;
}

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  transition: transform 0.5s ease;
}

.off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
  content: ' ';
  display: table;
}

.off-canvas-wrapper-inner::after {
  clear: both;
}

.off-canvas-content,
.off-canvas-content {
  min-height: 100%;
  background: #ffffff;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 1;
  padding-bottom: 0.1px;
  box-shadow: 0 0 10px rgba(83, 83, 83, 0.5);
}

.js-off-canvas-exit {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.25);
  cursor: pointer;
  transition: background 0.5s ease;
}

.off-canvas {
  position: absolute;
  background: #f2f2f2;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  transform: translateX(0);
}

[data-whatinput='mouse'] .off-canvas {
  outline: 0;
}

.off-canvas.position-left {
  left: -250px;
  top: 0;
  width: 250px;
}

.is-open-left {
  transform: translateX(250px);
}

.off-canvas.position-right {
  right: -250px;
  top: 0;
  width: 250px;
}

.is-open-right {
  transform: translateX(-250px);
}

@media screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    left: 0;
    z-index: auto;
    position: fixed;
  }
  .position-left.reveal-for-medium ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-medium {
    right: 0;
    z-index: auto;
    position: fixed;
  }
  .position-right.reveal-for-medium ~ .off-canvas-content {
    margin-right: 250px;
  }
}

@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed;
  }
  .position-left.reveal-for-large ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed;
  }
  .position-right.reveal-for-large ~ .off-canvas-content {
    margin-right: 250px;
  }
}

.orbit {
  position: relative;
}

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

.orbit-slide {
  width: 100%;
  max-height: 100%;
}

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

.orbit-figure {
  margin: 0;
}

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

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

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #ffffff;
}

[data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
  outline: 0;
}

.orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
  background-color: rgba(83, 83, 83, 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;
  background-color: #cacaca;
  border-radius: 50%;
}

.orbit-bullets button:hover {
  background-color: #8a8a8a;
}

.orbit-bullets button.is-active {
  background-color: #8a8a8a;
}

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}

.pagination::before, .pagination::after {
  content: ' ';
  display: table;
}

.pagination::after {
  clear: both;
}

.pagination li {
  font-size: 1rem;
  margin-right: 0.07143rem;
  border-radius: 0;
  display: none;
}

.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}

@media screen and (min-width: 40em) {
  .pagination li {
    display: inline-block;
  }
}

.pagination a,
.pagination button {
  color: #535353;
  display: block;
  padding: 0.21429rem 0.71429rem;
  border-radius: 0;
}

.pagination a:hover,
.pagination button:hover {
  background: #f2f2f2;
}

.pagination .current {
  padding: 0.21429rem 0.71429rem;
  background: #00664a;
  color: #ffffff;
  cursor: default;
}

.pagination .disabled {
  padding: 0.21429rem 0.71429rem;
  color: #cacaca;
  cursor: not-allowed;
}

.pagination .disabled:hover {
  background: transparent;
}

.pagination .ellipsis::after {
  content: '\2026';
  padding: 0.21429rem 0.71429rem;
  color: #535353;
}

.pagination-previous a::before,
.pagination-previous.disabled::before {
  content: '\00ab';
  display: inline-block;
  margin-right: 0.5rem;
}

.pagination-next a::after,
.pagination-next.disabled::after {
  content: '\00bb';
  display: inline-block;
  margin-left: 0.5rem;
}

.progress {
  background-color: #cacaca;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
}

.progress.primary .progress-meter {
  background-color: #00664a;
}

.progress.secondary .progress-meter {
  background-color: #535353;
}

.progress.success .progress-meter {
  background-color: #f4bf4a;
}

.progress.warning .progress-meter {
  background-color: #e63429;
}

.progress.alert .progress-meter {
  background-color: #fd3651;
}

.progress.light-gray .progress-meter {
  background-color: #f2f2f2;
}

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

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 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: #f2f2f2;
  cursor: pointer;
  -webkit-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%;
  transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #00664a;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  border-radius: 0;
}

[data-whatinput='mouse'] .slider-handle {
  outline: 0;
}

.slider-handle:hover {
  background-color: #00573f;
}

.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;
  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;
  transform: translateX(-50%);
}

.sticky-container {
  position: relative;
}

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

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
}

.sticky.is-stuck.is-at-top {
  top: 0;
}

.sticky.is-stuck.is-at-bottom {
  bottom: 0;
}

.sticky.is-anchored {
  position: absolute;
  left: auto;
  right: auto;
}

.sticky.is-anchored.is-at-bottom {
  bottom: 0;
}

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

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

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

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #cacaca;
  background-color: #ffffff;
  border-radius: 0;
  position: relative;
  top: 100px;
  margin-left: auto;
  margin-right: auto;
  overflow-y: auto;
}

[data-whatinput='mouse'] .reveal {
  outline: 0;
}

@media screen and (min-width: 40em) {
  .reveal {
    min-height: 0;
  }
}

.reveal .column, .reveal .columns,
.reveal .columns {
  min-width: 0;
}

.reveal > :last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 40em) {
  .reveal {
    width: 600px;
    max-width: 85.71429rem;
  }
}

@media screen and (min-width: 40em) {
  .reveal .reveal {
    left: auto;
    right: auto;
    margin: 0 auto;
  }
}

.reveal.collapse {
  padding: 0;
}

@media screen and (min-width: 40em) {
  .reveal.tiny {
    width: 30%;
    max-width: 85.71429rem;
  }
}

@media screen and (min-width: 40em) {
  .reveal.small {
    width: 50%;
    max-width: 85.71429rem;
  }
}

@media screen and (min-width: 40em) {
  .reveal.large {
    width: 90%;
    max-width: 85.71429rem;
  }
}

.reveal.full {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 100vh;
  min-height: 100vh;
  max-width: none;
  margin-left: 0;
  border: 0;
  border-radius: 0;
}

@media screen and (max-width: 39.9375em) {
  .reveal {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0;
    border-radius: 0;
  }
}

.reveal.without-overlay {
  position: fixed;
}

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

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

.switch-paddle {
  background: #cacaca;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  transition: all 0.25s ease-out;
  border-radius: 0;
  color: inherit;
  font-weight: inherit;
}

input + .switch-paddle {
  margin: 0;
}

.switch-paddle::after {
  background: #ffffff;
  content: '';
  display: block;
  position: absolute;
  height: 1.5rem;
  left: 0.25rem;
  top: 0.25rem;
  width: 1.5rem;
  transition: all 0.25s ease-out;
  transform: translate3d(0, 0, 0);
  border-radius: 0;
}

input:checked ~ .switch-paddle {
  background: #00664a;
}

input:checked ~ .switch-paddle::after {
  left: 2.25rem;
}

[data-whatinput='mouse'] input:focus ~ .switch-paddle {
  outline: 0;
}

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  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 .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.71429rem;
}

.switch.tiny .switch-paddle::after {
  width: 1rem;
  height: 1rem;
}

.switch.tiny input:checked ~ .switch-paddle::after {
  left: 1.75rem;
}

.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.85714rem;
}

.switch.small .switch-paddle::after {
  width: 1.25rem;
  height: 1.25rem;
}

.switch.small input:checked ~ .switch-paddle::after {
  left: 2rem;
}

.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1.14286rem;
}

.switch.large .switch-paddle::after {
  width: 2rem;
  height: 2rem;
}

.switch.large input:checked ~ .switch-paddle::after {
  left: 2.75rem;
}

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}

thead,
tbody,
tfoot {
  border: 1px solid #f2f2f2;
  background-color: #ffffff;
}

caption {
  font-weight: bold;
  padding: 0.57143rem 0.71429rem 0.71429rem;
}

thead,
tfoot {
  background: #f9f9f9;
  color: #535353;
}

thead tr,
tfoot tr {
  background: transparent;
}

thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.57143rem 0.71429rem 0.71429rem;
  font-weight: bold;
  text-align: left;
}

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

tbody th,
tbody td {
  padding: 0.57143rem 0.71429rem 0.71429rem;
}

@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 tr:hover {
  background-color: #fafafa;
}

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

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

.table-scroll table {
  width: auto;
}

.tabs {
  margin: 0;
  list-style-type: none;
  background: #ffffff;
  border: 1px solid #f2f2f2;
}

.tabs::before, .tabs::after {
  content: ' ';
  display: table;
}

.tabs::after {
  clear: both;
}

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

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

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

.tabs.primary {
  background: #00664a;
}

.tabs.primary > li > a {
  color: #ffffff;
}

.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: #007a59;
}

.tabs-title {
  float: left;
}

.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  line-height: 1;
  font-size: 0.85714rem;
}

.tabs-title > a:hover {
  background: #ffffff;
}

.tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
  background: #f2f2f2;
}

.tabs-content {
  background: #ffffff;
  transition: all 0.5s ease;
  border: 1px solid #f2f2f2;
  border-top: 0;
}

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

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

.tabs-panel.is-active {
  display: block;
}

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

.thumbnail:hover, .thumbnail:focus {
  box-shadow: 0 0 6px 1px rgba(0, 102, 74, 0.5);
}

.title-bar {
  background: #535353;
  color: #ffffff;
  padding: 0.5rem;
}

.title-bar::before, .title-bar::after {
  content: ' ';
  display: table;
}

.title-bar::after {
  clear: both;
}

.title-bar .menu-icon {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.title-bar-left {
  float: left;
}

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

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

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  width: 20px;
  height: 16px;
}

.menu-icon.dark::after {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background: #535353;
  top: 0;
  left: 0;
  box-shadow: 0 7px 0 #535353, 0 14px 0 #535353;
}

.menu-icon.dark:hover::after {
  background: #8a8a8a;
  box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
}

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

.tooltip {
  background-color: #535353;
  color: #ffffff;
  font-size: 80%;
  padding: 0.75rem;
  position: absolute;
  z-index: 10;
  top: calc(100% + 0.6495rem);
  max-width: 10rem !important;
  border-radius: 0;
}

.tooltip::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  border-color: transparent transparent #535353;
  border-bottom-style: solid;
  border-top-width: 0;
  bottom: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.tooltip.top::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  border-color: #535353 transparent transparent;
  border-top-style: solid;
  border-bottom-width: 0;
  top: 100%;
  bottom: auto;
}

.tooltip.left::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  border-color: transparent transparent transparent #535353;
  border-left-style: solid;
  border-right-width: 0;
  bottom: auto;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
}

.tooltip.right::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  border-color: transparent #535353 transparent transparent;
  border-right-style: solid;
  border-left-width: 0;
  bottom: auto;
  left: auto;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
}

.top-bar {
  padding: 0.5rem;
}

.top-bar::before, .top-bar::after {
  content: ' ';
  display: table;
}

.top-bar::after {
  clear: both;
}

.top-bar,
.top-bar ul {
  background-color: #f2f2f2;
}

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

@media screen and (min-width: 40em) {
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: auto;
  }
}

@media screen and (max-width: 63.9375em) {
  .top-bar.stacked-for-medium .top-bar-left,
  .top-bar.stacked-for-medium .top-bar-right {
    width: 100%;
  }
}

@media screen and (max-width: 74.9375em) {
  .top-bar.stacked-for-large .top-bar-left,
  .top-bar.stacked-for-large .top-bar-right {
    width: 100%;
  }
}

.top-bar-title {
  float: left;
  margin-right: 1rem;
}

.top-bar-left {
  float: left;
}

.top-bar-right {
  float: right;
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.clearfix::before, .clearfix::after {
  content: ' ';
  display: table;
}

.clearfix::after {
  clear: both;
}

@font-face {
  font-family: 'icomoon';
  src: url("../Fonts/icomoon.eot?h4u0fk");
  src: url("../Fonts/icomoon.eot?h4u0fk#iefix") format("embedded-opentype"), url("../Fonts/icomoon.woff2?h4u0fk") format("woff2"), url("../Fonts/icomoon.ttf?h4u0fk") format("truetype"), url("../Fonts/icomoon.woff?h4u0fk") format("woff"), url("../Fonts/icomoon.svg?h4u0fk#icomoon") format("svg");
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: normal;
  font-style: normal;
}

.icon {
  display: inline-block;
}

.icon.burger {
  padding: 0;
}

.icon.burger:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.check {
  padding: 0;
}

.icon.check:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.left {
  padding: 0;
}

.icon.left:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.right {
  padding: 0;
}

.icon.right:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.down {
  padding: 0;
}

.icon.down:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.up {
  padding: 0;
}

.icon.up:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.search {
  padding: 0;
}

.icon.search:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.quote {
  padding: 0;
}

.icon.quote:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.minus {
  padding: 0;
}

.icon.minus:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.plus {
  padding: 0;
}

.icon.plus:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.acrobat {
  padding: 0;
}

.icon.acrobat:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.quotend {
  padding: 0;
}

.icon.quotend:after {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.mail {
  padding: 0;
}

.icon.mail:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.dot {
  padding: 0;
}

.icon.dot:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.dotactive {
  padding: 0;
}

.icon.dotactive:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.download {
  padding: 0;
}

.icon.download:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.info {
  padding: 0;
}

.icon.info:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.phone {
  padding: 0;
}

.icon.phone:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.link {
  padding: 0;
}

.icon.link:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.close {
  padding: 0;
}

.icon.close:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.twitter {
  padding: 0;
}

.icon.twitter:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.facebook {
  padding: 0;
}

.icon.facebook:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.icon.google {
  padding: 0;
}

.icon.google:before {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.bg1 {
  background-color: #00664a;
}

.bg2 {
  background-color: #535353;
}

.bg3 {
  background-color: #ffffff;
}

.bg4 {
  background-color: #e63429;
}

.bg5 {
  background-color: #ab62ac;
}

.bg6 {
  background-color: #e68291;
}

.bg7 {
  background-color: #f4bf4a;
}

.bg8 {
  background-color: #fd3651;
}

.bg9 {
  background-color: #f2f2f2;
}

.co1 {
  color: #00664a;
}

.co2 {
  color: #535353;
}

.co3 {
  color: #ffffff;
}

.co4 {
  color: #e63429;
}

.co5 {
  color: #ab62ac;
}

.co6 {
  color: #e68291;
}

.co7 {
  color: #f4bf4a;
}

.co8 {
  color: #fd3651;
}

.off-canvas-content .h1, .h1, .off-canvas-content .svg-h1, .svg-h1, .off-canvas-content .h2, .h2, .off-canvas-content .svg-h2, .svg-h2, .off-canvas-content .h3, .h3, .off-canvas-content .svg-h3, .svg-h3, .off-canvas-content .h4, .h4, .search-result ol li a, .search-result ul li a, .off-canvas-content .svg-h4, .svg-h4, .off-canvas-content .h5, .h5, .off-canvas-content .svg-h5, .svg-h5, .off-canvas-content .svg-s, .svg-s {
  font-family: "Helvetica Neue LT W0687HvCnObl", Arial, sans-serif;
}

.off-canvas-content .s, .s, .headersearch, .headersearch .icon.box, .headersearch input, .headersearch button, .search-result ol li, .search-result ul li, .select-style, .select-style select, .tabs a, .accordion-title, .search-style, .search-style input, .button, .off-canvas-content .z, .z, blockquote {
  font-family: "Helvetica Neue LT W0667MdCnObl", Arial, sans-serif;
}

.columns ul li strong {
  font-family: "Helvetica Neue LT W06_87 Hv Cn", Arial, sans-serif;
}

.off-canvas-content p, .off-canvas-content .c, .c, .typo3-neos-nodetypes-text ul li, .typo3-neos-nodetypes-text ol li, .contact-form, .contact-form input, .contact-form select, .contact-form textarea, .contact-form option, .contact-form a, .search-result, .search-result ol li p, .search-result ul li p, .search-result ol li .breadcrumb, .search-result ul li .breadcrumb, .search-result ol li .breadcrumb span, .search-result ul li .breadcrumb span, .search-result ol li .breadcrumb a, .search-result ul li .breadcrumb a, .navs-elements ul.navs li.navs-element, .navs-elements ul.navs li.navs-element a, .contact-frame label, .off-canvas-content .pflicht, .off-canvas-content .pflicht a, .off-canvas-content .pflicht p, .pflicht, .pflicht a, .pflicht p, .off-canvas-content .svg-c, .svg-c, .off-canvas nav .vertical.dropdown.menu li a, #widemenu.top-bar ul.level1 > li, #widemenu.top-bar ul.level1 > li > a, .columns ul li, ul.small li, ul.small li a, ul.big li, ul.big li a {
  font-family: "Helvetica Neue LT W06_67 Md Cn", Arial, sans-serif;
}

footer, footer .left, footer .left a, footer .right ul li, footer .right ul li a {
  font-family: "Helvetica Neue LT W06_47 Lt Cn", Arial, sans-serif;
}

.off-canvas-content p, .off-canvas-content .c, .c, .typo3-neos-nodetypes-text ul li, .typo3-neos-nodetypes-text ol li, .contact-form, .contact-form input, .contact-form select, .contact-form textarea, .contact-form option, .contact-form a, .search-result, .search-result ol li p, .search-result ul li p, .search-result ol li .breadcrumb, .search-result ul li .breadcrumb, .search-result ol li .breadcrumb span, .search-result ul li .breadcrumb span, .search-result ol li .breadcrumb a, .search-result ul li .breadcrumb a, .navs-elements ul.navs li.navs-element, .navs-elements ul.navs li.navs-element a, .contact-frame label {
  font-size: 1.28571rem;
  line-height: 1.42857rem;
}

@media screen and (min-width: 40em) {
  .off-canvas-content p, .off-canvas-content .c, .c, .typo3-neos-nodetypes-text ul li, .typo3-neos-nodetypes-text ol li, .contact-form, .contact-form input, .contact-form select, .contact-form textarea, .contact-form option, .contact-form a, .search-result, .search-result ol li p, .search-result ul li p, .search-result ol li .breadcrumb, .search-result ul li .breadcrumb, .search-result ol li .breadcrumb span, .search-result ul li .breadcrumb span, .search-result ol li .breadcrumb a, .search-result ul li .breadcrumb a, .navs-elements ul.navs li.navs-element, .navs-elements ul.navs li.navs-element a, .contact-frame label {
    font-size: 1.42857rem;
    line-height: 1.78571rem;
  }
}

@media screen and (min-width: 64em) {
  .off-canvas-content p, .off-canvas-content .c, .c, .typo3-neos-nodetypes-text ul li, .typo3-neos-nodetypes-text ol li, .contact-form, .contact-form input, .contact-form select, .contact-form textarea, .contact-form option, .contact-form a, .search-result, .search-result ol li p, .search-result ul li p, .search-result ol li .breadcrumb, .search-result ul li .breadcrumb, .search-result ol li .breadcrumb span, .search-result ul li .breadcrumb span, .search-result ol li .breadcrumb a, .search-result ul li .breadcrumb a, .navs-elements ul.navs li.navs-element, .navs-elements ul.navs li.navs-element a, .contact-frame label {
    font-size: 1.57143rem;
    line-height: 2.14286rem;
  }
}

.off-canvas-content .pflicht, .off-canvas-content .pflicht a, .off-canvas-content .pflicht p, .pflicht, .pflicht a, .pflicht p {
  font-size: 1rem;
  line-height: 1.2;
}

.off-canvas-content .svg-c, .svg-c, .off-canvas nav .vertical.dropdown.menu li a {
  font-size: 1.57143rem;
  line-height: 2.14286rem;
}

#widemenu.top-bar ul.level1 > li, #widemenu.top-bar ul.level1 > li > a {
  font-size: 1.35714rem;
  line-height: 1.2em;
}

@media screen and (min-width: 40em) {
  #widemenu.top-bar ul.level1 > li, #widemenu.top-bar ul.level1 > li > a {
    font-size: 1.64286rem;
  }
}

@media screen and (min-width: 64em) {
  #widemenu.top-bar ul.level1 > li, #widemenu.top-bar ul.level1 > li > a {
    font-size: 1.92857rem;
  }
}

footer, footer .left, footer .left a, footer .right ul li, footer .right ul li a {
  font-size: 0.85714rem;
  line-height: 1.2em;
}

@media screen and (min-width: 40em) {
  footer, footer .left, footer .left a, footer .right ul li, footer .right ul li a {
    font-size: 1rem;
  }
}

@media screen and (min-width: 64em) {
  footer, footer .left, footer .left a, footer .right ul li, footer .right ul li a {
    font-size: 1.14286rem;
  }
}

.off-canvas-content .h1, .h1 {
  font-size: 2.85714rem;
  line-height: 3.92857rem;
}

@media screen and (min-width: 40em) {
  .off-canvas-content .h1, .h1 {
    font-size: 4.28571rem;
    line-height: 5.35714rem;
  }
}

@media screen and (min-width: 64em) {
  .off-canvas-content .h1, .h1 {
    font-size: 5rem;
    line-height: 6.07143rem;
  }
}

.off-canvas-content .svg-h1, .svg-h1 {
  font-size: 5rem;
  line-height: 5rem;
}

.off-canvas-content .h2, .h2 {
  font-size: 1.78571rem;
  line-height: 2.85714rem;
}

@media screen and (min-width: 40em) {
  .off-canvas-content .h2, .h2 {
    font-size: 2.14286rem;
    line-height: 3.21429rem;
  }
}

@media screen and (min-width: 64em) {
  .off-canvas-content .h2, .h2 {
    font-size: 2.5rem;
    line-height: 3.57143rem;
  }
}

.off-canvas-content .svg-h2, .svg-h2 {
  font-size: 2.5rem;
  line-height: 2.85714rem;
}

.off-canvas-content .h3, .h3 {
  font-size: 2.5rem;
  line-height: 3.57143rem;
}

@media screen and (min-width: 40em) {
  .off-canvas-content .h3, .h3 {
    font-size: 3.21429rem;
    line-height: 4.28571rem;
  }
}

@media screen and (min-width: 64em) {
  .off-canvas-content .h3, .h3 {
    font-size: 3.92857rem;
    line-height: 5rem;
  }
}

.off-canvas-content .svg-h3, .svg-h3 {
  font-size: 3.92857rem;
  line-height: 3.42857rem;
}

.off-canvas-content .h4, .h4, .search-result ol li a, .search-result ul li a {
  font-size: 2.14286rem;
  line-height: 3.21429rem;
}

@media screen and (min-width: 40em) {
  .off-canvas-content .h4, .h4, .search-result ol li a, .search-result ul li a {
    font-size: 2.5rem;
    line-height: 3.57143rem;
  }
}

@media screen and (min-width: 64em) {
  .off-canvas-content .h4, .h4, .search-result ol li a, .search-result ul li a {
    font-size: 2.85714rem;
    line-height: 3.92857rem;
  }
}

.off-canvas-content .svg-h4, .svg-h4 {
  font-size: 2.85714rem;
  line-height: 2.5rem;
}

.off-canvas-content .h5, .h5 {
  font-size: 1.57143rem;
  line-height: 2.64286rem;
}

@media screen and (min-width: 40em) {
  .off-canvas-content .h5, .h5 {
    font-size: 1.78571rem;
    line-height: 2.85714rem;
  }
}

@media screen and (min-width: 64em) {
  .off-canvas-content .h5, .h5 {
    font-size: 2.14286rem;
    line-height: 3.21429rem;
  }
}

.off-canvas-content .svg-h5, .svg-h5 {
  font-size: 2.14286rem;
  line-height: 1.78571rem;
}

.columns ul li, ul.small li, ul.small li a, ul.big li, ul.big li a {
  font-size: 1.28571rem;
  line-height: 1.42857rem;
}

@media screen and (min-width: 40em) {
  .columns ul li, ul.small li, ul.small li a, ul.big li, ul.big li a {
    font-size: 1.42857rem;
    line-height: 1.78571rem;
  }
}

@media screen and (min-width: 64em) {
  .columns ul li, ul.small li, ul.small li a, ul.big li, ul.big li a {
    font-size: 1.57143rem;
    line-height: 2.14286rem;
  }
}

.columns ul li strong {
  font-size: 1.28571rem;
  line-height: 1.42857rem;
}

@media screen and (min-width: 40em) {
  .columns ul li strong {
    font-size: 1.42857rem;
    line-height: 1.78571rem;
  }
}

@media screen and (min-width: 64em) {
  .columns ul li strong {
    font-size: 1.57143rem;
    line-height: 2.14286rem;
  }
}

.off-canvas-content .s, .s, .headersearch, .headersearch .icon.box, .headersearch input, .headersearch button, .search-result ol li, .search-result ul li {
  font-size: 1.42857rem;
  line-height: 2.5rem;
}

@media screen and (min-width: 40em) {
  .off-canvas-content .s, .s, .headersearch, .headersearch .icon.box, .headersearch input, .headersearch button, .search-result ol li, .search-result ul li {
    font-size: 1.78571rem;
    line-height: 2.85714rem;
  }
}

@media screen and (min-width: 64em) {
  .off-canvas-content .s, .s, .headersearch, .headersearch .icon.box, .headersearch input, .headersearch button, .search-result ol li, .search-result ul li {
    font-size: 2.14286rem;
    line-height: 3.21429rem;
  }
}

.off-canvas-content .svg-s, .svg-s {
  font-size: 2.14286rem;
  line-height: 3.21429rem;
}

.select-style, .select-style select, .tabs a, .accordion-title, .search-style, .search-style input, .button {
  font-size: 1.42857rem;
  line-height: 2.5rem;
}

@media screen and (min-width: 40em) {
  .select-style, .select-style select, .tabs a, .accordion-title, .search-style, .search-style input, .button {
    font-size: 1.78571rem;
    line-height: 2.85714rem;
  }
}

@media screen and (min-width: 64em) {
  .select-style, .select-style select, .tabs a, .accordion-title, .search-style, .search-style input, .button {
    font-size: 2.14286rem;
    line-height: 3.21429rem;
  }
}

.off-canvas-content .z, .z, blockquote {
  font-size: 1.78571rem;
  line-height: 2.5rem;
}

@media screen and (min-width: 40em) {
  .off-canvas-content .z, .z, blockquote {
    font-size: 2.5rem;
    line-height: 3.21429rem;
  }
}

@media screen and (min-width: 64em) {
  .off-canvas-content .z, .z, blockquote {
    font-size: 2.85714rem;
    line-height: 3.92857rem;
  }
}

.off-canvas-content p, .off-canvas-content .c {
  line-height: 1.2;
}

.off-canvas-content .s {
  line-height: 1.2;
}

.off-canvas-content .z {
  line-height: 1.2;
}

.off-canvas-content .h1 {
  line-height: 1.2;
}

.off-canvas-content .h2 {
  line-height: 1.2;
}

.off-canvas-content .h3 {
  line-height: 1.2;
}

.off-canvas-content .h4 {
  line-height: 1.2;
}

.off-canvas-content .h5 {
  line-height: 1.2;
}

.off-canvas-content .svg-s {
  line-height: 1.2;
}

.off-canvas-content .svg-c {
  line-height: 1.2;
}

.columns ul {
  margin-bottom: 1.42857rem;
}

.typo3-neos-nodetypes-text ul, .typo3-neos-nodetypes-text ol {
  margin-left: 2.5rem;
}

.rowouter .row, .rowouter.row {
  max-width: none;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

.neos-nodetypes-text a {
  color: #00674a;
}

.neos-nodetypes-text a:hover {
  color: #a3d55c;
}

.full {
  margin-bottom: 3.57143rem;
}

.fullscreen {
  display: inline-block;
}

.textcenter {
  text-align: center;
}

.textright {
  text-align: right;
}

.textleft {
  text-align: left;
}

.large-legal {
  display: none;
  font-size: 3rem;
  background: #FFFFFF;
  width: 100%;
  margin-bottom: 0;
}

.large-legal.fix {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9998;
}

.large-legal .cell {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  padding: 0 10px;
}

@media screen and (max-width: 39.9375em) {
  .large-legal {
    font-size: 1.42857rem;
  }
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .large-legal {
    font-size: 1.92857rem;
  }
}

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .large-legal {
    font-size: 2.28571rem;
  }
}

.ua .large-legal {
  display: table;
}

footer {
  display: inline-block;
  padding: 1.42857rem 0;
  width: 100%;
}

footer .left {
  padding-top: 2.5rem;
}

@media screen and (max-width: 39.9375em) {
  footer .left {
    text-align: center;
  }
}

footer .left a {
  text-decoration: underline;
}

footer .center {
  padding-top: 1.42857rem;
  text-align: center;
}

footer .right {
  padding-top: 2.5rem;
  text-align: right;
}

@media screen and (max-width: 39.9375em) {
  footer .right {
    text-align: center;
  }
}

footer .right ul {
  float: right;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (max-width: 39.9375em) {
  footer .right ul {
    float: none;
    display: inline-block;
  }
}

footer .right ul li {
  padding-left: 2.14286rem;
  float: left;
}

@media screen and (max-width: 39.9375em) {
  footer .right ul li {
    display: inline;
    padding-left: 1.07143rem;
    padding-right: 1.07143rem;
  }
}

label {
  color: inherit;
}

.row {
  padding-left: 0.71429rem;
  padding-right: 0.71429rem;
  box-sizing: border-box;
}

.row .row {
  margin-left: -1.07143rem;
  margin-right: -1.07143rem;
}

.column, .columns, .columns {
  padding-left: .71429rem !important;
  padding-right: .71429rem !important;
}

.medium-12.padding {
  padding-left: 0.71429rem;
  padding-right: 0.71429rem;
}

.framepadding {
  padding-top: 5.71429rem;
  padding-bottom: 5.71429rem;
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .framepadding {
    padding-top: 3.57143rem;
    padding-bottom: 3.57143rem;
  }
}

@media screen and (max-width: 39.9375em) {
  .framepadding {
    padding-top: 1.42857rem;
    padding-bottom: 1.42857rem;
  }
}

#sticky-wrapper {
  display: block;
}

#sticky-wrapper .title-bar {
  z-index: 100000 !important;
}

@media screen and (min-width: 64em) {
  #sticky-wrapper {
    display: none;
  }
}

#widemenu-sticky-wrapper {
  display: none;
}

#widemenu-sticky-wrapper #widemenu {
  z-index: 100000 !important;
}

@media screen and (min-width: 64em) {
  #widemenu-sticky-wrapper {
    display: block;
  }
}

.is-sticky {
  position: relative;
}

.ie.square .off-canvas-wrapper {
  overflow-y: hidden;
}

.clearfix:after {
  content: ".";
  clear: both;
  display: block;
  visibility: hidden;
  height: 0px;
}

/*

$fieldset-border
$fieldset-padding
$fieldset-margin
$legend-padding
$form-spacing
$helptext-color
$helptext-font-size
$helptext-font-style
$input-prefix-color
$input-prefix-background
$input-prefix-border
$input-prefix-padding
$form-label-color
$form-label-font-size
$form-label-font-weight
$form-label-line-height
$select-background
$select-triangle-color
$select-radius
$input-color
$input-placeholder-color
$input-font-family
$input-font-size
$input-background
$input-background-focus
$input-background-disabled
$input-border
$input-border-focus
$input-shadow
$input-shadow-focus
$input-cursor-disabled
$input-transition
$input-number-spinners
$input-radius
$meter-height
$meter-radius
$meter-background
$meter-fill-good
$meter-fill-medium
$meter-fill-bad
$progress-height
$progress-background
$progress-margin-bottom
$progress-meter-background
$progress-radius
$slider-height
$slider-background
$slider-fill-background
$slider-handle-height
$slider-handle-width
$slider-handle-background
$slider-opacity-disabled
$slider-radius

*/
.select-style {
  position: relative;
  display: initial;
  height: 3.28571rem;
  line-height: 3.28571rem;
}

.select-style label {
  cursor: pointer;
  pointer-events: none;
  position: absolute;
  /* let the click pass trough */
  top: 50%;
  transform: translate(0, -50%);
  font-size: inherit;
}

.select-style label.left {
  padding: 0;
  left: 0.57143rem;
}

.select-style label.right {
  padding: 0;
  right: 1.07143rem;
}

.select-style select {
  cursor: pointer;
  box-sizing: border-box;
  height: 3.28571rem;
  line-height: 3.28571rem;
  background-image: none;
  padding-left: 2.85714rem;
  padding-right: 3.57143rem;
  padding-bottom: 0;
  padding-top: 0;
  -webkit-appearance: none;
  appearance: none;
  margin-bottom: 0;
}

.contact-form {
  text-align: center;
  position: relative;
}

.contact-form .error-message {
  color: #e63429;
  display: none;
}

.contact-form .error {
  border: 0.07143rem solid #e63429 !important;
}

.contact-form .button {
  line-height: 2.57143rem;
  padding-right: 1.78571rem;
}

.contact-form textarea {
  min-height: 21.42857rem;
}

.contact-form select {
  padding-top: 0;
  padding-bottom: 0;
}

.contact-form .centered {
  position: relative;
}

.contact-form .centered span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.contact-form h3, .contact-form .h3 {
  margin-bottom: 0;
}

.contact-form .contact-frame {
  text-align: left;
  padding-top: 1.42857rem;
  border-top: 0.28571rem solid #ffffff;
}

.contact-form .contact-frame .iconright {
  display: inline-block;
}

.contact-form .contact-frame .iconright:after {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.contact-form .contact-frame .iconright:after {
  position: relative;
  right: 2.07143rem;
  top: 0.28571rem;
  color: #fff;
}

.contact-form .contact-frame select {
  color: #535353;
}

.contact-form .contact-frame select option {
  color: #535353;
}

.contact-form .contact-frame select.selected {
  color: #535353;
}

.contact-form .contact-frame .row {
  margin-top: 30px;
  max-height: 214.28571rem;
  overflow-y: hidden;
  overflow-x: hidden;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  transition: all 0.5s ease-in-out;
}

.contact-form .contact-frame .row.hidden {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  max-height: 0;
}

.contact-form .rounded {
  margin: 0 auto;
  cursor: pointer;
  position: relative;
  top: 2rem;
  transition: background-color 0.2s ease-in-out;
}

.contact-form .rounded.bg1 {
  border-radius: 50%;
  box-sizing: border-box;
  border: 0.07143rem solid #00664a;
  background-color: #00664a;
  overflow: hidden;
  height: 3.57143rem;
  width: 3.57143rem;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  color: #ffffff;
}

.contact-form .rounded.bg1:hover {
  background-color: #004d38;
}

.contact-form .rounded.bg2 {
  border-radius: 50%;
  box-sizing: border-box;
  border: 0.07143rem solid #535353;
  background-color: #535353;
  overflow: hidden;
  height: 3.57143rem;
  width: 3.57143rem;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  color: #ffffff;
}

.contact-form .rounded.bg2:hover {
  background-color: #464646;
}

.contact-form .rounded.bg3 {
  border-radius: 50%;
  box-sizing: border-box;
  border: 0.07143rem solid #ffffff;
  background-color: #ffffff;
  overflow: hidden;
  height: 3.57143rem;
  width: 3.57143rem;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  color: #ffffff;
}

.contact-form .rounded.bg3:hover {
  background-color: #f2f2f2;
}

.contact-form .rounded.bg4 {
  border-radius: 50%;
  box-sizing: border-box;
  border: 0.07143rem solid #e63429;
  background-color: #e63429;
  overflow: hidden;
  height: 3.57143rem;
  width: 3.57143rem;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  color: #ffffff;
}

.contact-form .rounded.bg4:hover {
  background-color: #dc251a;
}

.contact-form .rounded.bg5 {
  border-radius: 50%;
  box-sizing: border-box;
  border: 0.07143rem solid #ab62ac;
  background-color: #ab62ac;
  overflow: hidden;
  height: 3.57143rem;
  width: 3.57143rem;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  color: #ffffff;
}

.contact-form .rounded.bg5:hover {
  background-color: #9f55a0;
}

.contact-form .rounded.bg6 {
  border-radius: 50%;
  box-sizing: border-box;
  border: 0.07143rem solid #e68291;
  background-color: #e68291;
  overflow: hidden;
  height: 3.57143rem;
  width: 3.57143rem;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  color: #ffffff;
}

.contact-form .rounded.bg6:hover {
  background-color: #e26d7e;
}

.contact-form .rounded.bg7 {
  border-radius: 50%;
  box-sizing: border-box;
  border: 0.07143rem solid #f4bf4a;
  background-color: #f4bf4a;
  overflow: hidden;
  height: 3.57143rem;
  width: 3.57143rem;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  color: #ffffff;
}

.contact-form .rounded.bg7:hover {
  background-color: #f3b732;
}

.contact-form .rounded.bg8 {
  border-radius: 50%;
  box-sizing: border-box;
  border: 0.07143rem solid #fd3651;
  background-color: #fd3651;
  overflow: hidden;
  height: 3.57143rem;
  width: 3.57143rem;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  color: #ffffff;
}

.contact-form .rounded.bg8:hover {
  background-color: #fd1d3b;
}

.contact-form .rounded.bg9 {
  border-radius: 50%;
  box-sizing: border-box;
  border: 0.07143rem solid #f2f2f2;
  background-color: #f2f2f2;
  overflow: hidden;
  height: 3.57143rem;
  width: 3.57143rem;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  color: #ffffff;
}

.contact-form .rounded.bg9:hover {
  background-color: #e5e5e5;
}

.contact-form.checkit h5 {
  margin-bottom: 2.85714rem;
}

.contact-form.checkit .row {
  text-align: left;
}

.contact-form [type='text'], .contact-form [type='password'], .contact-form [type='date'], .contact-form [type='datetime'], .contact-form [type='datetime-local'], .contact-form [type='month'], .contact-form [type='week'], .contact-form [type='email'], .contact-form [type='number'], .contact-form [type='search'], .contact-form [type='tel'], .contact-form [type='time'], .contact-form [type='url'], .contact-form [type='color'], .contact-form textarea, .contact-form select {
  border: 0;
}

.contact-form [type='text']:active, .contact-form [type='text']:focus, .contact-form [type='password']:active, .contact-form [type='password']:focus, .contact-form [type='date']:active, .contact-form [type='date']:focus, .contact-form [type='datetime']:active, .contact-form [type='datetime']:focus, .contact-form [type='datetime-local']:active, .contact-form [type='datetime-local']:focus, .contact-form [type='month']:active, .contact-form [type='month']:focus, .contact-form [type='week']:active, .contact-form [type='week']:focus, .contact-form [type='email']:active, .contact-form [type='email']:focus, .contact-form [type='number']:active, .contact-form [type='number']:focus, .contact-form [type='search']:active, .contact-form [type='search']:focus, .contact-form [type='tel']:active, .contact-form [type='tel']:focus, .contact-form [type='time']:active, .contact-form [type='time']:focus, .contact-form [type='url']:active, .contact-form [type='url']:focus, .contact-form [type='color']:active, .contact-form [type='color']:focus, .contact-form textarea:active, .contact-form textarea:focus, .contact-form select:active, .contact-form select:focus {
  border: 0;
}

.typo3-neos-alignment-right {
  text-align: right;
}

figure {
  margin: 0;
  padding: 0;
}

figure.focuspoint, figure.interchange-focuspoint {
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

figure.focuspoint img, figure.interchange-focuspoint img {
  display: block;
  height: auto;
  left: 0;
  margin: 0;
  max-height: none;
  /* fill and maintain aspect ratio */
  max-width: none;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 0;
  width: auto;
}

figure.focuspoint img[data-lazy-interchange], figure.interchange-focuspoint img[data-lazy-interchange] {
  height: 1px;
  visibility: hidden;
  width: 1px;
}

figure.focuspoint figcaption, figure.interchange-focuspoint figcaption {
  bottom: 0;
  left: 0;
  padding: 0.71429rem;
  position: absolute;
  right: 0;
  text-align: left;
}

.typo3-neos-alignment-center {
  text-align: center;
  margin: 0 auto;
}

@media screen and (max-width: 39.9375em) {
  .hidemobile {
    display: none !important;
  }
}

/*
$menu-margin
$menu-margin-nested
$menu-item-padding
$menu-item-color-active
$menu-item-background-active
$menu-icon-spacing


$dropdownmenu-arrows: true;
$dropdownmenu-arrow-color
$anchor-color
$dropdownmenu-min-width
$dropdownmenu-background
$dropdownmenu-border
*/
#widemenu {
  box-shadow: 0 0 10px rgba(83, 83, 83, 0.5);
  position: relative;
  z-index: 100;
  display: none;
}

@media screen and (min-width: 64em) {
  #widemenu {
    display: block;
  }
}

#widemenu.top-bar {
  background-color: #ffffff;
  min-height: 5rem;
}

#widemenu.top-bar .top-bar-left {
  min-height: 4rem;
}

#widemenu.top-bar .company-logo-left {
  position: relative;
  left: 1.42857rem;
  top: 0.35714rem;
  z-index: 1100000;
  float: left;
}

#widemenu.top-bar .company-logo-left img {
  width: auto;
  max-width: none;
  height: 1.78571rem;
}

#widemenu.top-bar nav {
  z-index: 100;
  position: absolute;
  width: 100%;
}

#widemenu.top-bar ul {
  background-color: #ffffff;
}

#widemenu.top-bar ul.level1 {
  left: 50%;
  display: inline-block;
  transform: translate(-50%, 0);
  position: relative;
}

#widemenu.top-bar ul.level1 > li {
  line-height: 2.64286rem;
  border-bottom: 0.28571rem solid #ffffff;
}

#widemenu.top-bar ul.level1 > li:hover, #widemenu.top-bar ul.level1 > li.current {
  border-bottom: 0.28571rem solid #00664a;
}

#widemenu.top-bar ul.level1 > li > a {
  line-height: 2.64286rem;
  display: block;
  padding-top: 0.64286rem;
  padding-bottom: 0.92857rem;
}

#widemenu .dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 110%;
}

.title-bar {
  display: block;
  background-color: #ffffff;
  position: relative;
  z-index: 100;
  box-shadow: 0 0 10px rgba(83, 83, 83, 0.5);
}

@media screen and (min-width: 64em) {
  .title-bar {
    display: none;
  }
}

.title-bar .title-bar-title img {
  width: auto;
  height: 1.78571rem;
}

.title-bar .menu-icon::after {
  background-color: transparent;
  box-shadow: none;
}

.off-canvas {
  z-index: 10000;
}

.off-canvas.position-left {
  width: 100%;
  left: -100%;
  top: 0;
  background-color: #ffffff;
}

.off-canvas .menu-icon {
  position: absolute;
  right: 1.07143rem;
  top: 0.71429rem;
  width: 1.78571rem;
  height: 1.78571rem;
  font-size: 1.78571rem;
}

.off-canvas .menu-icon::after {
  background-color: transparent;
  box-shadow: none;
}

.off-canvas nav {
  margin-top: 3.57143rem;
  margin-bottom: 0.71429rem;
}

.off-canvas nav .vertical.dropdown.menu {
  display: inline;
  text-align: left;
}

.off-canvas nav .vertical.dropdown.menu li a {
  padding-left: 2.5rem;
  display: inline-block;
}

.off-canvas .company-offcanvas {
  position: absolute;
  left: 1.42857rem;
  top: 0.35714rem;
}

.off-canvas .company-offcanvas img {
  width: auto;
  height: 1.78571rem;
}

@media screen and (max-width: 39.9375em) {
  .no-js .top-bar {
    display: none;
  }
}

@media screen and (min-width: 40em) {
  .no-js .title-bar {
    display: none;
  }
}

.is-open-left {
  transform: translateX(100%);
}

.title-bar-left {
  padding-left: 0.71429rem;
}

.title-bar-left .menu-icon {
  margin-right: 1.07143rem;
}

.off-canvas-content {
  box-shadow: none;
  position: relative;
}

.nav-icon {
  cursor: pointer;
  height: 1rem;
  transform: rotate(0deg);
  transition: 0.5s ease-in-out;
  width: 1.42857rem;
}

.nav-icon span {
  background: #00664a;
  border-radius: 2px;
  display: block;
  height: 0.21429rem;
  left: 0;
  opacity: 1;
  position: absolute;
  width: 100%;
  transform: rotate(0deg);
  transition: transform 0.2s ease-in-out;
}

.nav-icon span:nth-child(1) {
  top: 0;
}

.nav-icon span:nth-child(2), .nav-icon span:nth-child(3) {
  top: 0.42857rem;
}

.nav-icon span:nth-child(4) {
  top: 0.85714rem;
}

.is-open .nav-icon span:nth-child(1) {
  left: 50%;
  top: 0.14286rem;
  width: 0%;
}

.is-open .nav-icon span:nth-child(2) {
  transform: rotate(45deg);
}

.is-open .nav-icon span:nth-child(3) {
  transform: rotate(-45deg);
}

.is-open .nav-icon span:nth-child(4) {
  left: 50%;
  top: 0.14286rem;
  width: 0%;
}

/*

$tab-margin
$tab-background
$tab-background-active
$tab-item-font-size
$tab-item-background-hover
$tab-item-padding
$tab-expand-max
$tab-content-background
$tab-content-border
$tab-content-color
$tab-content-padding

*/
.tabs {
  background-color: transparent;
}

.tabs-content {
  border-top: 0.07143rem solid #535353;
  background-color: transparent;
}

/*
$accordion-background
$accordion-plusminus
$accordion-item-color
$accordion-item-background-hover
$accordion-item-padding
$accordion-content-background
$accordion-content-border
$accordion-content-color
$accordion-content-padding

*/
.accordion-title {
  padding: 0 1.42857rem;
}

.accordion-title:before {
  font-family: icomoon;
  color: 1.07143rem;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.accordion-title:before {
  margin-top: -20px;
}

.accordion-item.is-active .accordion-title:before {
  font-family: icomoon;
  color: 1.07143rem;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

ul.accordion {
  margin-bottom: 0;
  border: 0;
}

.accordion-element.c1 .accordion-title {
  color: #ffffff;
}

.accordion-element.c1 .accordion-title, .accordion-element.c1 .accordion-title:hover, .accordion-element.c1 .accordion-title:focus {
  background-color: #00664a;
}

.accordion-element.c2 .accordion-title {
  color: #ffffff;
}

.accordion-element.c2 .accordion-title, .accordion-element.c2 .accordion-title:hover, .accordion-element.c2 .accordion-title:focus {
  background-color: #535353;
}

.accordion-element.c3 .accordion-title {
  color: #535353;
}

.accordion-element.c3 .accordion-title, .accordion-element.c3 .accordion-title:hover, .accordion-element.c3 .accordion-title:focus {
  background-color: #ffffff;
}

.accordion-element.c4 .accordion-title {
  color: #ffffff;
}

.accordion-element.c4 .accordion-title, .accordion-element.c4 .accordion-title:hover, .accordion-element.c4 .accordion-title:focus {
  background-color: #e63429;
}

.accordion-element.c5 .accordion-title {
  color: #ffffff;
}

.accordion-element.c5 .accordion-title, .accordion-element.c5 .accordion-title:hover, .accordion-element.c5 .accordion-title:focus {
  background-color: #ab62ac;
}

.accordion-element.c6 .accordion-title {
  color: #ffffff;
}

.accordion-element.c6 .accordion-title, .accordion-element.c6 .accordion-title:hover, .accordion-element.c6 .accordion-title:focus {
  background-color: #e68291;
}

.accordion-element.c7 .accordion-title {
  color: #ffffff;
}

.accordion-element.c7 .accordion-title, .accordion-element.c7 .accordion-title:hover, .accordion-element.c7 .accordion-title:focus {
  background-color: #f4bf4a;
}

.accordion-element.c8 .accordion-title {
  color: #ffffff;
}

.accordion-element.c8 .accordion-title, .accordion-element.c8 .accordion-title:hover, .accordion-element.c8 .accordion-title:focus {
  background-color: #fd3651;
}

.accordion-content, .accordion-item {
  border: 0;
  border-width: 0;
  border-image-width: 0;
}

.accordion-item {
  margin-bottom: 0.71429rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.slide-out-left.mui-leave.mui-leave-active {
  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;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.spin-out-ccw.mui-leave.mui-leave-active {
  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;
}

/*


$orbit-bullet-background
$orbit-bullet-background-active
$orbit-bullet-diameter
$orbit-bullet-margin
$orbit-bullet-margin-top
$orbit-bullet-margin-bottom
$orbit-caption-background
$orbit-caption-padding
$orbit-control-background-hover
$orbit-control-padding
$orbit-control-zindex

*/
.orbit {
  padding-bottom: 3.57143rem;
}

.orbit button {
  border: none;
  outline: none;
}

.orbit .orbit-previous, .orbit .orbit-next {
  height: 100%;
  width: 25%;
  background-color: transparent !important;
  top: 50%;
  transform: translateY(-50%);
}

.orbit .orbit-previous.fixed, .orbit .orbit-next.fixed {
  top: 21.42857rem;
}

.orbit .orbit-previous.buttonallways, .orbit .orbit-previous.buttonbelow, .orbit .orbit-next.buttonallways, .orbit .orbit-next.buttonbelow {
  height: 10.71429rem;
  width: 3.57143rem;
}

.orbit .orbit-previous .icon, .orbit .orbit-next .icon {
  transition: opacity 0.2s ease-in-out;
  font-size: 2.14286rem;
  font-weight: bold;
}

.orbit .orbit-previous.buttonbelow, .orbit .orbit-next.buttonbelow {
  top: auto;
  transform: translateY(0%);
  bottom: -2.5rem;
}

.orbit .orbit-previous .icon.left {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  position: absolute;
  left: 0;
}

.orbit .orbit-previous:hover .icon.left, .orbit .orbit-previous.buttonallways .icon.left {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
}

.orbit .orbit-next .icon.right {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  position: absolute;
  right: 0;
}

.orbit .orbit-next:hover .icon.right, .orbit .orbit-next.buttonallways .icon.right {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
}

.orbit .orbit-bullets {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
}

.orbit .orbit-bullets button {
  width: 0.71429rem;
  height: 0.71429rem;
  padding-top: 0;
  padding-bottom: 0;
}

.orbit .orbit-bullets button.is-active {
  width: 1.14286rem;
  height: 1.14286rem;
  padding-top: 0.21429rem;
  padding-bottom: 0.21429rem;
}

.orbit.c1 .orbit-previous .icon, .orbit.c1 .orbit-next .icon {
  color: #00664a;
}

.orbit.c1 .orbit-bullets button {
  background-color: #00664a;
}

.orbit.c2 .orbit-previous .icon, .orbit.c2 .orbit-next .icon {
  color: #535353;
}

.orbit.c2 .orbit-bullets button {
  background-color: #535353;
}

.orbit.c3 .orbit-previous .icon, .orbit.c3 .orbit-next .icon {
  color: #ffffff;
}

.orbit.c3 .orbit-bullets button {
  background-color: #ffffff;
}

.orbit.c4 .orbit-previous .icon, .orbit.c4 .orbit-next .icon {
  color: #e63429;
}

.orbit.c4 .orbit-bullets button {
  background-color: #e63429;
}

.orbit.c5 .orbit-previous .icon, .orbit.c5 .orbit-next .icon {
  color: #ab62ac;
}

.orbit.c5 .orbit-bullets button {
  background-color: #ab62ac;
}

.orbit.c6 .orbit-previous .icon, .orbit.c6 .orbit-next .icon {
  color: #e68291;
}

.orbit.c6 .orbit-bullets button {
  background-color: #e68291;
}

.orbit.c7 .orbit-previous .icon, .orbit.c7 .orbit-next .icon {
  color: #f4bf4a;
}

.orbit.c7 .orbit-bullets button {
  background-color: #f4bf4a;
}

.orbit.c8 .orbit-previous .icon, .orbit.c8 .orbit-next .icon {
  color: #fd3651;
}

.orbit.c8 .orbit-bullets button {
  background-color: #fd3651;
}

.orbit.c9 .orbit-previous .icon, .orbit.c9 .orbit-next .icon {
  color: #f2f2f2;
}

.orbit.c9 .orbit-bullets button {
  background-color: #f2f2f2;
}

/* Orbit Fix */
.autoheight .orbit-slide {
  max-height: initial !important;
}

.autoheight .orbit-container {
  height: auto !important;
}

.headersearch {
  position: relative;
  z-index: 150;
  padding-right: 0.71429rem;
}

.headersearch .menu {
  padding-right: 1.07143rem;
  display: none;
}

.headersearch .icon {
  cursor: pointer;
}

.headersearch .icon.box {
  line-height: 2.78571rem;
  padding: 0.5rem 1.07143rem 0 0;
}

.headersearch button {
  margin-left: 1.07143rem;
  padding-right: 1.42857rem;
  border-right: 0.07143rem solid #cacaca;
  margin-right: 1.42857rem;
}

.headersearch input[type=search] {
  width: 28.57143rem;
  max-width: 100%;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 2.78571rem;
  border-left: 0;
  border-top: 0;
  border-right: 0;
  box-shadow: none;
}

.headersearch.mobile {
  display: inline-block;
  margin: 1.42857rem auto;
  text-align: center;
  width: 100%;
  padding-left: 1.42857rem;
  padding-right: 1.42857rem;
}

.headersearch.mobile input[type=search] {
  width: calc(100% - 65px);
  float: left;
}

.headersearch.mobile .buttonsearch {
  float: right;
}

.headersearch.mobile button {
  border-right: 0;
  padding-right: 0;
  margin-right: 0;
}

.headersearch.mobile .menu {
  display: inline !important;
  padding-left: 0.71429rem;
}

.headersearch.mobile .menu li {
  display: inline;
}

.search-style {
  position: relative;
}

@media screen and (max-width: 39.9375em) {
  .search-style {
    margin-bottom: 1.42857rem;
  }
}

.search-style .searchicon {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translate(0, -50%);
  line-height: 100%;
}

.search-style input {
  line-height: 3.28571rem;
  height: 3.28571rem;
  margin-bottom: 0;
}

.search-result .list {
  margin-top: 5.71429rem;
  margin-bottom: 3.57143rem;
}

.search-result em {
  font-weight: bold;
  font-style: normal;
}

.search-result .resultsrow, .search-result .resultslist {
  margin-top: 5.71429rem;
}

.search-result .submitprevform {
  height: 3.28571rem;
}

.search-result ol, .search-result ul {
  margin-top: 1.42857rem;
  margin-left: 0;
}

.search-result ol li, .search-result ul li {
  list-style: none;
  margin-bottom: 3.57143rem;
}

.search-result ol li a, .search-result ul li a {
  color: #00664a;
}

.search-result ol li p, .search-result ul li p {
  margin-top: 1.42857rem;
  margin-bottom: 1.42857rem;
}

.search-result ol li .breadcrumb span, .search-result ul li .breadcrumb span {
  margin-right: 0.71429rem;
}

.search-result ol li .breadcrumb a, .search-result ul li .breadcrumb a {
  color: #00664a;
}

.stagemobile {
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  display: block;
  background-size: cover;
}

.stagemobile.top {
  background-position: top center;
}

.stagemobile.bottom {
  background-position: bottom center;
}

.stagemobile.left {
  background-position: center left;
}

.stagemobile.right {
  background-position: center right;
}

.stage {
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  width: 100%;
}

.stage.top {
  background-position: top center;
}

.stage.bottom {
  background-position: bottom center;
}

.stage.left {
  background-position: center left;
}

.stage.right {
  background-position: center right;
}

.stage .innercontent .row {
  padding-left: 0;
  padding-left: 0;
}

.stage .innercontent .row .row {
  padding-left: 0.71429rem;
  padding-right: 0.71429rem;
}

@media screen and (max-width: 39.9375em) {
  .stage .innercontent.textleft div {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

.stage .innercontent.textcenter {
  text-align: center;
}

@media screen and (max-width: 39.9375em) {
  .stage .innercontent.textcenter {
    text-align: left;
  }
  .stage .innercontent.textcenter div {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

.stage .innercontent.textright {
  text-align: right;
}

@media screen and (max-width: 39.9375em) {
  .stage .innercontent.textright {
    text-align: left;
  }
  .stage .innercontent.textright div {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

.stage .horizontal.center, .stage .horizontal.textcenter {
  margin: 0 auto;
}

@media screen and (max-width: 39.9375em) {
  .stage .horizontal.center, .stage .horizontal.textcenter {
    margin: 0;
  }
}

.stage .horizontal.right, .stage .horizontal.textright {
  float: right;
}

@media screen and (max-width: 39.9375em) {
  .stage .horizontal.right, .stage .horizontal.textright {
    float: left;
  }
}

@media screen and (max-width: 39.9375em) {
  .stage .horizontal {
    max-width: 100% !important;
  }
}

.stage .table {
  display: table;
  width: 100%;
}

.stage .cell {
  display: table-cell;
  height: 100%;
  padding: 3.57143rem;
}

@media screen and (max-width: 39.9375em) {
  .stage .cell {
    padding: 1.42857rem;
  }
}

.stage .cell.middle {
  vertical-align: middle;
}

.stage .cell.bottom {
  vertical-align: bottom;
}

#stage.breakmobile .stagemobile {
  display: block;
}

@media screen and (min-width: 40em) {
  #stage.breakmobile .stagemobile {
    background-image: none !important;
    display: none;
  }
}

@media screen and (max-width: 39.9375em) {
  #stage.breakmobile .stage {
    background-image: none !important;
    height: auto !important;
  }
  #stage.breakmobile .stage .on-the-fly-behavior {
    height: auto !important;
  }
}

#stage.breaktablet .stagemobile {
  display: block;
}

@media screen and (min-width: 64em) {
  #stage.breaktablet .stagemobile {
    background-image: none !important;
    display: none;
  }
}

@media screen and (max-width: 39.9375em) {
  #stage.breaktablet .stage {
    background-image: none !important;
    height: auto;
  }
  #stage.breaktablet .stage .on-the-fly-behavior {
    height: auto !important;
  }
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  #stage.breaktablet .stage {
    background-image: none !important;
    height: auto;
  }
  #stage.breaktablet .stage .on-the-fly-behavior {
    height: auto !important;
  }
}

.headline.c1, .headline.c1 a {
  color: #00664a;
}

.headline.c2, .headline.c2 a {
  color: #535353;
}

.headline.c3, .headline.c3 a {
  color: #ffffff;
}

.headline.c4, .headline.c4 a {
  color: #e63429;
}

.headline.c5, .headline.c5 a {
  color: #ab62ac;
}

.headline.c6, .headline.c6 a {
  color: #e68291;
}

.headline.c7, .headline.c7 a {
  color: #f4bf4a;
}

.headline.c8, .headline.c8 a {
  color: #fd3651;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: inherit;
  font-weight: inherit;
  font-style: inherit;
  font-size: inherit;
  line-height: inherit;
}

.button {
  padding: 0 1.07143rem;
  margin-bottom: 0;
}

.button .icon {
  font-size: 1.57143rem;
  line-height: 1;
}

.button.wide {
  padding: 0 1.42857rem;
  height: 3.28571rem;
  line-height: 3.28571rem;
  width: calc(100% - 2px);
  text-align: left;
  margin-left: 0.07143rem;
  position: relative;
}

.button.wide .icon {
  position: absolute;
  right: 1.07143rem;
  top: 0.78571rem;
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .button.wide {
    height: 2.92857rem;
    line-height: 2.92857rem;
  }
  .button.wide .icon {
    font-size: 1.42857rem;
    top: 0.64286rem;
  }
}

@media screen and (max-width: 39.9375em) {
  .button.wide {
    height: 2.57143rem;
    line-height: 2.57143rem;
  }
  .button.wide .icon {
    font-size: 1.28571rem;
    top: 0.57143rem;
  }
}

.button.c1 {
  background-color: #00664a;
  color: #ffffff;
}

.button.c1:hover {
  background-color: #004d38;
}

.button.c2 {
  background-color: #535353;
  color: #ffffff;
}

.button.c2:hover {
  background-color: #464646;
}

.button.c3 {
  background-color: #ffffff;
  color: #535353;
}

.button.c3:hover {
  background-color: #f2f2f2;
}

.button.c4 {
  background-color: #e63429;
  color: #ffffff;
}

.button.c4:hover {
  background-color: #dc251a;
}

.button.c5 {
  background-color: #ab62ac;
  color: #ffffff;
}

.button.c5:hover {
  background-color: #9f55a0;
}

.button.c6 {
  background-color: #e68291;
  color: #ffffff;
}

.button.c6:hover {
  background-color: #e26d7e;
}

.button.c7 {
  background-color: #f4bf4a;
  color: #ffffff;
}

.button.c7:hover {
  background-color: #f3b732;
}

.button.c8 {
  background-color: #fd3651;
  color: #ffffff;
}

.button.c8:hover {
  background-color: #fd1d3b;
}

.button.c9 {
  background-color: #f2f2f2;
  color: #ffffff;
}

.button.c9:hover {
  background-color: #e5e5e5;
}

blockquote {
  border: 0;
  margin-left: 0;
  padding: 0;
  color: #535353;
}

blockquote:before {
  font-family: icomoon;
  color: #00664a;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote:after {
  font-family: icomoon;
  color: #00664a;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote:before {
  padding-right: 0.71429rem;
  position: relative;
  top: 0.71429rem;
  left: 0;
}

blockquote:after {
  padding-left: 0.71429rem;
  position: relative;
  top: -1.07143rem;
  left: 0;
}

blockquote p {
  display: inline;
}

blockquote.c2:before {
  font-family: icomoon;
  color: #535353;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c2:after {
  font-family: icomoon;
  color: #535353;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c3:before {
  font-family: icomoon;
  color: #ffffff;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c3:after {
  font-family: icomoon;
  color: #ffffff;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c4:before {
  font-family: icomoon;
  color: #e63429;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c4:after {
  font-family: icomoon;
  color: #e63429;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c5:before {
  font-family: icomoon;
  color: #ab62ac;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c5:after {
  font-family: icomoon;
  color: #ab62ac;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c6:before {
  font-family: icomoon;
  color: #e68291;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c6:after {
  font-family: icomoon;
  color: #e68291;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c7:before {
  font-family: icomoon;
  color: #f4bf4a;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c7:after {
  font-family: icomoon;
  color: #f4bf4a;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c8:before {
  font-family: icomoon;
  color: #fd3651;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c8:after {
  font-family: icomoon;
  color: #fd3651;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c9:before {
  font-family: icomoon;
  color: #f2f2f2;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.c9:after {
  font-family: icomoon;
  color: #f2f2f2;
  font-size: 1.42857rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

blockquote.textcenter {
  text-align: center;
}

blockquote.textright {
  text-align: right;
}

ul.small {
  margin-left: 2.14286rem;
}

ul.big {
  margin-left: 2.14286rem;
}

.listelement .leftlist {
  width: 3.92857rem;
  float: left;
}

.listelement .rightlist {
  width: calc(100% - 55px);
  float: left;
}

.listelement .distance {
  margin-bottom: 1.07143rem;
  display: inline-block;
}

.row .row.listelement {
  margin-left: 0;
  margin-right: 0;
}

.listelement.row {
  margin: 0;
}

span.menuicon--facebook {
  padding-right: 5px;
}

span.menuicon--facebook:before {
  font-family: icomoon;
  color: inherit;
  font-size: 1.78571rem;
  font-style: normal;
  line-height: inherit;
  vertical-align: middle;
  content: "";
}

.scrollbar {
  padding-right: 1.42857rem;
}

.slimScrollBar {
  cursor: pointer;
}

.circle {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background-image: url(../Images/circle.png);
  background-size: cover;
  border-radius: 50%;
  overflow: hidden;
}

.circle-text {
  width: 50%;
  display: inline-block;
  position: relative;
}

.circle-text:after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  border-radius: 50%;
}

.circle-text.b1:after {
  background-color: #00664a;
}

.circle-text.b2:after {
  background-color: #535353;
}

.circle-text.b3:after {
  background-color: #ffffff;
}

.circle-text.b4:after {
  background-color: #e63429;
}

.circle-text.b5:after {
  background-color: #ab62ac;
}

.circle-text.b6:after {
  background-color: #e68291;
}

.circle-text.b7:after {
  background-color: #f4bf4a;
}

.circle-text.b8:after {
  background-color: #fd3651;
}

.circle-text.b9:after {
  background-color: #f2f2f2;
}

.circle-text div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 75%;
  text-align: center;
}

.circle-text div.c1 {
  color: #00664a;
}

.circle-text div.c2 {
  color: #535353;
}

.circle-text div.c3 {
  color: #ffffff;
}

.circle-text div.c4 {
  color: #e63429;
}

.circle-text div.c5 {
  color: #ab62ac;
}

.circle-text div.c6 {
  color: #e68291;
}

.circle-text div.c7 {
  color: #f4bf4a;
}

.circle-text div.c8 {
  color: #fd3651;
}

.circle-text div.c9 {
  color: #f2f2f2;
}

.circlecenter {
  text-align: center;
}

@media screen and (max-width: 39.9375em) {
  .circlecenter {
    text-align: center;
  }
}

.circleright {
  text-align: right;
}

@media screen and (max-width: 39.9375em) {
  .circleright {
    text-align: center;
  }
}

.circleleft {
  text-align: left;
}

@media screen and (max-width: 39.9375em) {
  .circleleft {
    text-align: center;
  }
}

svg .c1, .show-mobile .c1 {
  fill: #00664a;
  color: #00664a;
}

svg .c2, .show-mobile .c2 {
  fill: #535353;
  color: #535353;
}

svg .c3, .show-mobile .c3 {
  fill: #ffffff;
  color: #ffffff;
}

svg .c4, .show-mobile .c4 {
  fill: #e63429;
  color: #e63429;
}

svg .c5, .show-mobile .c5 {
  fill: #ab62ac;
  color: #ab62ac;
}

svg .c6, .show-mobile .c6 {
  fill: #e68291;
  color: #e68291;
}

svg .c7, .show-mobile .c7 {
  fill: #f4bf4a;
  color: #f4bf4a;
}

svg .c8, .show-mobile .c8 {
  fill: #fd3651;
  color: #fd3651;
}

svg .st1, .show-mobile .st1 {
  font-size: 34px;
  font-family: "Helvetica Neue LT W0287HvCnObl";
}

svg .st2, .show-mobile .st2 {
  font-family: "Helvetica Neue LT W0267MdCnObl";
  font-size: 25px;
}

svg .st3, .show-mobile .st3 {
  fill: none;
  stroke: #fff;
  stroke-miterlimit: 20px;
  stroke-width: 5px;
}

svg .c4 text, .show-mobile .c4 text {
  fill: "#00664a";
}

.iconmoon {
  font-family: icomoon;
  font-size: 36px;
}

.circlebackend {
  padding: 15px !important;
  border-radius: 50% !important;
  text-align: center !important;
}

.hide-mobile {
  display: none;
}

@media screen and (min-width: 40em) {
  .hide-mobile {
    display: block;
  }
}

.show-mobile {
  display: block;
}

@media screen and (min-width: 40em) {
  .show-mobile {
    display: none;
  }
}

.show-mobile.textcenter {
  text-align: center;
}

.show-mobile tspan {
  display: inline-block;
  padding-right: 0.35714rem;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  /* ratio 16x9 */
  height: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.embed-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.embed-container.ratio4x3 {
  padding-bottom: 75%;
}

.textcover {
  display: inline-block;
  display: table;
  width: 100%;
}

.textcover .imageposition {
  background-size: cover;
  background-position: center center;
}

.textcover .innerpadding {
  padding: 1.42857rem;
}

.textcover .innerpadding.imageleft {
  border-left: 0.28571rem solid #ffffff;
}

.textcover .innerpadding.imageright {
  border-right: 0.28571rem solid #ffffff;
}

.textcover .columns {
  display: table-cell;
  float: none !important;
}

.textcover .columns.large {
  min-height: 14.28571rem;
  display: block;
}

.textcover .columns.large.innerpadding {
  border: 0;
}

@media screen and (min-width: 64em) {
  .textcover .columns.large {
    display: table-cell;
  }
  .textcover .columns.large.imageleft {
    border-left: 0.28571rem solid #ffffff;
  }
  .textcover .columns.large.imageright {
    border-right: 0.28571rem solid #ffffff;
  }
}

.textcover .columns.medium {
  min-height: 14.28571rem;
  display: block;
}

.textcover .columns.medium.innerpadding {
  border: 0;
}

@media screen and (min-width: 40em) {
  .textcover .columns.medium {
    height: auto;
    display: table-cell;
  }
  .textcover .columns.medium.imageleft {
    border-left: 0.28571rem solid #ffffff;
  }
  .textcover .columns.medium.imageright {
    border-right: 0.28571rem solid #ffffff;
  }
}

.textcover .columns.small {
  min-height: 14.28571rem;
  display: block;
}

.textcover .columns.small.innerpadding {
  border: 0;
}

.navs-elements {
  display: block;
  border-bottom: 0.07143rem solid #535353;
  background-color: transparent;
  margin-bottom: 2.14286rem;
}

.navs-elements ul.navs {
  display: inline-block;
  margin-left: 0;
}

.navs-elements ul.navs li.navs-element {
  float: none;
  list-style: none;
  border-bottom: 0;
  padding-right: 2.85714rem;
  line-height: 3.57143rem;
  min-height: 2.14286rem;
}

@media screen and (min-width: 40em) {
  .navs-elements ul.navs li.navs-element {
    line-height: 2.5rem;
    float: left;
  }
}

.navs-elements ul.navs li.navs-element a {
  text-decoration: none;
  line-height: 3.21429rem;
  display: inline-block;
}

.youtubeSlide .innerslidecontent {
  position: relative;
}

.youtubeSlide .youtubeHeadline {
  position: absolute;
  top: 4.28571rem;
  right: 3.57143rem;
  width: calc(50% - 50px);
}

.youtubeSlide .youtubeHeadline.youtubeIntro-textleft {
  right: auto;
  left: 4.28571rem;
}

@media screen and (min-width: 64em) {
  .youtubeSlide .youtubeHeadline {
    display: block;
  }
}

@media screen and (max-width: 39.9375em) {
  .youtubeSlide .youtubeHeadline {
    display: none !important;
  }
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .youtubeSlide .youtubeHeadline {
    display: none !important;
  }
}

.youtubeHeadlineRow {
  display: none;
  padding-top: 3.57143rem;
  padding-bottom: 3.57143rem;
}

@media screen and (max-width: 39.9375em) {
  .youtubeHeadlineRow {
    display: block;
  }
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .youtubeHeadlineRow {
    display: block;
  }
}

.youtubeHeadlineRow .youtubeHeadlineFirst, .youtubeHeadlineRow .youtubeHeadlineSecond {
  padding-right: 0.71429rem;
}

.animate {
  animation: slideDown 0.65s ease forwards;
  animation-duration: 0.661628s;
}

@keyframes moveIt {
  0% {
  }
  100% {
    transform: translateY(0);
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes moveItOut {
  0% {
  }
  100% {
    transform: translateX(-73.14286rem);
    opacity: 1;
  }
}

@keyframes slideDown {
  0% {
    transform: translateY(-100%);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
  }
}

.ripple {
  display: inline-block;
}

.ripple-anim {
  animation: ripple 0.45s linear;
}

.ink {
  background-color: #ffffff;
  border-radius: 100%;
  display: block;
  opacity: 0.5;
  position: absolute;
  transform: scale(0);
}

@keyframes ripple {
  /*scale the element to 250% to safely cover the entire link and fade it out*/
  100% {
    opacity: 0;
    transform: scale(2.5);
  }
}

video {
  height: auto;
  margin: 0 auto;
  max-width: 137.14286rem;
  width: 100%;
}

/* responsive iframe */
.embed-container {
  /* ratio 16x9 */
  height: auto;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
}

.embed-container iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.embed-container.ratio4x3 {
  /* ratio 4x3 */
  padding-bottom: 75%;
}

.background-cover-wrapper.c1 {
  background-color: #00664a;
  color: #ffffff;
}

.background-cover-wrapper.c2 {
  background-color: #535353;
  color: #ffffff;
}

.background-cover-wrapper.c4 {
  background-color: #e63429;
  color: #ffffff;
}

.background-cover-wrapper.c5 {
  background-color: #ab62ac;
  color: #ffffff;
}

.background-cover-wrapper.c6 {
  background-color: #e68291;
  color: #ffffff;
}

.background-cover-wrapper.c7 {
  background-color: #f4bf4a;
  color: #ffffff;
}

.background-cover-wrapper.c8 {
  background-color: #fd3651;
  color: #ffffff;
}

.background-cover-wrapper.c9 {
  background-color: #f2f2f2;
  color: #535353;
}

.background-cover-wrapper .background-cover-element {
  background-repeat: no-repeat;
  background-size: cover;
  padding: 1.42857rem 0;
}

@media screen and (max-width: 39.9375em) {
  .background-cover-wrapper .background-cover-element {
    background-image: none !important;
    min-height: initial !important;
  }
}

.background-cover-wrapper .background-cover-top {
  display: none;
  background-position: center center;
  background-size: cover;
  min-height: 14.28571rem;
}

@media screen and (max-width: 39.9375em) {
  .background-cover-wrapper .background-cover-top {
    padding: 0 0 20px 0;
    display: block;
  }
}

.background-cover-wrapper.middle {
  display: table;
  width: 100%;
}

.background-cover-wrapper.middle .background-cover-element {
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

@media screen and (max-width: 39.9375em) {
  .background-cover-wrapper.middle .background-cover-element {
    margin-top: 1.42857rem;
    -ms-flex-align: start;
        align-items: flex-start;
  }
}

.background-cover-wrapper.bottom {
  display: table;
  width: 100%;
}

.background-cover-wrapper.bottom .background-cover-element {
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
}

@media screen and (max-width: 39.9375em) {
  .background-cover-wrapper.bottom .background-cover-element {
    margin-top: 1.42857rem;
    -ms-flex-align: start;
        align-items: flex-start;
  }
}

@media screen and (max-width: 39.9375em) {
  .background-cover-wrapper {
    min-height: initial !important;
  }
}

.ie .background-cover-wrapper.middle {
  display: table !important;
  width: 100%;
}

.ie .background-cover-wrapper.middle .background-cover-element {
  height: 100%;
  display: table-cell !important;
  vertical-align: middle;
}

.ie .background-cover-wrapper.bottom {
  display: table !important;
  width: 100%;
}

.ie .background-cover-wrapper.bottom .background-cover-element {
  height: 100%;
  display: table-cell !important;
  vertical-align: bottom;
}

.contact-frame label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  margin-left: 0;
  padding-right: 35px;
  margin-right: 15px;
}

.contact-frame input[type=radio],
.contact-frame input[type=checkbox] {
  display: none;
}

.contact-frame label {
  margin-bottom: 1.14286rem;
}

.contact-frame label:after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  position: absolute;
  right: 0;
  bottom: 50%;
  transform: translate(0, 50%);
  background-color: #fff;
}

.contact-frame label.checkbox {
  padding-left: 25px;
}

.contact-frame label.checkbox:after {
  margin-right: 0;
  margin-left: 10px;
  right: auto;
  bottom: auto;
  left: -10px;
  top: 0;
}

.contact-frame .radio label:after {
  border-radius: 8px;
}

.contact-frame .checkbox label {
  margin-bottom: 10px;
}

.contact-frame .checkbox label:after {
  border-radius: 3px;
}

.contact-frame input[type=radio]:checked + label:after {
  content: "\e913";
  color: #00664a;
  font-size: 22px;
  text-align: center;
  line-height: 10px;
  font-family: icomoon;
}

.contact-frame input[type=checkbox]:checked + label:before {
  font-family: icomoon;
  content: "\e913";
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  font-size: 22px;
  color: #00664a;
  text-align: center;
  line-height: 10px;
  position: absolute;
  left: 0;
  top: 8px;
  z-index: 100;
}

.cc_banner-wrapper {
  background-color: #888d8f;
  color: #fff;
  position: relative;
}

.cc_banner-wrapper .cc_container .cc_logo:hover, .cc_banner-wrapper .cc_container .cc_logo:active {
  opacity: 1;
}

.cc_banner-wrapper .cc_container {
  margin: 0 auto;
  max-width: 91.42857rem;
  overflow: hidden;
  padding: 1.07143rem 0 0.35714rem 0;
  position: relative;
  vertical-align: middle;
}

.cc_banner-wrapper .cc_inner {
  background-color: #888d8f;
  padding: 0 0.71429rem;
}

.cc_banner-wrapper .cc_message {
  color: #fff;
  display: block;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 0.85714rem;
  margin-top: 0.71429rem;
  padding-right: 5.71429rem;
}

.cc_banner-wrapper a.cc_more_info {
  color: #fff;
  text-decoration: underline;
}

.cc_banner-wrapper .cc_container a:hover, .cc_banner-wrapper .cc_container a:active {
  color: #444;
}

.cc_banner-wrapper a.cc_btn {
  background-color: #888d8f;
  border: 2px solid #fff;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  display: block;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.14286rem;
  line-height: 1.3em;
  padding: 5px;
  position: absolute;
  right: 0;
  text-align: center;
  text-decoration: none;
  top: calc(50% - 15px);
  width: 65px;
}

.cc_banner-wrapper a.cc_btn:hover {
  background-color: #fff;
  color: #444;
}

.sharebutton {
  text-align: center;
  padding-top: 1.42857rem;
  padding-bottom: 0.71429rem;
}

.sharebutton ul {
  display: inline-block;
  margin: 0;
}

.sharebutton ul li {
  list-style: none;
  float: left;
  padding-left: 0.71429rem;
  padding-right: 0.71429rem;
}

.sharebutton ul li .icon {
  font-size: 3.57143rem;
  transition: all 0.3s ease;
  height: 3.57143rem;
  line-height: 3.57143rem;
}

.sharebutton ul li a:hover .icon.co1 {
  color: #004d38;
}

.sharebutton ul li .sharetext {
  display: block;
}

.form-frame__wrapper label {
  display: none;
}

.form-frame__wrapper fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

.form-frame__wrapper fieldset .flex-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-align: start;
      align-items: flex-start;
}

.form-frame__wrapper .actions .form-navigation {
  text-align: right;
}

.form-frame__wrapper .actions .form-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (max-width: 39.9375em) {
  .form-frame__wrapper .form__field {
    display: block;
    width: 100%;
    padding: 0;
  }
  .form-frame__wrapper .form__field input, .form-frame__wrapper .form__field textarea, .form-frame__wrapper .form__field select {
    width: 100%;
  }
}

.form__field input, .form__field textarea, .form__field select {
  border: 0;
  background-color: #ffffff;
  color: #535353;
  margin-bottom: 20px;
}

.form__field input, .form__field select {
  height: 45px;
  line–height: 45px;
  padding: 0 10px;
}

.form__field textarea {
  min-height: 100px;
  padding: 10px;
}

.form__container--subject {
  width: 100%;
}

.form__container {
  width: 100%;
}

.form__container--salutation {
  width: 100%;
}

.form__container--salutation > .form__container {
  width: 33%;
  box-sizing: border-box;
  padding-right: 10px;
}

@media screen and (max-width: 39.9375em) {
  .form__container--salutation > .form__container {
    width: 100%;
    padding-right: 0;
  }
}

.form__container--name {
  width: 50%;
  padding-right: 10px;
}

.form__container--company {
  width: 50%;
  padding-left: 10px;
  text-align: right;
}

.form__container--street {
  width: 33%;
  padding-right: 10px;
}

.form__container--zip {
  width: 34%;
  padding-right: 10px;
  padding-left: 10px;
}

.form__container--city {
  width: 33%;
  padding-left: 10px;
}

.form__container--phone {
  width: 50%;
  padding-right: 10px;
}

.form__container--address {
  width: 50%;
  padding-left: 10px;
}

.form__container--message {
  width: 100%;
}

.error .help-inline {
  display: block;
  color: #b70000;
  padding-left: 1px;
  margin-bottom: 20px;
}

.error input, .error textarea, .error select {
  margin-bottom: 3px;
}

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

input::placeholder,
textarea::placeholder {
  color: #535353;
}

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

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

.error:-ms-input-placeholder {
  color: #b70000;
}

.error::placeholder {
  color: #b70000;
}

.error::-webkit-input-placeholder {
  color: #b70000;
}

.error:-moz-placeholder {
  color: #b70000;
}

.error::-moz-placeholder {
  color: #b70000;
}

.error:-ms-input-placeholder {
  color: #b70000;
}

.form-frame__wrapper .btn {
  cursor: pointer;
  position: relative;
  background-color: #00664a;
  color: #ffffff;
  border-radius: .71429rem;
  padding-left: 10px;
  padding-right: 35px;
  height: 40px;
}

.form-frame__wrapper .btn:hover {
  background-color: #004d38;
  color: #ffffff;
}

.form-frame__wrapper .btn:after {
  font-family: icomoon;
  color: inherit;
  font-size: inherit;
  font-style: inherit;
  line-height: inherit;
  vertical-align: inherit;
  content: "";
}

.form-frame__wrapper .btn:after {
  right: 10px;
  top: 10px;
  position: absolute;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0eWxlcy5jc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwic2V0dXAvX3NldHRpbmdzLnNjc3MiLCJzZXR1cC9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXgtdmlkZW8uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCJtaXhpbnMvX2Nzc2ljb24uc2NzcyIsInNraW4vX2ljb25jbGFzcy5zY3NzIiwic2tpbi9fY29sb3JjbGFzcy5zY3NzIiwic2tpbi90eXBvL190eXBvLnNjc3MiLCJza2luL3R5cG8vX2xpbmtzLnNjc3MiLCJza2luL19sYXlvdXQuc2NzcyIsIm1peGlucy9fbWl4aW5zLnNjc3MiLCJza2luL2NvbnRlbnRlbGVtZW50cy9fZm9ybS5zY3NzIiwibWl4aW5zL19yb3VuZC5zY3NzIiwic2tpbi9jb250ZW50ZWxlbWVudHMvX2ltYWdlcy5zY3NzIiwic2tpbi9jb250ZW50ZWxlbWVudHMvX25hdmkuc2NzcyIsInNraW4vY29udGVudGVsZW1lbnRzL190YWJzLnNjc3MiLCJza2luL2NvbnRlbnRlbGVtZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCJza2luL2NvbnRlbnRlbGVtZW50cy9fc2xpZGVyLnNjc3MiLCJza2luL2NvbnRlbnRlbGVtZW50cy9fc2VhcmNoLnNjc3MiLCJza2luL2NvbnRlbnRlbGVtZW50cy9fc3RhZ2Uuc2NzcyIsInNraW4vY29udGVudGVsZW1lbnRzL19oZWFkbGluZS5zY3NzIiwic2tpbi9jb250ZW50ZWxlbWVudHMvX2J1dHRvbnMuc2NzcyIsInNraW4vY29udGVudGVsZW1lbnRzL19ibG9ja3F1b3RlLnNjc3MiLCJza2luL2NvbnRlbnRlbGVtZW50cy9fbGlzdHMuc2NzcyIsInNraW4vY29udGVudGVsZW1lbnRzL19tZW51aWNvbi5zY3NzIiwic2tpbi9jb250ZW50ZWxlbWVudHMvX2N1c3RvbXNjcm9sbGJhci5zY3NzIiwic2tpbi9jb250ZW50ZWxlbWVudHMvX3JvdW5kYmFsbC5zY3NzIiwic2tpbi9jb250ZW50ZWxlbWVudHMvX3lvdXR1YmUuc2NzcyIsInNraW4vY29udGVudGVsZW1lbnRzL190ZXh0Y292ZXIuc2NzcyIsInNraW4vY29udGVudGVsZW1lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJza2luL2NvbnRlbnRlbGVtZW50cy9feW91dHViZXNsaWRlci5zY3NzIiwic2tpbi9tb2R1bGVzL19hbmltYXRpb25zLnNjc3MiLCJza2luL21vZHVsZXMvX3JpcHBsZS5zY3NzIiwic2tpbi9tb2R1bGVzL19yZXNwb25zaXZlaWZyYW1lLnNjc3MiLCJza2luL21vZHVsZXMvX2JhY2tncm91bmRjb3Zlci5zY3NzIiwic2tpbi9tb2R1bGVzL19jdXN0b21yYWRpb2NoZWNrLnNjc3MiLCJza2luL21vZHVsZXMvX2Nvb2tpZXBsdWdpbi5zY3NzIiwic2tpbi9tb2R1bGVzL19zaGFyZWJ1dHRvbnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9uL1BhaW50cy5Db250YWN0Rm9ybS9SZXNvdXJjZXMvUHJpdmF0ZS9GdXNpb24vTm9kZVR5cGVzL1NlbGVjdC9TZWxlY3Quc2NzcyIsIi4uL0Z1c2lvbi9Db21wb25lbnRzL0Zvcm0vRm9ybS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQytNRCw0RUFBNEU7QUFFNUU7Ozs7S0FJRztBQUVIO0VBQ0Usd0JBQXVCO0VBQUUsT0FBTztFQUNoQywyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU87Q0FDeEM7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLFVBQVM7Q0FDVjs7QUFFRDtrRkFDZ0Y7QUFFaEY7Ozs7O0tBS0c7QUFFSDs7Ozs7Ozs7Ozs7OztFQWFFLGVBQWM7Q0FDZjs7QUFFRDs7O0tBR0c7QUFFSDs7OztFQUlFLHNCQUFxQjtFQUFFLE9BQU87RUFDOUIseUJBQXdCO0VBQUUsT0FBTztDQUNsQzs7QUFFRDs7O0tBR0c7QUFFSDtFQUNFLGNBQWE7RUFDYixVQUFTO0NBQ1Y7O0FBRUQ7OztLQUdHO0FGOU1MOztFRWtOSSxjQUFhO0NBQ2Q7O0FBRUQ7a0ZBQ2dGO0FBRWhGOztLQUVHO0FBRUg7RUFDRSw4QkFBNkI7Q0FDOUI7O0FBRUQ7OztLQUdHO0FBRUg7O0VBRUUsV0FBVTtDQUNYOztBQUVEO2tGQUNnRjtBQUVoRjs7S0FFRztBQUVIO0VBQ0UsMEJBQXlCO0NBQzFCOztBQUVEOztLQUVHO0FBRUg7O0VBRUUsa0JB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SixtQkFBa0I7RUFDbEIsZ0JBSG1EO0NQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsaUJBSG1EO0NQbUY5Qzs7QUFNSDtFTy9ESixzQkRWcUQ7Q04yRWhEOztBQXBCRDtFS3RFSixXQ2VxRDtDTnlEaEQ7O0FBSUM7RU8zRUosbUJBQWtCO0VBQ2xCLFVBSG1EO0NQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsV0FIbUQ7Q1BtRjlDOztBQU1IO0VPL0RKLHVCRFZxRDtDTjJFaEQ7O0FBcEJEO0VLdEVKLGlCQ2VxRDtDTnlEaEQ7O0FBSUM7RU8zRUosbUJBQWtCO0VBQ2xCLGdCQUhtRDtDUCtFOUM7O0FBRUQ7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRDtDUG1GOUM7O0FBTUg7RU8vREosaUJEVnFEO0NOMkVoRDs7QUFwQkQ7RUt0RUosaUJDZXFEO0NOeURoRDs7QUFJQztFTzNFSixtQkFBa0I7RUFDbEIsZ0JBSG1EO0NQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsaUJBSG1EO0NQbUY5Qzs7QUFNSDtFTy9ESix1QkRWcUQ7Q04yRWhEOztBQXBCRDtFS3RFSixXQ2VxRDtDTnlEaEQ7O0FBSUM7RU8zRUosbUJBQWtCO0VBQ2xCLFVBSG1EO0NQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsV0FIbUQ7Q1BtRjlDOztBQU1IO0VPL0RKLHVCRFZxRDtDTjJFaEQ7O0FBcEJEO0VLdEVKLGlCQ2VxRDtDTnlEaEQ7O0FBSUM7RU8zRUosbUJBQWtCO0VBQ2xCLGdCQUhtRDtDUCtFOUM7O0FBRUQ7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRDtDUG1GOUM7O0FBTUg7RU8vREosaUJEVnFEO0NOMkVoRDs7QUFwQkQ7RUt0RUosaUJDZXFEO0NOeURoRDs7QUFJQztFTzNFSixtQkFBa0I7RUFDbEIsZ0JBSG1EO0NQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsaUJBSG1EO0NQbUY5Qzs7QUFNSDtFTy9ESix1QkRWcUQ7Q04yRWhEOztBQXBCRDtFS3RFSixXQ2VxRDtDTnlEaEQ7O0FBSUM7RU8zRUosbUJBQWtCO0VBQ2xCLFVBSG1EO0NQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsV0FIbUQ7Q1BtRjlDOztBQU1IO0VPL0RKLHVCRFZxRDtDTjJFaEQ7O0FBcEJEO0VLdEVKLGlCQ2VxRDtDTnlEaEQ7O0FBSUM7RU8zRUosbUJBQWtCO0VBQ2xCLGdCQUhtRDtDUCtFOUM7O0FBRUQ7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRDtDUG1GOUM7O0FBTUg7RU8vREosaUJEVnFEO0NOMkVoRDs7QUFwQkQ7RUt0RUosaUJDZXFEO0NOeURoRDs7QUFJQztFTzNFSixtQkFBa0I7RUFDbEIsZ0JBSG1EO0NQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsaUJBSG1EO0NQbUY5Qzs7QUFNSDtFTy9ESix1QkRWcUQ7Q04yRWhEOztBQXBCRDtFS3RFSixZQ2VxRDtDTnlEaEQ7O0FBZ0JEO0VPL0RKLHVCRFZxRDtDTjJFaEQ7O0FBS0Q7RVE1RkYsWUFBdUI7RUFDdkIsWVptRnVEO0NZdEV4RDs7QVI4RUc7RVF4RkEsWUFBVztDQUNaOztBUnVGQztFUXBGQSxZQUFXO0NBQ1o7O0FSbUZDO0VRaEZBLFlBQVc7Q0FDWjs7QVIrRUM7RVE1RkYsV0FBdUI7RUFDdkIsWVptRnVEO0NZdEV4RDs7QVI4RUc7RVF4RkEsWUFBVztDQUNaOztBUnVGQztFUXBGQSxZQUFXO0NBQ1o7O0FSbUZDO0VRaEZBLFlBQVc7Q0FDWjs7QVIrRUM7RVE1RkYsaUJBQXVCO0VBQ3ZCLFlabUZ1RDtDWXRFeEQ7O0FSOEVHO0VReEZBLFlBQVc7Q0FDWjs7QVJ1RkM7RVFwRkEsWUFBVztDQUNaOztBUm1GQztFUWhGQSxZQUFXO0NBQ1o7O0FSK0VDO0VRNUZGLFdBQXVCO0VBQ3ZCLFlabUZ1RDtDWXRFeEQ7O0FSOEVHO0VReEZBLFlBQVc7Q0FDWjs7QVJ1RkM7RVFwRkEsWUFBVztDQUNaOztBUm1GQztFUWhGQSxZQUFXO0NBQ1o7O0FSK0VDO0VRNUZGLFdBQXVCO0VBQ3ZCLFlabUZ1RDtDWXRFeEQ7O0FSOEVHO0VReEZB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R1ArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRDtHUG1GOUM7RUFNSDtJTy9ESixpQkRWcUQ7R04yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRDtHTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1EO0dQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQ7R1BtRjlDO0VBTUg7SU8vREosdUJEVnFEO0dOMkVoRDtFQXBCRDtJS3RFSixZQ2VxRDtHTnlEaEQ7RUFnQkQ7SU8vREosdUJEVnFEO0dOMkVoRDtFQUtEO0lRNUZGLFlBQXVCO0lBQ3ZCLFlabUZ1RDtHWXRFeEQ7RVI4RUc7SVF4RkEsWUFBVztHQUNaO0VSdUZDO0lRcEZBLFlBQVc7R0FDWjtFUm1GQztJUWhGQSxZQUFXO0dBQ1o7RVIrRUM7SVE1RkYsV0FBdUI7SUFDdkIsWVptRnVEO0dZdEV4RDtFUjhFRztJUXhGQSxZQUFXO0dBQ1o7RVJ1RkM7SVFwRkEsWUFBVztHQUNaO0VSbUZDO0lRaEZBLFlBQVc7R0FDWjtFUitFQztJUTVGRixpQkFBdUI7SUFDdkIsWVptRnVEO0dZdEV4RDtFUjhFRztJUXhGQSxZQUFXO0dBQ1o7RVJ1RkM7SVFwRkEsWUFBVztHQUNaO0VSbUZDO0lRaEZBLFlBQVc7R0FDWjtFUitFQztJUTVGRixXQUF1QjtJQUN2QixZWm1GdUQ7R1l0RXhEO0VSOEVHO0lReEZBLFlBQVc7R0FDWjtFUnVGQztJUXBGQSxZQUFXO0dBQ1o7RVJtRkM7SVFoRkEsWUFBVztHQUNaO0VSK0VDO0lRNUZGLFdBQXVCO0lBQ3ZCLFlabUZ1RDtHWXRFeEQ7RVI4RUc7SVF4RkEsWUFBVztHQUNaO0VSdUZDO0lRcEZBLFlBQVc7R0FDWjtFUm1GQztJUWhGQSxZQUFXO0dBQ1o7RVIrRUM7SVE1RkYsaUJBQXVCO0lBQ3ZCLFlabUZ1RDtHWXRFeEQ7RVI4RUc7SVF4RkEsWUFBVztHQUNaO0VSdUZDO0lRcEZBLFlBQVc7R0FDWjtFUm1GQztJUWhGQSxZQUFXO0dBQ1o7RVIrRUM7SVE1RkYsaUJBQXVCO0lBQ3ZCLFlabUZ1RDtHWXRFeEQ7RVI4RUc7SVF4RkEsWUFBVztHQUNaO0VSdUZDO0lRcEZBLFlBQVc7R0FDWjtFUm1GQztJUWhGQSxZQUFXO0dBQ1o7RVIrRUM7SVE1RkYsYUFBdUI7SUFDdkIsWVptRnVEO0dZdEV4RDtFUjhFRztJUXhGQSxZQUFXO0dBQ1o7RVJ1RkM7SVFwRkEsWUFBVztHQUNaO0VSbUZDO0lRaEZBLFlBQVc7R0FDWjtFUnFGRDtJR3pHRixnQkFBZTtJQUNmLGlCQUFnQjtHSHlHa0M7RUFEaEQ7O0lBS0ksZUFBYztJQUNkLGdCQUFlO0dBQ2hCO0VBR0g7SUcxR0YseUJBRDhCO0lBRTlCLDBCQUY4QjtHSDhHK0I7RUFJM0Q7SU9qSEEsWUFBVztJQUNYLGtCQUFpQjtJQUNqQixtQkFBa0I7R1BpSGpCO0VBR0Q7OztJTzNHRixpQkFBZ0I7SUFDaEIsZUFBYztJQUNkLGdCQUFlO0lBQ2YsWUFBVztHUDRHUjtDTjZqQ0o7O0FVdmpDRztFSi9ERTtJS3RFSixnQkNlcUQ7R055RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGVBSG1EO0dQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixnQkFIbUQ7R1BtRjlDO0VBTUg7SU8vREosZ0JEYmdDO0dOOEUzQjtFQXBCRDtJS3RFSixpQkNlcUQ7R055RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRDtHUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1EO0dQbUY5QztFQU1IO0lPL0RKLHNCRFZxRDtHTjJFaEQ7RUFwQkQ7SUt0RUosV0NlcUQ7R055RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLFVBSG1EO0dQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixXQUhtRDtHUG1GOUM7RUFNSDtJTy9ESix1QkRWcUQ7R04yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRDtHTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1EO0dQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQ7R1BtRjlDO0VBTUg7SU8vREosaUJEVnFEO0dOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQ7R055RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRDtHUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1EO0dQbUY5QztFQU1IO0lPL0RKLHVCRFZxRDtHTjJFaEQ7RUFwQkQ7SUt0RUosV0NlcUQ7R055RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLFVBSG1EO0dQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixXQUhtRDtHUG1GOUM7RUFNSDtJTy9ESix1QkRWcUQ7R04yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRDtHTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1EO0dQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQ7R1BtRjlDO0VBTUg7SU8vREosaUJEVnFEO0dOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQ7R055RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRDtHUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1EO0dQbUY5QztFQU1IO0lPL0RKLHVCRFZxRDtHTjJFaEQ7RUFwQkQ7SUt0RUosV0NlcUQ7R055RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLFVBSG1EO0dQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixXQUhtRDtHUG1GOUM7RUFNSDtJTy9ESix1QkRWcUQ7R04yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRDtHTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1EO0dQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQ7R1BtRjlDO0VBTUg7SU8vREosaUJEVnFEO0dOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQ7R055RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRDtHUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1EO0dQbUY5QztFQU1IO0lPL0RKLHVCRFZxRDtHTjJFaEQ7RUFwQkQ7SUt0RUosWUNlcUQ7R055RGhEO0VBZ0JEO0lPL0RKLHVCRFZxRDtHTjJFaEQ7RUFLRDtJUTVGRixZQUF1QjtJQUN2QixZWm1GdUQ7R1l0RXhEO0VSOEVHO0lReEZBLFlBQVc7R0FDWjtFUnVGQztJUXBGQSxZQUFXO0dBQ1o7RVJtRkM7SVFoRkEsWUFBVztHQUNaO0VSK0VDO0lRNUZGLFdBQXVCO0lBQ3ZCLFlabUZ1RDtHWXRFeEQ7RVI4RUc7SVF4RkEsWUFBVztHQUNaO0VSdUZDO0lRcEZBLFlBQVc7R0FDWjtFUm1GQztJUWhGQSxZQUFXO0dBQ1o7RVIrRUM7SVE1RkYsaUJBQXVCO0lBQ3ZCLFlabUZ1RDtHWXRFeEQ7RVI4RUc7SVF4RkEsWUFBVztHQUNaO0VSdUZDO0lRcEZBLFlBQVc7R0FDWjtFUm1GQztJUWhGQSxZQUFXO0dBQ1o7RVIrRUM7SVE1RkYsV0FBdUI7SUFDdkIsWVptRnVEO0dZdEV4RDtFUjhFRztJUXhGQSxZQUFXO0dBQ1o7RVJ1RkM7SVFwRkEsWUFBVztHQUNaO0VSbUZDO0lRaEZBLFlBQVc7R0FDWjtFUitFQztJUTVGRixXQUF1QjtJQUN2QixZWm1GdUQ7R1l0RXhEO0VSOEVHO0lReEZBLFlBQVc7R0FDWjtFUnVGQztJUXBGQSxZQUFXO0dBQ1o7RVJtRkM7SVFoRkEsWUFBVztHQUNaO0VSK0VDO0lRNUZGLGlCQUF1QjtJQUN2QixZWm1GdUQ7R1l0RXhEO0VSOEVHO0lReEZBLFlBQVc7R0FDWjtFUnVGQztJUXBGQSxZQUFXO0dBQ1o7RVJtRkM7SVFoRkEsWUFBVztHQUNaO0VSK0VDO0lRNUZGLGlCQUF1QjtJQUN2QixZWm1GdUQ7R1l0RXhEO0VSOEVHO0lReEZBLFlBQVc7R0FDWjtFUnVGQztJUXBGQSxZQUFXO0dBQ1o7RVJtRkM7SVFoRkEsWUFBVztHQUNaO0VSK0VDO0lRNUZGLGFBQXVCO0lBQ3ZCLFlabUZ1RDtHWXRFeEQ7RVI4RUc7SVF4RkEsWUFBVztHQUNaO0VSdUZDO0lRcEZBLFlBQVc7R0FDWjtFUm1GQztJUWhGQSxZQUFXO0dBQ1o7RVJxRkQ7SUd6R0YsZ0JB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LGtCQXJFYTtDQTBFZDs7QUFIQztFQUNFLG1CQUErRTtDQUNoRjs7QUFpRFg7RUw1QkEsMEJ2QjNHaUI7RXVCNEdqQixldkIxR2lCO0M0QnVKVjs7QUwzQ1A7RUFDRSwwQkFQNkQ7RUFRN0QsZXZCOUdlO0N1QitHaEI7O0FLc0JEO0VMNUJBLDBCdkIxR2lCO0V1QjJHakIsZXZCMUdpQjtDNEJ1SlY7O0FMM0NQO0VBQ0UsMEJBUDZEO0VBUTdELGV2QjlHZTtDdUIrR2hCOztBS3NCRDtFTDVCQSwwQnZCckdpQjtFdUJzR2pCLGV2QjNHaUI7QzRCd0pWOztBTDNDUDtFQUNFLDBCQVA2RDtFQVE3RCxldkIvR2U7Q3VCZ0hoQjs7QUtzQkQ7RUw1QkEsMEJ2QnhHaUI7RXVCeUdqQixldkIxR2lCO0M0QnVKVjs7QUwzQ1A7RUFDRSwwQkFQNkQ7RUFRN0QsZXZCOUdlO0N1QitHaEI7O0FLc0JEO0VMNUJBLDBCdkJwR2lCO0V1QnFHakIsZXZCM0dpQjtDNEJ3SlY7O0FMM0NQO0VBQ0UsMEJBUDZEO0VBUTdELGV2Qi9HZTtDdUJnSGhCOztBS3NCRDtFTDVCQSwwQnZCbkdpQjtFdUJvR2pCLGV2QjNHaUI7QzRCd0pWOztBTDNDUDtFQUNFLDBCQVA2RDtFQVE3RCxldkIvR2U7Q3VCZ0hoQjs7QUtWRDtFQUtJLFlBQVc7Q0FNZDs7QUFIQztFQUNFLGlCQUFnQjtDQUNqQjs7QXRCaUNEO0VzQnZCRjtJQUtJLFlBQVc7SUFFYixpQkFBZ0I7R0FDakI7Q2hDdWdGRjs7QVV4L0VHO0VzQnZCRjtJQUtJLFlBQVc7SUFFYixpQkFBZ0I7R0FDakI7Q2hDOGdGRjs7QVUvL0VHO0VzQlhGO0lBaURNLGVBQWM7R0FPakI7RUF4REg7SUFvRFEsZUFBYztJQUNkLGdCQUFpQztHQUNsQztDaEM4OUVSOztBaUNya0ZDO0VBekNBLG1CQXhCeUI7RUF5QnpCLGNBckJvQjtFQXNCcEIseUM3QjlDaUI7RTZCK0NqQixpQi9CcUNlO0UrQnBDZixtQkFBa0I7RUFDbEIsZTdCakRpQjtFNkJrRWpCLHdCQUZzRTtDQXFDckU7O0FBakREO0VBQ0Us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NURuRGlCO0M0RG9EbEI7O0FBRUQ7RUFDRSxlNUR0RGlCO0M0RHVEbEI7O0FBRUQ7RUFDRSxlNUR6RGlCO0M0RDBEbEI7O0FDbEVEO0VBQ0MsaUU3RDBCa0U7QzZEekJsRTs7QUFFRDtFQUNDLGlFN0R5QmtFO0M2RHhCbEU7O0FBRUQ7RUFDQyxpRTdEd0JrRTtDNkR2QmxFOztBQUVEO0VBQ0MsaUU3RHVCa0U7QzZEdEJsRTs7QUFFRDtFQUNDLGlFN0RzQmtFO0M2RHJCbEU7O0FBRUQ7RUFFQyxzQnpEMER3RDtFeUR6RHhELHdCekR5RHdEO0N5RGhEeEQ7O0F2RG1IRztFdUQvSEo7SUFLRSxzQnpEdUR1RDtJeUR0RHZELHdCekRzRHVEO0d5RGhEeEQ7Q2pFNmhLQTs7QVUxNkpHO0V1RC9ISjtJQVNFLHNCekRtRHVEO0l5RGxEdkQsd0J6RGtEdUQ7R3lEaER4RDtDakVvaUtBOztBaUVsaUtEO0VBRUMsZ0J6RDRDd0Q7RXlEM0N4RCxpQkFDRDtDQUFDOztBQUVEO0VBRUMsc0J6RHNDd0Q7RXlEckN4RCx3QnpEcUN3RDtDeURwQ3hEOztBQUVEO0VBRUMsc0J6RGdDd0Q7RXlEL0J4RCxtQkFBa0I7Q0FPbEI7O0F2RDJGRztFdURyR0o7SUFLRSxzQnpENkJ1RDtHeUR4QnhEO0NqRWlpS0E7O0FVdDhKRztFdURyR0o7SUFRRSxzQnpEMEJ1RDtHeUR4QnhEO0NqRXVpS0E7O0FpRXpoS0Q7RUFFQyxzQnpEUXdEO0V5RFB4RCxtQkFBa0I7Q0FPbEI7O0F2RG1FRztFdUQ3RUo7SUFLRSxnQnpES3VEO0d5REF4RDtDakUwaEtBOztBVXY5Skc7RXVEN0VKO0lBUUUsc0J6REV1RDtHeURBeEQ7Q2pFZ2lLQTs7QWlFbGhLRDtFQUVDLHNCekRoQndEO0V5RGlCeEQsd0J6RGpCd0Q7Q3lEMEJ4RDs7QXZEeUNHO0V1RHJESjtJQUtFLHNCekRuQnVEO0l5RG9CdkQsd0J6RHBCdUQ7R3lEMEJ4RDtDakVraEtBOztBVXorSkc7RXVEckRKO0lBU0UsZ0J6RHZCdUQ7SXlEd0J2RCx3QnpEeEJ1RDtHeUQwQnhEO0NqRXloS0E7O0FpRXZoS0Q7RUFFQyxnQnpEOUJ3RDtFeUQrQnhELGtCekQvQndEO0N5RGdDeEQ7O0FBRUQ7RUFFQyxzQnpEcEN3RDtFeURxQ3hELHdCekRyQ3dEO0N5RDhDeEQ7O0F2RHFCRztFdURqQ0o7SUFLRSxzQnpEdkN1RDtJeUR3Q3ZELHdCekR4Q3VEO0d5RDhDeEQ7Q2pFc2hLQTs7QVVqZ0tHO0V1RGpDSjtJQVNFLGtCekQzQ3VEO0l5RDRDdkQsd0J6RDVDdUQ7R3lEOEN4RDtDakU2aEtBOztBaUUzaEtEO0VBRUMsa0J6RGxEd0Q7RXlEbUR4RCx3QnpEbkR3RDtDeURvRHhEOztBQUVEO0VBRUMsa0J6RHhEd0Q7RXlEeUR4RCx3QnpEekR3RDtDeURrRXhEOztBdkRDRztFdURiSjtJQUtFLHNCekQzRHVEO0l5RDREdkQsd0J6RDVEdUQ7R3lEa0V4RDtDakUwaEtBOztBVXpoS0c7RXVEYko7SUFTRSxzQnpEL0R1RDtJeURnRXZELGtCekRoRXVEO0d5RGtFeEQ7Q2pFaWlLQTs7QWlFL2hLRDtFQUVDLHNCekR0RXdEO0V5RHVFeEQsd0J6RHZFd0Q7Q3lEd0V4RDs7QUFFRDtFQUVDLHNCekQ1RXdEO0V5RDZFeEQsd0J6RDdFd0Q7Q3lEc0Z4RDs7QXZEbkJHO0V1RE9KO0lBS0Usa0J6RC9FdUQ7SXlEZ0Z2RCx3QnpEaEZ1RDtHeURzRnhEO0NqRThoS0E7O0FVampLRztFdURPSjtJQVNFLHNCekRuRnVEO0l5RG9GdkQsd0J6RHBGdUQ7R3lEc0Z4RDtDakVxaUtBOztBaUVuaUtEO0VBRUMsc0J6RDFGd0Q7RXlEMkZ4RCxvQnpEM0Z3RDtDeUQ0RnhEOztBQUVEO0VBRUMsc0J6RGhHd0Q7RXlEaUd4RCx3QnpEakd3RDtDeUQwR3hEOztBdkR2Q0c7RXVEMkJKO0lBS0Usc0J6RG5HdUQ7SXlEb0d2RCx3QnpEcEd1RDtHeUQwR3hEO0NqRWtpS0E7O0FVemtLRztFdUQyQko7SUFTRSxzQnpEdkd1RDtJeUR3R3ZELHdCekR4R3VEO0d5RDBHeEQ7Q2pFeWlLQTs7QWlFdmlLRDtFQUVDLHNCekQ5R3dEO0V5RCtHeEQsd0J6RC9Hd0Q7Q3lEZ0h4RDs7QUFFRDtFQUVDLHNCekRwSHdEO0V5RHFIeEQsd0J6RHJId0Q7Q3lEOEh4RDs7QXZEM0RHO0V1RCtDSjtJQUtFLHNCekR2SHVEO0l5RHdIdkQsd0J6RHhIdUQ7R3lEOEh4RDtDakVzaUtBOztBVWptS0c7RXVEK0NKO0lBU0Usc0J6RDNIdUQ7SXlENEh2RCx3QnpENUh1RDtHeUQ4SHhEO0NqRTZpS0E7O0FpRTNpS0Q7RUFFQyxzQnpEbEl3RDtFeURtSXhELHdCekRuSXdEO0N5RDRJeEQ7O0F2RHpFRztFdUQ2REo7SUFLRSxzQnpEckl1RDtJeURzSXZELHdCekR0SXVEO0d5RDRJeEQ7Q2pFMmlLQTs7QVVwbktHO0V1RDZESjtJQVNFLHNCekR6SXVEO0l5RDBJdkQsd0J6RDFJdUQ7R3lENEl4RDtDakVraktBOztBaUVoaktEO0VBRUMsc0J6RGhKd0Q7RXlEaUp4RCxvQnpEakp3RDtDeUQwSnhEOztBdkR2Rkc7RXVEMkVKO0lBS0Usc0J6RG5KdUQ7SXlEb0p2RCx3QnpEcEp1RDtHeUQwSnhEO0NqRWdqS0E7O0FVdm9LRztFdUQyRUo7SUFTRSxzQnpEdkp1RDtJeUR3SnZELHdCekR4SnVEO0d5RDBKeEQ7Q2pFdWpLQTs7QWlFcmpLRDtFQUVDLHNCekQ5SndEO0V5RCtKeEQsd0J6RC9Kd0Q7Q3lEZ0t4RDs7QUFDRDtFQUVDLHNCekRuS3dEO0V5RG9LeEQsb0J6RHBLd0Q7Q3lENkt4RDs7QXZEMUdHO0V1RDhGSjtJQUtFLHNCekR0S3VEO0l5RHVLdkQsd0J6RHZLdUQ7R3lENkt4RDtDakVxaktBOztBVS9wS0c7RXVEOEZKO0lBU0Usc0J6RDFLdUQ7SXlEMkt2RCx3QnpEM0t1RDtHeUQ2S3hEO0NqRTRqS0E7O0FpRTFqS0Q7RUFFQyxzQnpEakx3RDtFeURrTHhELG9CekRsTHdEO0N5RDJMeEQ7O0F2RHhIRztFdUQ0R0o7SUFLRSxrQnpEcEx1RDtJeURxTHZELHdCekRyTHVEO0d5RDJMeEQ7Q2pFMGpLQTs7QVVscktHO0V1RDRHSjtJQVNFLHNCekR4THVEO0l5RHlMdkQsd0J6RHpMdUQ7R3lEMkx4RDtDakVpa0tBOztBaUVuaUtEO0VBSUUsaUJBQWdCO0NBQ2hCOztBQUxGO0VBY0UsaUJBQWdCO0NBQ2hCOztBQWZGO0VBbUJFLGlCQUFnQjtDQUNoQjs7QUFwQkY7RUF3QkUsaUJBQWdCO0NBQ2hCOztBQXpCRjtFQTZCRSxpQkFBZ0I7Q0FDaEI7O0FBOUJGO0VBa0NFLGlCQUFnQjtDQUNoQjs7QUFuQ0Y7RUF1Q0UsaUJBQWdCO0NBQ2hCOztBQXhDRjtFQTRDRSxpQkFBZ0I7Q0FDaEI7O0FBN0NGO0VBaURFLGlCQUFnQjtDQUNoQjs7QUFsREY7RUFxREUsaUJBQWdCO0NBQ2hCOztBQXVGRjtFQVFFLDBCekQ5V3VEO0N5RCtXdkQ7O0FBR0Y7RUFFRSxvQnpEcFh1RDtDeUR3WHZEOztBQUdGO0VBQ0MsZ0JBQWU7Q0FDZjs7QS9EaktDO0VnRTNTRCxzQkFBcUI7Q0FJckI7O0FBTEQ7RUFHRSxzQkFBcUI7Q0FDckI7O0FBR0Y7RUFDSSxlOURFZ0I7QzhERW5COztBQUxEO0VBR1EsZTlEQ1k7QzhEQWY7O0FDVkw7RUFDRSwwQjNEOEV1RDtDMkQ3RXhEOztBQUNEO0VBQ0Usc0JBQXFCO0NBQ3RCOztBQUdEO0VBQ0UsbUJBQWtCO0NBQ25COztBQUNEO0VBQ0Usa0JBQWlCO0NBQ2xCOztBQUNEO0VBQ0UsaUJBQWdCO0NBQ2pCOztBQUVEO0VBYUUsY0FBYTtFQUNiLGdCM0QrQ3VEO0UyRDlDdkQsb0JBQW1CO0VBQ25CLFlBQVc7RUFDWCxpQkFBZ0I7Q0FVakI7O0FBM0JEO0VBRUksZ0JBQWU7RUFDZixVQUFTO0VBQ1QsUUFBTztFQUNQLGNBQWE7Q0FDZDs7QUFOSDtFQVFJLG9CQUFtQjtFQUNuQix1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLGdCQUFlO0NBQ2hCOztBekRvSEM7RXlEaElKO0lBbUJJLHNCM0QwQ3FEO0cyRGxDeEQ7Q25FazVLQTs7QVU3eUtHO0V5RGhJSjtJQXNCSSxzQjNEdUNxRDtHMkRsQ3hEO0NuRXc1S0E7O0FVbnpLRztFeURoSUo7SUF5Qkksc0IzRG9DcUQ7RzJEbEN4RDtDbkU4NUtBOztBbUU1NUtEO0VBRUksZUFBYztDQUNmOztBQUlIO0VBQ0Usc0JBQXFCO0VBQ3JCLHNCM0Q0Qlc7RTJEMUJYLFlBQVU7Q0E4Q1g7O0FBbEREO0VBTUksb0IzRG1CcUQ7QzJEVnREOztBekQ2RUM7RXlENUZKO0lBUU0sbUJBQWtCO0dBT3JCO0NuRTA1S0Y7O0FtRXo2S0Q7RUFhTSwyQkFBMEI7Q0FDM0I7O0FBZEw7RUFpQkksd0IzRFFxRDtFMkRQckQsbUJBQWtCO0NBQ25COztBQW5CSDtFQXFCSSxvQjNESXFEO0UyREhyRCxrQkFBaUI7Q0EyQmxCOztBekQyQ0M7RXlENUZKO0lBd0JNLG1CQUFrQjtHQXlCckI7Q25FNDRLRjs7QW1FNzdLRDtFQTJCTSxhQUFZO0VBS1osVUFBUztFQUNULFdBQVU7RUMxRWQsaUJBQWdCO0NEeUZiOztBekQ0Q0Q7RXlENUZKO0lBNkJPLFlBQVc7SUFDWCxzQkFBcUI7R0FrQnZCO0NuRTI1S0o7O0FtRTM4S0Q7RUFvQ1EseUIzRFhpRDtFMkRrQmpELFlBQVc7Q0FJWjs7QXpENkNIO0V5RDVGSjtJQXNDVSxnQkFBZTtJQUNmLHlCM0RkK0M7STJEZS9DLDBCM0RmK0M7RzJEc0JsRDtDbkV5NktOOztBcUJ2K0tDO0U4Q29FQSxlQUFjO0NBQ2Y7O0E3RHBGQztFNkR1RkEseUIzRGhDdUQ7RTJEaUN2RCwwQjNEakN1RDtFNEQ1RHZELHVCRDhGOEI7Q0FLL0I7O0E3RDlGQztFNkQyRkUseUJBQXdCO0VBQ3hCLDBCQUF5QjtDQUMxQjs7QTdEN0REO0U2RGlFRSxtQ0FBa0M7RUFDbEMsb0NBQW1DO0NBQ3RDOztBQUVEO0VBQ0UseUIzRC9DdUQ7RTJEZ0R2RCwwQjNEaER1RDtDMkRpRHhEOztBQUVEO0VBQ0Usd0IzRHBEdUQ7RTJEcUR2RCwyQjNEckR1RDtDMkQ4RHhEOztBekRLRztFeURoQko7SUFJSSx3QjNEdkRxRDtJMkR3RHJELDJCM0R4RHFEO0cyRDhEeEQ7Q25FdzZLQTs7QVVuNktHO0V5RGhCSjtJQVFJLHdCM0QzRHFEO0kyRDREckQsMkIzRDVEcUQ7RzJEOER4RDtDbkUrNktB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dkQsa0I5RHlFdUQ7RThEdkV2RCxnTUFBK0w7RUQ0SzNMLGVqRWxMYTtDaUVzTGQ7O0FBdEZMO0VBb0ZRLDBCQUF3QztDQUN6Qzs7QUFyRlA7RURsREUsbUJDMElrQztFRHZLbEMsdUJBSHVDO0VFZHZDLGlDbEVEaUI7RWtFRWpCLDBCbEVGaUI7RWtFR2pCLGlCQUFnQjtFQUNoQixtQjlEMEV1RDtFOER6RXZELGtCOUR5RXVEO0U4RHZFdkQsZ01BQStMO0VEbUwzTCxlakV6TGE7Q2lFNkxkOztBQTdGTDtFQTJGUSwwQkFBd0M7Q0FDekM7O0FBNUZQO0VEbERFLG1CQ2lKa0M7RUQ5S2xDLHVCQUh1QztFRWR2QyxpQ2xFQWlCO0VrRUNqQiwwQmxFRGlCO0VrRUVqQixpQkFBZ0I7RUFDaEIsbUI5RDBFdUQ7RThEekV2RCxrQjlEeUV1RDtFOER2RXZELGdNQUErTDtFRDBMM0wsZWpFaE1hO0NpRW9NZDs7QUFwR0w7RUFrR1EsMEJBQXdDO0NBQ3pDOztBQW5HUDtFRGxERSxtQkN3SmtDO0VEckxsQyx1QkFIdUM7RUVkdkMsaUNsRUNpQjtFa0VBakIsMEJsRUFpQjtFa0VDakIsaUJBQWdCO0VBQ2hCLG1COUQwRXVEO0U4RHpFdkQsa0I5RHlFdUQ7RThEdkV2RCxnTUFBK0w7RURpTTNMLGVqRXZNYTtDaUUyTWQ7O0FBM0dMO0VBeUdRLDBCQUF3QztDQUN6Qzs7QUExR1A7RURsREUsbUJDK0prQztFRDVMbEMsdUJBSHVDO0VFZHZDLGlDbEVFaUI7RWtFRGpCLDBCbEVDaUI7RWtFQWpCLGlCQUFnQjtFQUNoQixtQjlEMEV1RDtFOER6RXZELGtCOUR5RXVEO0U4RHZFdkQsZ01BQStMO0VEd00zTCxlakU5TWE7Q2lFa05kOztBQWxITDtFQWdIUSwwQkFBd0M7Q0FDekM7O0FBakhQO0VEbERFLG1CQ3NLa0M7RURuTWxDLHVCQUh1QztFRWR2QyxpQ2xFR2lCO0VrRUZqQiwwQmxFRWlCO0VrRURqQixpQkFBZ0I7RUFDaEIsbUI5RDBFdUQ7RThEekV2RCxrQjlEeUV1RDtFOER2RXZELGdNQUErTDtFRCtNM0wsZWpFck5h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dkIsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkI7Q0pSMUI7O0FBVUQ7RUdvQkEsNEJBRnlCO0NIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHlCQUZ5QjtFQ3ZCdkIsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkI7Q0pSMUI7O0FBVUQ7RUdvQkEsNEJBRnlCO0NIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHlCQUZ5QjtFQ3ZCdkIsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkI7Q0pSMUI7O0FBVUQ7RUdvQkEsNkJBRnlCO0NIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHlCQUZ5QjtFQ3ZCdkIsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkI7Q0pSMUI7O0FBVUQ7RUdvQkEsNkJBRnlCO0NIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGaENrQztFSUFsQyw2QkFBNEI7Q0xFM0I7O0FBVUQ7RUdvQkEsV0ZoQ3FDO0NEY3BDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0YvQmtDO0VJRGxDLDZCQUE0QjtDTEUzQjs7QUFVRDtFR29CQSxXRi9CcUM7Q0RhcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dyQ21DO0VIcUNuQyxzQkY1Qm1EO0VNR2pELHdDQUF1QztFQUN2QyxXQUEyQjtDUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkI7Q1BKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dwQ3FDO0VIb0NyQyx3QkYzQnFEO0VNRW5ELHdDQUF1QztFQUN2QyxXQUEyQjtDUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkI7Q1BKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw4Q0duQ2lDO0VIbUNqQyx5QkYxQnNEO0VNQ3BELHdDQUF1QztFQUN2QyxXQUEyQjtDUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkI7Q1BKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw4Q0dsQytCO0VIa0MvQix1QkZ6Qm9EO0VNQWxELHdDQUF1QztFQUN2QyxXQUEyQjtDUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkI7Q1BKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dyQ21DO0VIcUNuQyx5QkdDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBMkI7Q1BONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCO0NQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NHcENxQztFSG9DckMseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQTJCO0NQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQjtDUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5QyxzQkZ0Qm1EO0VNSGpELHdDQUF1QztFQUN2QyxXQUE4QjtDUE4vQjs7QUFVRDtFR29CQSwrQ0dyQ21DO0VDdUJqQyxXQUE4QjtDUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyx3QkZyQnFEO0VNSm5ELHdDQUF1QztFQUN2QyxXQUE4QjtDUE4vQjs7QUFVRDtFR29CQSwrQ0dwQ3FDO0VDc0JuQyxXQUE4QjtDUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyx5QkZwQnNEO0VNTHBELHdDQUF1QztFQUN2QyxXQUE4QjtDUE4vQjs7QUFVRDtFR29CQSw4Q0duQ2lDO0VDcUIvQixXQUE4QjtDUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyx1QkZuQm9EO0VNTmxELHdDQUF1QztFQUN2QyxXQUE4QjtDUE4vQjs7QUFVRDtFR29CQSw4Q0dsQytCO0VDb0I3QixXQUE4QjtDUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyx5QkdDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBOEI7Q1BOL0I7O0FBVUQ7RUdvQkEsK0NHckNtQztFQ3VCakMsV0FBOEI7Q1BKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQThCO0NQTi9COztBQVVEO0VHb0JBLCtDR3BDcUM7RUNzQm5DLFdBQThCO0NQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0JBRnlCO0VLM0J2Qix3Q0FBdUM7RUFDdkMsV0FBMkI7Q1JGNUI7O0FBVUQ7RUdvQkEsb0JBRnlCO0VLaEJ2QixXQUEyQjtDUkE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNCQUZ5QjtFSzNCdkIsd0NBQXVDO0VBQ3ZDLFdBQTJCO0NSRjVCOztBQVVEO0VHb0JBLG9CQUZ5QjtFS2hCdkIsV0FBMkI7Q1JBNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvQkFGeUI7RUszQnZCLHdDQUF1QztFQUN2QyxXQUE4QjtDUkYvQjs7QUFVRDtFR29CQSxzQkFGeUI7RUtoQnZCLFdBQThCO0NSQS9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0JBRnlCO0VLM0J2Qix3Q0FBdUM7RUFDdkMsV0FBOEI7Q1JGL0I7O0FBVUQ7RUdvQkEsc0JBRnlCO0VLaEJ2QixXQUE4QjtDUkEvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZ5QjtFTTNCdkIsd0NBQXVDO0VBQ3ZDLFdBQTJCO0NURjVCOztBQVVEO0VHb0JBLHFCQUZ5QjtFTWhCdkIs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V2hKLGFBaERZO0NBcURiOztBQWREO0U2QzVCVyxZQUFXO0VBQ1gsVUFBUztFQUNULG1CQUFrQjtDQUNyQiIsImZpbGUiOiJTdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG59XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG4vKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzUzNTM1MztcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogODUuNzE0MjlyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5yb3c6OmJlZm9yZSwgLnJvdzo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4ucm93OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ucm93IC5yb3cge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtMC43MTQyOXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC43MTQyOXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4wNzE0M3JlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjA3MTQzcmVtO1xuICB9XG59XG5cbi5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5yb3cuZXhwYW5kZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMS4wNzE0M3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjA3MTQzcmVtO1xuICB9XG59XG5cbi5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7XG59XG5cbi5zbWFsbC1wdWxsLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04LjMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7XG59XG5cbi5zbWFsbC1wdXNoLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDE2LjY2NjY3JTtcbn1cblxuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlO1xufVxuXG4uc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC1wdXNoLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDI1JTtcbn1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTtcbn1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbn1cblxuLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7XG59XG5cbi5zbWFsbC1wdWxsLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zMy4zMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbn1cblxuLnNtYWxsLXB1c2gtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNDEuNjY2NjclO1xufVxuXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xufVxuXG4uc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbn1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTtcbn1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTtcbn1cblxuLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlO1xufVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7XG59XG5cbi5zbWFsbC1wdWxsLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01OC4zMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbn1cblxuLnNtYWxsLXB1c2gtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNjYuNjY2NjclO1xufVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlO1xufVxuXG4uc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5zbWFsbC1wdXNoLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1JTtcbn1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTtcbn1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTtcbn1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTtcbn1cblxuLnNtYWxsLXB1bGwtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04My4zMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5zbWFsbC1wdXNoLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA5MS42NjY2NyU7XG59XG5cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTtcbn1cblxuLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xufVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICBjbGVhcjogbm9uZTtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgd2lkdGg6IDI1JTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAyMCU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICBjbGVhcjogbm9uZTtcbn1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMi41JTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgY2xlYXI6IG5vbmU7XG59XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyxcbi5leHBhbmRlZC5yb3cgLnNtYWxsLWNvbGxhcHNlLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC43MTQyOXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC43MTQyOXJlbTtcbn1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5zbWFsbC11bmNlbnRlcmVkLFxuLnNtYWxsLXB1c2gtMCxcbi5zbWFsbC1wdWxsLTAge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93LFxuICAuZXhwYW5kZWQucm93IC5tZWRpdW0tY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMS4wNzE0M3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjA3MTQzcmVtO1xuICB9XG4gIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsXG4gIC5tZWRpdW0tcHVzaC0wLFxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyxcbiAgLmV4cGFuZGVkLnJvdyAubGFyZ2UtY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMDcxNDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4wNzE0M3JlbTtcbiAgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmxhcmdlLXB1c2gtMCxcbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxucCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5oMSBzbWFsbCxcbmgyIHNtYWxsLFxuaDMgc21hbGwsXG5oNCBzbWFsbCxcbmg1IHNtYWxsLFxuaDYgc21hbGwge1xuICBjb2xvcjogI2NhY2FjYTtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjcxNDI5cmVtO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuMzU3MTRyZW07XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yMTQyOXJlbTtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDEuMTQyODZyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMy40Mjg1N3JlbTtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjg1NzE0cmVtO1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDIuMjE0MjlyZW07XG4gIH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS43ODU3MXJlbTtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDEuMTQyODZyZW07XG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiAjNTM1MzUzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICBjb2xvcjogIzAwNjY0YTtcbn1cblxuYSBpbWcge1xuICBib3JkZXI6IDA7XG59XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiA4NS43MTQyOXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDtcbiAgbWFyZ2luOiAxLjQyODU3cmVtIGF1dG87XG4gIGNsZWFyOiBib3RoO1xufVxuXG51bCxcbm9sLFxuZGwge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmRsIGR0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNjQyODZyZW0gMS40Mjg1N3JlbSAwIDEuMzU3MTRyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTtcbn1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM4YThhOGE7XG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjkyODU3cmVtO1xuICBjb2xvcjogIzhhOGE4YTtcbn1cblxuY2l0ZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG59XG5cbmFiYnIge1xuICBjb2xvcjogIzUzNTM1MztcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM1MzUzNTM7XG59XG5cbmNvZGUge1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM1MzUzNTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIHBhZGRpbmc6IDAuMTQyODZyZW0gMC4zNTcxNHJlbSAwLjA3MTQzcmVtO1xufVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjE0Mjg2cmVtIDAuMjg1NzFyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBjb2xvcjogIzUzNTM1MztcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxNy41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5wICsgLnN0YXQge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbn1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbn1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi43ODU3MXJlbTtcbiAgcGFkZGluZzogMC41NzE0M3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgbWFyZ2luOiAwIDAgMS4xNDI4NnJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTtcbiAgY29sb3I6ICM1MzUzNTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDgzLCA4MywgODMsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxudGV4dGFyZWFbcm93c10ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhO1xufVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMS4xNDI4NnJlbTtcbn1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjU3MTQzcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuMTQyODZyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41NzE0M3JlbTtcbn1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbmxhYmVsLm1pZGRsZSB7XG4gIG1hcmdpbjogMCAwIDEuMTQyODZyZW07XG4gIHBhZGRpbmc6IDAuNjQyODZyZW0gMDtcbn1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjU3MTQzcmVtO1xuICBmb250LXNpemU6IDAuOTI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNDI4NnJlbTtcbn1cblxuLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBjb2xvcjogIzUzNTM1MztcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjg1NzE0cmVtO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDElO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24ge1xuICBtYXJnaW46IDA7XG59XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41NzE0M3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBwYWRkaW5nOiAxLjQyODU3cmVtO1xuICBtYXJnaW46IDEuMjg1NzFyZW0gMDtcbn1cblxuLmZpZWxkc2V0IGxlZ2VuZCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDAgMC4yMTQyOXJlbTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTAuMjE0MjlyZW07XG59XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi43ODU3MXJlbTtcbiAgcGFkZGluZzogMC41NzE0M3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgbWFyZ2luOiAwIDAgMS4xNDI4NnJlbTtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM1MzUzNTM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEuMTQyODZyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzE0MjlyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICB9XG59XG5cbnNlbGVjdDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTMsIDU0LCA4MSwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjZmQzNjUxO1xufVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZmQzNjUxO1xufVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjU3MTQzcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjE0Mjg2cmVtO1xuICBmb250LXNpemU6IDAuODU3MTRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZkMzY1MTtcbn1cblxuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2NjRhO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTczZjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24udGlueSB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuXG4uYnV0dG9uLnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4uYnV0dG9uLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uYnV0dG9uLmV4cGFuZGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYnV0dG9uLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2NjRhO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MjNiO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJ1dHRvbi5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyNDI0MjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGJmNGE7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4uYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGFhMGY7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4uYnV0dG9uLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYzNDI5O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzIyMTE3O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJ1dHRvbi5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZDM2NTE7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4uYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzMDIyMztcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5idXR0b24ubGlnaHQtZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4uYnV0dG9uLmxpZ2h0LWdyYXk6aG92ZXIsIC5idXR0b24ubGlnaHQtZ3JheTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4uYnV0dG9uLmhvbGxvdyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDY2NGE7XG4gIGNvbG9yOiAjMDA2NjRhO1xufVxuXG4uYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzAwMzMyNTtcbiAgY29sb3I6ICMwMDMzMjU7XG59XG5cbi5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA2NjRhO1xuICBjb2xvcjogIzAwNjY0YTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzAwMzMyNTtcbiAgY29sb3I6ICMwMDMzMjU7XG59XG5cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1MzUzNTM7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzJhMmEyYTtcbiAgY29sb3I6ICMyYTJhMmE7XG59XG5cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjRiZjRhO1xuICBjb2xvcjogI2Y0YmY0YTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzk2NmEwOTtcbiAgY29sb3I6ICM5NjZhMDk7XG59XG5cbi5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTYzNDI5O1xuICBjb2xvcjogI2U2MzQyOTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzc5MTQwZTtcbiAgY29sb3I6ICM3OTE0MGU7XG59XG5cbi5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZkMzY1MTtcbiAgY29sb3I6ICNmZDM2NTE7XG59XG5cbi5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzk4MDIxNjtcbiAgY29sb3I6ICM5ODAyMTY7XG59XG5cbi5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBjb2xvcjogI2YyZjJmMjtcbn1cblxuLmJ1dHRvbi5ob2xsb3cubGlnaHQtZ3JheTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cubGlnaHQtZ3JheTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzc5Nzk3OTtcbiAgY29sb3I6ICM3OTc5Nzk7XG59XG5cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY0YTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC40ZW07XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGZsb2F0OiBub25lO1xuICB0b3A6IC0wLjFlbTtcbn1cblxuLmFjY29yZGlvbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC44NTcxNHJlbTtcbiAgY29sb3I6ICMwMDY2NGE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xufVxuXG4uYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cblxuLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogJysnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbn1cblxuLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICfigJMnO1xufVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxcmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xufVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA2NjRhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgcmlnaHQ6IDFyZW07XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG59XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zZW07XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogIzAwNjY0YTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5iYWRnZS5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjNTM1MzUzO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJhZGdlLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjZjRiZjRhO1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuLmJhZGdlLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZTYzNDI5O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJhZGdlLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2ZkMzY1MTtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5iYWRnZS5saWdodC1ncmF5IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5icmVhZGNydW1icyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbn1cblxuLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5icmVhZGNydW1icyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogIzUzNTM1MztcbiAgZm9udC1zaXplOiAwLjc4NTcxcmVtO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIGNvbG9yOiAjY2FjYWNhO1xuICBjb250ZW50OiBcIi9cIjtcbiAgbWFyZ2luOiAwIDAuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5icmVhZGNydW1icyBhIHtcbiAgY29sb3I6ICMwMDY2NGE7XG59XG5cbi5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICBjb2xvcjogI2NhY2FjYTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuXG4uYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCB7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMXB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IC02cHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IC02cHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMXB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IC02cHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMXB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IC02cHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IC02cHg7XG59XG5cbi5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY0YTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUyM2I7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0MjQyO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRiZjRhO1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWEwZjtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MzQyOTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMjIxMTc7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmQzNjUxO1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjMwMjIzO1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzJjMjtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmNhbGxvdXQge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoODMsIDgzLCA4MywgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICM1MzUzNTM7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FsbG91dC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyZmZlZTtcbn1cblxuLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcbn1cblxuLmNhbGxvdXQuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGY1ZTQ7XG59XG5cbi5jYWxsb3V0Lndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlMWRmO1xufVxuXG4uY2FsbG91dC5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUxZTU7XG59XG5cbi5jYWxsb3V0LmxpZ2h0LWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkO1xufVxuXG4uY2FsbG91dC5zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG5cbi5jYWxsb3V0LmxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG59XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLm1lbnUgPiBsaSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLm1lbnUgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubWVudSBpbnB1dCxcbi5tZW51IGEsXG4ubWVudSBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWVudSA+IGxpID4gYSBpbWcsXG4ubWVudSA+IGxpID4gYSBpLFxuLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1lbnUgPiBsaSA+IGEgaW1nICsgc3Bhbixcbi5tZW51ID4gbGkgPiBhIGkgKyBzcGFuLFxuLm1lbnUgPiBsaSA+IGEgc3ZnICsgc3BhbiB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tZW51ID4gbGkgPiBhIGltZyxcbi5tZW51ID4gbGkgPiBhIGksXG4ubWVudSA+IGxpID4gYSBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1lbnUgPiBsaSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi5tZW51LnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG4gIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxuICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubWVudS5zaW1wbGUgbGkge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5tZW51LnNpbXBsZSBhIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1lbnUuYWxpZ24tcmlnaHQ6OmJlZm9yZSwgLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5tZW51LmFsaWduLXJpZ2h0ID4gbGkge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5tZW51LmV4cGFuZGVkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4ubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tZW51Lmljb24tdG9wID4gbGkgPiBhIGltZyxcbi5tZW51Lmljb24tdG9wID4gbGkgPiBhIGksXG4ubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG8gMC4yNXJlbTtcbn1cblxuLm1lbnUubmVzdGVkIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5tZW51IC5hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6ICMwMDY2NGE7XG59XG5cbi5tZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuXG4ubWVudS1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZmZmZiwgMCAxNHB4IDAgI2ZmZmZmZjtcbn1cblxuLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7XG59XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjNTM1MzUzO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgIzUzNTM1MywgMCAxNHB4IDAgIzUzNTM1Mztcbn1cblxuLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTtcbn1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLWRyaWxsZG93biBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbn1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwNjY0YTtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHJpZ2h0OiAxcmVtO1xufVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDY2NGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMDBweDtcbiAgei1pbmRleDogMTA7XG59XG5cbi5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHRvcDogMTAwJTtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiAjNTM1MzUzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xufVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xufVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNTM1MzUzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbn1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNTM1MzUzO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICM1MzUzNTMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzUzNTM1MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM1MzUzNTM7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTM1MzUzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNTM1MzUzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNTM1MzUzO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIH1cbn1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbn1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA1cHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwMCU7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM1MzUzNTMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzUzNTM1MztcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNDI4NnJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZsZXgtdmlkZW8gaWZyYW1lLFxuLmZsZXgtdmlkZW8gb2JqZWN0LFxuLmZsZXgtdmlkZW8gZW1iZWQsXG4uZmxleC12aWRlbyB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmZsZXgtdmlkZW8udmltZW8ge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDY2NGE7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ubGFiZWwuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzUzNTM1MztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5sYWJlbC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogI2Y0YmY0YTtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5sYWJlbC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI2U2MzQyOTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5sYWJlbC5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICNmZDM2NTE7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4ubGFiZWwubGlnaHQtZ3JheSB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZWRpYS1vYmplY3QgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uLmJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvO1xufVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbn1cblxuLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YmVmb3JlLCAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQsXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoODMsIDgzLCA4MywgMC41KTtcbn1cblxuLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC41cyBlYXNlO1xufVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgei1pbmRleDogLTE7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gIGxlZnQ6IC0yNTBweDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjUwcHg7XG59XG5cbi5pcy1vcGVuLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gIHJpZ2h0OiAtMjUwcHg7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDI1MHB4O1xufVxuXG4uaXMtb3Blbi1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG59XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODMsIDgzLCA4MywgMC41KTtcbn1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgzLCA4MywgODMsIDAuNSk7XG59XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7XG59XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDEuMnJlbTtcbiAgbWFyZ2luOiAwLjFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTtcbn1cblxuLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucGFnaW5hdGlvbiBsaSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjA3MTQzcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5wYWdpbmF0aW9uIGEsXG4ucGFnaW5hdGlvbiBidXR0b24ge1xuICBjb2xvcjogIzUzNTM1MztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuMjE0MjlyZW0gMC43MTQyOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnBhZ2luYXRpb24gYTpob3Zlcixcbi5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG59XG5cbi5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgcGFkZGluZzogMC4yMTQyOXJlbSAwLjcxNDI5cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDA2NjRhO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICBwYWRkaW5nOiAwLjIxNDI5cmVtIDAuNzE0MjlyZW07XG4gIGNvbG9yOiAjY2FjYWNhO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBwYWRkaW5nOiAwLjIxNDI5cmVtIDAuNzE0MjlyZW07XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMDBhYic7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwYmInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY0YTtcbn1cblxuLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xufVxuXG4ucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRiZjRhO1xufVxuXG4ucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYzNDI5O1xufVxuXG4ucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkMzY1MTtcbn1cblxuLnByb2dyZXNzLmxpZ2h0LWdyYXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDY2NGE7XG59XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbn1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY0YTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU3M2Y7XG59XG5cbi5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbn1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG59XG5cbi5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgdG9wOiAwO1xuICB3aWR0aDogMC41cmVtO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG59XG5cbi5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgdG9wOiAwO1xufVxuXG4uc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgzLCA4MywgODMsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgb3V0bGluZTogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG5cbi5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbi5yZXZlYWwgLmNvbHVtbnMge1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIG1heC13aWR0aDogODUuNzE0MjlyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsIC5yZXZlYWwge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLnJldmVhbC5jb2xsYXBzZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbC50aW55IHtcbiAgICB3aWR0aDogMzAlO1xuICAgIG1heC13aWR0aDogODUuNzE0MjlyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLnNtYWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogODUuNzE0MjlyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLmxhcmdlIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogODUuNzE0MjlyZW07XG4gIH1cbn1cblxuLnJldmVhbC5mdWxsIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4uc3dpdGNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMS41cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xuICB0b3A6IDAuMjVyZW07XG4gIHdpZHRoOiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogIzAwNjY0YTtcbn1cblxuaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDIuMjVyZW07XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlO1xufVxuXG5pbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBmb250LXNpemU6IDAuNzE0MjlyZW07XG59XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xufVxuXG4uc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDEuNzVyZW07XG59XG5cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NTcxNHJlbTtcbn1cblxuLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xufVxuXG4uc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAycmVtO1xufVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDEuMTQyODZyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbn1cblxuLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMi43NXJlbTtcbn1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuY2FwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwLjU3MTQzcmVtIDAuNzE0MjlyZW0gMC43MTQyOXJlbTtcbn1cblxudGhlYWQsXG50Zm9vdCB7XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG50aGVhZCB0cixcbnRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbnRoZWFkIHRoLFxudGhlYWQgdGQsXG50Zm9vdCB0aCxcbnRmb290IHRkIHtcbiAgcGFkZGluZzogMC41NzE0M3JlbSAwLjcxNDI5cmVtIDAuNzE0MjlyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuXG50Ym9keSB0aCxcbnRib2R5IHRkIHtcbiAgcGFkZGluZzogMC41NzE0M3JlbSAwLjcxNDI5cmVtIDAuNzE0MjlyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbnRhYmxlLmhvdmVyIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbn1cblxudGFibGUuaG92ZXIgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xufVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xufVxuXG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udGFiczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAwNjY0YTtcbn1cblxuLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4udGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzAwN2E1OTtcbn1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnRhYnMtdGl0bGUgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjg1NzE0cmVtO1xufVxuXG4udGFicy10aXRsZSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuXG4udGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xufVxuXG4udGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGh1bWJuYWlsIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoODMsIDgzLCA4MywgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4udGh1bWJuYWlsOmhvdmVyLCAudGh1bWJuYWlsOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgwLCAxMDIsIDc0LCAwLjUpO1xufVxuXG4udGl0bGUtYmFyIHtcbiAgYmFja2dyb3VuZDogIzUzNTM1MztcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbn1cblxuLnRpdGxlLWJhcjo6YmVmb3JlLCAudGl0bGUtYmFyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi50aXRsZS1iYXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjNTM1MzUzO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgIzUzNTM1MywgMCAxNHB4IDAgIzUzNTM1Mztcbn1cblxuLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTtcbn1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDgwJTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICBtYXgtd2lkdGg6IDEwcmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi50b29sdGlwOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNTM1MzUzO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm90dG9tOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4udG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICBib3JkZXItY29sb3I6ICM1MzUzNTMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbn1cblxuLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzUzNTM1MztcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM1MzUzNTMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udG9wLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbn1cblxuLnRvcC1iYXI6OmJlZm9yZSwgLnRvcC1iYXI6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnRvcC1iYXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50b3AtYmFyLFxuLnRvcC1iYXIgdWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuXG4udG9wLWJhciBpbnB1dCB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4udG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi50b3AtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnRvcC1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiB1cmwoXCIuLi9Gb250cy9pY29tb29uLmVvdD9oNHUwZmtcIik7XG4gIHNyYzogdXJsKFwiLi4vRm9udHMvaWNvbW9vbi5lb3Q/aDR1MGZrI2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9Gb250cy9pY29tb29uLndvZmYyP2g0dTBma1wiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vRm9udHMvaWNvbW9vbi50dGY/aDR1MGZrXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9Gb250cy9pY29tb29uLndvZmY/aDR1MGZrXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL0ZvbnRzL2ljb21vb24uc3ZnP2g0dTBmayNpY29tb29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5pY29uLmJ1cmdlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLmJ1cmdlcjpiZWZvcmUge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSNXCI7XG59XG5cbi5pY29uLmNoZWNrIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmljb24uY2hlY2s6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kk1wiO1xufVxuXG4uaWNvbi5sZWZ0IHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmljb24ubGVmdDpiZWZvcmUge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSSXCI7XG59XG5cbi5pY29uLnJpZ2h0IHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmljb24ucmlnaHQ6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kkVwiO1xufVxuXG4uaWNvbi5kb3duIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmljb24uZG93bjpiZWZvcmUge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSQXCI7XG59XG5cbi5pY29uLnVwIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmljb24udXA6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kj1wiO1xufVxuXG4uaWNvbi5zZWFyY2gge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaWNvbi5zZWFyY2g6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kjlwiO1xufVxuXG4uaWNvbi5xdW90ZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLnF1b3RlOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupIBcIjtcbn1cblxuLmljb24ubWludXMge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaWNvbi5taW51czpiZWZvcmUge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSHXCI7XG59XG5cbi5pY29uLnBsdXMge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaWNvbi5wbHVzOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupINcIjtcbn1cblxuLmljb24uYWNyb2JhdCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLmFjcm9iYXQ6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kilwiO1xufVxuXG4uaWNvbi5xdW90ZW5kIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmljb24ucXVvdGVuZDphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupIFcIjtcbn1cblxuLmljb24ubWFpbCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLm1haWw6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kglwiO1xufVxuXG4uaWNvbi5kb3Qge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaWNvbi5kb3Q6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6khVwiO1xufVxuXG4uaWNvbi5kb3RhY3RpdmUge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaWNvbi5kb3RhY3RpdmU6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6khFwiO1xufVxuXG4uaWNvbi5kb3dubG9hZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLmRvd25sb2FkOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupIZcIjtcbn1cblxuLmljb24uaW5mbyB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLmluZm86YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kiFwiO1xufVxuXG4uaWNvbi5waG9uZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLnBob25lOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupIlcIjtcbn1cblxuLmljb24ubGluayB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLmxpbms6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6ki1wiO1xufVxuXG4uaWNvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLmNsb3NlOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupIxcIjtcbn1cblxuLmljb24udHdpdHRlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLnR3aXR0ZXI6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6klFwiO1xufVxuXG4uaWNvbi5mYWNlYm9vayB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pY29uLmZhY2Vib29rOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupJVcIjtcbn1cblxuLmljb24uZ29vZ2xlIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmljb24uZ29vZ2xlOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupJZcIjtcbn1cblxuLmJnMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDY2NGE7XG59XG5cbi5iZzIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xufVxuXG4uYmczIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJnNCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjM0Mjk7XG59XG5cbi5iZzUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWI2MmFjO1xufVxuXG4uYmc2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ODI5MTtcbn1cblxuLmJnNyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGJmNGE7XG59XG5cbi5iZzgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmQzNjUxO1xufVxuXG4uYmc5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cblxuLmNvMSB7XG4gIGNvbG9yOiAjMDA2NjRhO1xufVxuXG4uY28yIHtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5jbzMge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmNvNCB7XG4gIGNvbG9yOiAjZTYzNDI5O1xufVxuXG4uY281IHtcbiAgY29sb3I6ICNhYjYyYWM7XG59XG5cbi5jbzYge1xuICBjb2xvcjogI2U2ODI5MTtcbn1cblxuLmNvNyB7XG4gIGNvbG9yOiAjZjRiZjRhO1xufVxuXG4uY284IHtcbiAgY29sb3I6ICNmZDM2NTE7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLmgxLCAuaDEsIC5vZmYtY2FudmFzLWNvbnRlbnQgLnN2Zy1oMSwgLnN2Zy1oMSwgLm9mZi1jYW52YXMtY29udGVudCAuaDIsIC5oMiwgLm9mZi1jYW52YXMtY29udGVudCAuc3ZnLWgyLCAuc3ZnLWgyLCAub2ZmLWNhbnZhcy1jb250ZW50IC5oMywgLmgzLCAub2ZmLWNhbnZhcy1jb250ZW50IC5zdmctaDMsIC5zdmctaDMsIC5vZmYtY2FudmFzLWNvbnRlbnQgLmg0LCAuaDQsIC5zZWFyY2gtcmVzdWx0IG9sIGxpIGEsIC5zZWFyY2gtcmVzdWx0IHVsIGxpIGEsIC5vZmYtY2FudmFzLWNvbnRlbnQgLnN2Zy1oNCwgLnN2Zy1oNCwgLm9mZi1jYW52YXMtY29udGVudCAuaDUsIC5oNSwgLm9mZi1jYW52YXMtY29udGVudCAuc3ZnLWg1LCAuc3ZnLWg1LCAub2ZmLWNhbnZhcy1jb250ZW50IC5zdmctcywgLnN2Zy1zIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWUgTFQgVzA2ODdIdkNuT2JsXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5zLCAucywgLmhlYWRlcnNlYXJjaCwgLmhlYWRlcnNlYXJjaCAuaWNvbi5ib3gsIC5oZWFkZXJzZWFyY2ggaW5wdXQsIC5oZWFkZXJzZWFyY2ggYnV0dG9uLCAuc2VhcmNoLXJlc3VsdCBvbCBsaSwgLnNlYXJjaC1yZXN1bHQgdWwgbGksIC5zZWxlY3Qtc3R5bGUsIC5zZWxlY3Qtc3R5bGUgc2VsZWN0LCAudGFicyBhLCAuYWNjb3JkaW9uLXRpdGxlLCAuc2VhcmNoLXN0eWxlLCAuc2VhcmNoLXN0eWxlIGlucHV0LCAuYnV0dG9uLCAub2ZmLWNhbnZhcy1jb250ZW50IC56LCAueiwgYmxvY2txdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwNjY3TWRDbk9ibFwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLmNvbHVtbnMgdWwgbGkgc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWUgTFQgVzA2Xzg3IEh2IENuXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHAsIC5vZmYtY2FudmFzLWNvbnRlbnQgLmMsIC5jLCAudHlwbzMtbmVvcy1ub2RldHlwZXMtdGV4dCB1bCBsaSwgLnR5cG8zLW5lb3Mtbm9kZXR5cGVzLXRleHQgb2wgbGksIC5jb250YWN0LWZvcm0sIC5jb250YWN0LWZvcm0gaW5wdXQsIC5jb250YWN0LWZvcm0gc2VsZWN0LCAuY29udGFjdC1mb3JtIHRleHRhcmVhLCAuY29udGFjdC1mb3JtIG9wdGlvbiwgLmNvbnRhY3QtZm9ybSBhLCAuc2VhcmNoLXJlc3VsdCwgLnNlYXJjaC1yZXN1bHQgb2wgbGkgcCwgLnNlYXJjaC1yZXN1bHQgdWwgbGkgcCwgLnNlYXJjaC1yZXN1bHQgb2wgbGkgLmJyZWFkY3J1bWIsIC5zZWFyY2gtcmVzdWx0IHVsIGxpIC5icmVhZGNydW1iLCAuc2VhcmNoLXJlc3VsdCBvbCBsaSAuYnJlYWRjcnVtYiBzcGFuLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSAuYnJlYWRjcnVtYiBzcGFuLCAuc2VhcmNoLXJlc3VsdCBvbCBsaSAuYnJlYWRjcnVtYiBhLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSAuYnJlYWRjcnVtYiBhLCAubmF2cy1lbGVtZW50cyB1bC5uYXZzIGxpLm5hdnMtZWxlbWVudCwgLm5hdnMtZWxlbWVudHMgdWwubmF2cyBsaS5uYXZzLWVsZW1lbnQgYSwgLmNvbnRhY3QtZnJhbWUgbGFiZWwsIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBmbGljaHQsIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBmbGljaHQgYSwgLm9mZi1jYW52YXMtY29udGVudCAucGZsaWNodCBwLCAucGZsaWNodCwgLnBmbGljaHQgYSwgLnBmbGljaHQgcCwgLm9mZi1jYW52YXMtY29udGVudCAuc3ZnLWMsIC5zdmctYywgLm9mZi1jYW52YXMgbmF2IC52ZXJ0aWNhbC5kcm9wZG93bi5tZW51IGxpIGEsICN3aWRlbWVudS50b3AtYmFyIHVsLmxldmVsMSA+IGxpLCAjd2lkZW1lbnUudG9wLWJhciB1bC5sZXZlbDEgPiBsaSA+IGEsIC5jb2x1bW5zIHVsIGxpLCB1bC5zbWFsbCBsaSwgdWwuc21hbGwgbGkgYSwgdWwuYmlnIGxpLCB1bC5iaWcgbGkgYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwNl82NyBNZCBDblwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuZm9vdGVyLCBmb290ZXIgLmxlZnQsIGZvb3RlciAubGVmdCBhLCBmb290ZXIgLnJpZ2h0IHVsIGxpLCBmb290ZXIgLnJpZ2h0IHVsIGxpIGEge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZSBMVCBXMDZfNDcgTHQgQ25cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgcCwgLm9mZi1jYW52YXMtY29udGVudCAuYywgLmMsIC50eXBvMy1uZW9zLW5vZGV0eXBlcy10ZXh0IHVsIGxpLCAudHlwbzMtbmVvcy1ub2RldHlwZXMtdGV4dCBvbCBsaSwgLmNvbnRhY3QtZm9ybSwgLmNvbnRhY3QtZm9ybSBpbnB1dCwgLmNvbnRhY3QtZm9ybSBzZWxlY3QsIC5jb250YWN0LWZvcm0gdGV4dGFyZWEsIC5jb250YWN0LWZvcm0gb3B0aW9uLCAuY29udGFjdC1mb3JtIGEsIC5zZWFyY2gtcmVzdWx0LCAuc2VhcmNoLXJlc3VsdCBvbCBsaSBwLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSBwLCAuc2VhcmNoLXJlc3VsdCBvbCBsaSAuYnJlYWRjcnVtYiwgLnNlYXJjaC1yZXN1bHQgdWwgbGkgLmJyZWFkY3J1bWIsIC5zZWFyY2gtcmVzdWx0IG9sIGxpIC5icmVhZGNydW1iIHNwYW4sIC5zZWFyY2gtcmVzdWx0IHVsIGxpIC5icmVhZGNydW1iIHNwYW4sIC5zZWFyY2gtcmVzdWx0IG9sIGxpIC5icmVhZGNydW1iIGEsIC5zZWFyY2gtcmVzdWx0IHVsIGxpIC5icmVhZGNydW1iIGEsIC5uYXZzLWVsZW1lbnRzIHVsLm5hdnMgbGkubmF2cy1lbGVtZW50LCAubmF2cy1lbGVtZW50cyB1bC5uYXZzIGxpLm5hdnMtZWxlbWVudCBhLCAuY29udGFjdC1mcmFtZSBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTdyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMtY29udGVudCBwLCAub2ZmLWNhbnZhcy1jb250ZW50IC5jLCAuYywgLnR5cG8zLW5lb3Mtbm9kZXR5cGVzLXRleHQgdWwgbGksIC50eXBvMy1uZW9zLW5vZGV0eXBlcy10ZXh0IG9sIGxpLCAuY29udGFjdC1mb3JtLCAuY29udGFjdC1mb3JtIGlucHV0LCAuY29udGFjdC1mb3JtIHNlbGVjdCwgLmNvbnRhY3QtZm9ybSB0ZXh0YXJlYSwgLmNvbnRhY3QtZm9ybSBvcHRpb24sIC5jb250YWN0LWZvcm0gYSwgLnNlYXJjaC1yZXN1bHQsIC5zZWFyY2gtcmVzdWx0IG9sIGxpIHAsIC5zZWFyY2gtcmVzdWx0IHVsIGxpIHAsIC5zZWFyY2gtcmVzdWx0IG9sIGxpIC5icmVhZGNydW1iLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSAuYnJlYWRjcnVtYiwgLnNlYXJjaC1yZXN1bHQgb2wgbGkgLmJyZWFkY3J1bWIgc3BhbiwgLnNlYXJjaC1yZXN1bHQgdWwgbGkgLmJyZWFkY3J1bWIgc3BhbiwgLnNlYXJjaC1yZXN1bHQgb2wgbGkgLmJyZWFkY3J1bWIgYSwgLnNlYXJjaC1yZXN1bHQgdWwgbGkgLmJyZWFkY3J1bWIgYSwgLm5hdnMtZWxlbWVudHMgdWwubmF2cyBsaS5uYXZzLWVsZW1lbnQsIC5uYXZzLWVsZW1lbnRzIHVsLm5hdnMgbGkubmF2cy1lbGVtZW50IGEsIC5jb250YWN0LWZyYW1lIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzg1NzFyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy1jb250ZW50IHAsIC5vZmYtY2FudmFzLWNvbnRlbnQgLmMsIC5jLCAudHlwbzMtbmVvcy1ub2RldHlwZXMtdGV4dCB1bCBsaSwgLnR5cG8zLW5lb3Mtbm9kZXR5cGVzLXRleHQgb2wgbGksIC5jb250YWN0LWZvcm0sIC5jb250YWN0LWZvcm0gaW5wdXQsIC5jb250YWN0LWZvcm0gc2VsZWN0LCAuY29udGFjdC1mb3JtIHRleHRhcmVhLCAuY29udGFjdC1mb3JtIG9wdGlvbiwgLmNvbnRhY3QtZm9ybSBhLCAuc2VhcmNoLXJlc3VsdCwgLnNlYXJjaC1yZXN1bHQgb2wgbGkgcCwgLnNlYXJjaC1yZXN1bHQgdWwgbGkgcCwgLnNlYXJjaC1yZXN1bHQgb2wgbGkgLmJyZWFkY3J1bWIsIC5zZWFyY2gtcmVzdWx0IHVsIGxpIC5icmVhZGNydW1iLCAuc2VhcmNoLXJlc3VsdCBvbCBsaSAuYnJlYWRjcnVtYiBzcGFuLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSAuYnJlYWRjcnVtYiBzcGFuLCAuc2VhcmNoLXJlc3VsdCBvbCBsaSAuYnJlYWRjcnVtYiBhLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSAuYnJlYWRjcnVtYiBhLCAubmF2cy1lbGVtZW50cyB1bC5uYXZzIGxpLm5hdnMtZWxlbWVudCwgLm5hdnMtZWxlbWVudHMgdWwubmF2cyBsaS5uYXZzLWVsZW1lbnQgYSwgLmNvbnRhY3QtZnJhbWUgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS41NzE0M3JlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xNDI4NnJlbTtcbiAgfVxufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5wZmxpY2h0LCAub2ZmLWNhbnZhcy1jb250ZW50IC5wZmxpY2h0IGEsIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBmbGljaHQgcCwgLnBmbGljaHQsIC5wZmxpY2h0IGEsIC5wZmxpY2h0IHAge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLnN2Zy1jLCAuc3ZnLWMsIC5vZmYtY2FudmFzIG5hdiAudmVydGljYWwuZHJvcGRvd24ubWVudSBsaSBhIHtcbiAgZm9udC1zaXplOiAxLjU3MTQzcmVtO1xuICBsaW5lLWhlaWdodDogMi4xNDI4NnJlbTtcbn1cblxuI3dpZGVtZW51LnRvcC1iYXIgdWwubGV2ZWwxID4gbGksICN3aWRlbWVudS50b3AtYmFyIHVsLmxldmVsMSA+IGxpID4gYSB7XG4gIGZvbnQtc2l6ZTogMS4zNTcxNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICN3aWRlbWVudS50b3AtYmFyIHVsLmxldmVsMSA+IGxpLCAjd2lkZW1lbnUudG9wLWJhciB1bC5sZXZlbDEgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS42NDI4NnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICN3aWRlbWVudS50b3AtYmFyIHVsLmxldmVsMSA+IGxpLCAjd2lkZW1lbnUudG9wLWJhciB1bC5sZXZlbDEgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS45Mjg1N3JlbTtcbiAgfVxufVxuXG5mb290ZXIsIGZvb3RlciAubGVmdCwgZm9vdGVyIC5sZWZ0IGEsIGZvb3RlciAucmlnaHQgdWwgbGksIGZvb3RlciAucmlnaHQgdWwgbGkgYSB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZvb3RlciwgZm9vdGVyIC5sZWZ0LCBmb290ZXIgLmxlZnQgYSwgZm9vdGVyIC5yaWdodCB1bCBsaSwgZm9vdGVyIC5yaWdodCB1bCBsaSBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBmb290ZXIsIGZvb3RlciAubGVmdCwgZm9vdGVyIC5sZWZ0IGEsIGZvb3RlciAucmlnaHQgdWwgbGksIGZvb3RlciAucmlnaHQgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICB9XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLmgxLCAuaDEge1xuICBmb250LXNpemU6IDIuODU3MTRyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjkyODU3cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLmgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogNC4yODU3MXJlbTtcbiAgICBsaW5lLWhlaWdodDogNS4zNTcxNHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLmgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNi4wNzE0M3JlbTtcbiAgfVxufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5zdmctaDEsIC5zdmctaDEge1xuICBmb250LXNpemU6IDVyZW07XG4gIGxpbmUtaGVpZ2h0OiA1cmVtO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjc4NTcxcmVtO1xuICBsaW5lLWhlaWdodDogMi44NTcxNHJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy1jb250ZW50IC5oMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuMTQyODZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMjE0MjlyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy1jb250ZW50IC5oMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy41NzE0M3JlbTtcbiAgfVxufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5zdmctaDIsIC5zdmctaDIge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuODU3MTRyZW07XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLmgzLCAuaDMge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNTcxNDNyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMtY29udGVudCAuaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAzLjIxNDI5cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0LjI4NTcxcmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMtY29udGVudCAuaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAzLjkyODU3cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xuICB9XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLnN2Zy1oMywgLnN2Zy1oMyB7XG4gIGZvbnQtc2l6ZTogMy45Mjg1N3JlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNDI4NTdyZW07XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLmg0LCAuaDQsIC5zZWFyY2gtcmVzdWx0IG9sIGxpIGEsIC5zZWFyY2gtcmVzdWx0IHVsIGxpIGEge1xuICBmb250LXNpemU6IDIuMTQyODZyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjIxNDI5cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLmg0LCAuaDQsIC5zZWFyY2gtcmVzdWx0IG9sIGxpIGEsIC5zZWFyY2gtcmVzdWx0IHVsIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMtY29udGVudCAuaDQsIC5oNCwgLnNlYXJjaC1yZXN1bHQgb2wgbGkgYSwgLnNlYXJjaC1yZXN1bHQgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAyLjg1NzE0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjkyODU3cmVtO1xuICB9XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLnN2Zy1oNCwgLnN2Zy1oNCB7XG4gIGZvbnQtc2l6ZTogMi44NTcxNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS41NzE0M3JlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNjQyODZyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMtY29udGVudCAuaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjc4NTcxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjg1NzE0cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMtY29udGVudCAuaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAyLjE0Mjg2cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjIxNDI5cmVtO1xuICB9XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLnN2Zy1oNSwgLnN2Zy1oNSB7XG4gIGZvbnQtc2l6ZTogMi4xNDI4NnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzg1NzFyZW07XG59XG5cbi5jb2x1bW5zIHVsIGxpLCB1bC5zbWFsbCBsaSwgdWwuc21hbGwgbGkgYSwgdWwuYmlnIGxpLCB1bC5iaWcgbGkgYSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTdyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbHVtbnMgdWwgbGksIHVsLnNtYWxsIGxpLCB1bC5zbWFsbCBsaSBhLCB1bC5iaWcgbGksIHVsLmJpZyBsaSBhIHtcbiAgICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzg1NzFyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY29sdW1ucyB1bCBsaSwgdWwuc21hbGwgbGksIHVsLnNtYWxsIGxpIGEsIHVsLmJpZyBsaSwgdWwuYmlnIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMS41NzE0M3JlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xNDI4NnJlbTtcbiAgfVxufVxuXG4uY29sdW1ucyB1bCBsaSBzdHJvbmcge1xuICBmb250LXNpemU6IDEuMjg1NzFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jb2x1bW5zIHVsIGxpIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc4NTcxcmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNvbHVtbnMgdWwgbGkgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDEuNTcxNDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMTQyODZyZW07XG4gIH1cbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAucywgLnMsIC5oZWFkZXJzZWFyY2gsIC5oZWFkZXJzZWFyY2ggLmljb24uYm94LCAuaGVhZGVyc2VhcmNoIGlucHV0LCAuaGVhZGVyc2VhcmNoIGJ1dHRvbiwgLnNlYXJjaC1yZXN1bHQgb2wgbGksIC5zZWFyY2gtcmVzdWx0IHVsIGxpIHtcbiAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnMsIC5zLCAuaGVhZGVyc2VhcmNoLCAuaGVhZGVyc2VhcmNoIC5pY29uLmJveCwgLmhlYWRlcnNlYXJjaCBpbnB1dCwgLmhlYWRlcnNlYXJjaCBidXR0b24sIC5zZWFyY2gtcmVzdWx0IG9sIGxpLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxLjc4NTcxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjg1NzE0cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMtY29udGVudCAucywgLnMsIC5oZWFkZXJzZWFyY2gsIC5oZWFkZXJzZWFyY2ggLmljb24uYm94LCAuaGVhZGVyc2VhcmNoIGlucHV0LCAuaGVhZGVyc2VhcmNoIGJ1dHRvbiwgLnNlYXJjaC1yZXN1bHQgb2wgbGksIC5zZWFyY2gtcmVzdWx0IHVsIGxpIHtcbiAgICBmb250LXNpemU6IDIuMTQyODZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMjE0MjlyZW07XG4gIH1cbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAuc3ZnLXMsIC5zdmctcyB7XG4gIGZvbnQtc2l6ZTogMi4xNDI4NnJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMjE0MjlyZW07XG59XG5cbi5zZWxlY3Qtc3R5bGUsIC5zZWxlY3Qtc3R5bGUgc2VsZWN0LCAudGFicyBhLCAuYWNjb3JkaW9uLXRpdGxlLCAuc2VhcmNoLXN0eWxlLCAuc2VhcmNoLXN0eWxlIGlucHV0LCAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zZWxlY3Qtc3R5bGUsIC5zZWxlY3Qtc3R5bGUgc2VsZWN0LCAudGFicyBhLCAuYWNjb3JkaW9uLXRpdGxlLCAuc2VhcmNoLXN0eWxlLCAuc2VhcmNoLXN0eWxlIGlucHV0LCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuNzg1NzFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuODU3MTRyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2VsZWN0LXN0eWxlLCAuc2VsZWN0LXN0eWxlIHNlbGVjdCwgLnRhYnMgYSwgLmFjY29yZGlvbi10aXRsZSwgLnNlYXJjaC1zdHlsZSwgLnNlYXJjaC1zdHlsZSBpbnB1dCwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAyLjE0Mjg2cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjIxNDI5cmVtO1xuICB9XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLnosIC56LCBibG9ja3F1b3RlIHtcbiAgZm9udC1zaXplOiAxLjc4NTcxcmVtO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnosIC56LCBibG9ja3F1b3RlIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy4yMTQyOXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnosIC56LCBibG9ja3F1b3RlIHtcbiAgICBmb250LXNpemU6IDIuODU3MTRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuOTI4NTdyZW07XG4gIH1cbn1cblxuLm9mZi1jYW52YXMtY29udGVudCBwLCAub2ZmLWNhbnZhcy1jb250ZW50IC5jIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAucyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLnoge1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5oMSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLmgyIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAuaDMge1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5oNCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLmg1IHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAuc3ZnLXMge1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5zdmctYyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5jb2x1bW5zIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTtcbn1cblxuLnR5cG8zLW5lb3Mtbm9kZXR5cGVzLXRleHQgdWwsIC50eXBvMy1uZW9zLW5vZGV0eXBlcy10ZXh0IG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbn1cblxuLnJvd291dGVyIC5yb3csIC5yb3dvdXRlci5yb3cge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uZW9zLW5vZGV0eXBlcy10ZXh0IGEge1xuICBjb2xvcjogIzAwNjc0YTtcbn1cblxuLm5lb3Mtbm9kZXR5cGVzLXRleHQgYTpob3ZlciB7XG4gIGNvbG9yOiAjYTNkNTVjO1xufVxuXG4uZnVsbCB7XG4gIG1hcmdpbi1ib3R0b206IDMuNTcxNDNyZW07XG59XG5cbi5mdWxsc2NyZWVuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udGV4dGNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHRyaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dGxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGFyZ2UtbGVnYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDNyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubGFyZ2UtbGVnYWwuZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTg7XG59XG5cbi5sYXJnZS1sZWdhbCAuY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmxhcmdlLWxlZ2FsIHtcbiAgICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAubGFyZ2UtbGVnYWwge1xuICAgIGZvbnQtc2l6ZTogMS45Mjg1N3JlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5sYXJnZS1sZWdhbCB7XG4gICAgZm9udC1zaXplOiAyLjI4NTcxcmVtO1xuICB9XG59XG5cbi51YSAubGFyZ2UtbGVnYWwge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuZm9vdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxLjQyODU3cmVtIDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5mb290ZXIgLmxlZnQge1xuICBwYWRkaW5nLXRvcDogMi41cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgZm9vdGVyIC5sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuZm9vdGVyIC5sZWZ0IGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuZm9vdGVyIC5jZW50ZXIge1xuICBwYWRkaW5nLXRvcDogMS40Mjg1N3JlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5mb290ZXIgLnJpZ2h0IHtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICBmb290ZXIgLnJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuZm9vdGVyIC5yaWdodCB1bCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgZm9vdGVyIC5yaWdodCB1bCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbmZvb3RlciAucmlnaHQgdWwgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDIuMTQyODZyZW07XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgZm9vdGVyIC5yaWdodCB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmctbGVmdDogMS4wNzE0M3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjA3MTQzcmVtO1xuICB9XG59XG5cbmxhYmVsIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5yb3cge1xuICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucm93IC5yb3cge1xuICBtYXJnaW4tbGVmdDogLTEuMDcxNDNyZW07XG4gIG1hcmdpbi1yaWdodDogLTEuMDcxNDNyZW07XG59XG5cbi5jb2x1bW4sIC5jb2x1bW5zLCAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogLjcxNDI5cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IC43MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWVkaXVtLTEyLnBhZGRpbmcge1xuICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07XG59XG5cbi5mcmFtZXBhZGRpbmcge1xuICBwYWRkaW5nLXRvcDogNS43MTQyOXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDUuNzE0MjlyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmZyYW1lcGFkZGluZyB7XG4gICAgcGFkZGluZy10b3A6IDMuNTcxNDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDMuNTcxNDNyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5mcmFtZXBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiAxLjQyODU3cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjQyODU3cmVtO1xuICB9XG59XG5cbiNzdGlja3ktd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jc3RpY2t5LXdyYXBwZXIgLnRpdGxlLWJhciB7XG4gIHotaW5kZXg6IDEwMDAwMCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNzdGlja3ktd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jd2lkZW1lbnUtc3RpY2t5LXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jd2lkZW1lbnUtc3RpY2t5LXdyYXBwZXIgI3dpZGVtZW51IHtcbiAgei1pbmRleDogMTAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3dpZGVtZW51LXN0aWNreS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uaXMtc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaWUuc3F1YXJlIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgaGVpZ2h0OiAwcHg7XG59XG5cbi8qXG5cbiRmaWVsZHNldC1ib3JkZXJcbiRmaWVsZHNldC1wYWRkaW5nXG4kZmllbGRzZXQtbWFyZ2luXG4kbGVnZW5kLXBhZGRpbmdcbiRmb3JtLXNwYWNpbmdcbiRoZWxwdGV4dC1jb2xvclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZVxuJGhlbHB0ZXh0LWZvbnQtc3R5bGVcbiRpbnB1dC1wcmVmaXgtY29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZFxuJGlucHV0LXByZWZpeC1ib3JkZXJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZ1xuJGZvcm0tbGFiZWwtY29sb3JcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZVxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHRcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0XG4kc2VsZWN0LWJhY2tncm91bmRcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3JcbiRzZWxlY3QtcmFkaXVzXG4kaW5wdXQtY29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvclxuJGlucHV0LWZvbnQtZmFtaWx5XG4kaW5wdXQtZm9udC1zaXplXG4kaW5wdXQtYmFja2dyb3VuZFxuJGlucHV0LWJhY2tncm91bmQtZm9jdXNcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkXG4kaW5wdXQtYm9yZGVyXG4kaW5wdXQtYm9yZGVyLWZvY3VzXG4kaW5wdXQtc2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkXG4kaW5wdXQtdHJhbnNpdGlvblxuJGlucHV0LW51bWJlci1zcGlubmVyc1xuJGlucHV0LXJhZGl1c1xuJG1ldGVyLWhlaWdodFxuJG1ldGVyLXJhZGl1c1xuJG1ldGVyLWJhY2tncm91bmRcbiRtZXRlci1maWxsLWdvb2RcbiRtZXRlci1maWxsLW1lZGl1bVxuJG1ldGVyLWZpbGwtYmFkXG4kcHJvZ3Jlc3MtaGVpZ2h0XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZFxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b21cbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kXG4kcHJvZ3Jlc3MtcmFkaXVzXG4kc2xpZGVyLWhlaWdodFxuJHNsaWRlci1iYWNrZ3JvdW5kXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZFxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0XG4kc2xpZGVyLWhhbmRsZS13aWR0aFxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZFxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkXG4kc2xpZGVyLXJhZGl1c1xuXG4qL1xuLnNlbGVjdC1zdHlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5pdGlhbDtcbiAgaGVpZ2h0OiAzLjI4NTcxcmVtO1xuICBsaW5lLWhlaWdodDogMy4yODU3MXJlbTtcbn1cblxuLnNlbGVjdC1zdHlsZSBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogbGV0IHRoZSBjbGljayBwYXNzIHRyb3VnaCAqL1xuICB0b3A6IDUwJTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLnNlbGVjdC1zdHlsZSBsYWJlbC5sZWZ0IHtcbiAgcGFkZGluZzogMDtcbiAgbGVmdDogMC41NzE0M3JlbTtcbn1cblxuLnNlbGVjdC1zdHlsZSBsYWJlbC5yaWdodCB7XG4gIHBhZGRpbmc6IDA7XG4gIHJpZ2h0OiAxLjA3MTQzcmVtO1xufVxuXG4uc2VsZWN0LXN0eWxlIHNlbGVjdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMy4yODU3MXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMjg1NzFyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMi44NTcxNHJlbTtcbiAgcGFkZGluZy1yaWdodDogMy41NzE0M3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNvbnRhY3QtZm9ybSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29udGFjdC1mb3JtIC5lcnJvci1tZXNzYWdlIHtcbiAgY29sb3I6ICNlNjM0Mjk7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb250YWN0LWZvcm0gLmVycm9yIHtcbiAgYm9yZGVyOiAwLjA3MTQzcmVtIHNvbGlkICNlNjM0MjkgIWltcG9ydGFudDtcbn1cblxuLmNvbnRhY3QtZm9ybSAuYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDIuNTcxNDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzg1NzFyZW07XG59XG5cbi5jb250YWN0LWZvcm0gdGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiAyMS40Mjg1N3JlbTtcbn1cblxuLmNvbnRhY3QtZm9ybSBzZWxlY3Qge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jb250YWN0LWZvcm0gLmNlbnRlcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29udGFjdC1mb3JtIC5jZW50ZXJlZCBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLmNvbnRhY3QtZm9ybSBoMywgLmNvbnRhY3QtZm9ybSAuaDMge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29udGFjdC1mb3JtIC5jb250YWN0LWZyYW1lIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy10b3A6IDEuNDI4NTdyZW07XG4gIGJvcmRlci10b3A6IDAuMjg1NzFyZW0gc29saWQgI2ZmZmZmZjtcbn1cblxuLmNvbnRhY3QtZm9ybSAuY29udGFjdC1mcmFtZSAuaWNvbnJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY29udGFjdC1mb3JtIC5jb250YWN0LWZyYW1lIC5pY29ucmlnaHQ6YWZ0ZXIge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSRXCI7XG59XG5cbi5jb250YWN0LWZvcm0gLmNvbnRhY3QtZnJhbWUgLmljb25yaWdodDphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IDIuMDcxNDNyZW07XG4gIHRvcDogMC4yODU3MXJlbTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jb250YWN0LWZvcm0gLmNvbnRhY3QtZnJhbWUgc2VsZWN0IHtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5jb250YWN0LWZvcm0gLmNvbnRhY3QtZnJhbWUgc2VsZWN0IG9wdGlvbiB7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4uY29udGFjdC1mb3JtIC5jb250YWN0LWZyYW1lIHNlbGVjdC5zZWxlY3RlZCB7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG4uY29udGFjdC1mb3JtIC5jb250YWN0LWZyYW1lIC5yb3cge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXgtaGVpZ2h0OiAyMTQuMjg1NzFyZW07XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvcGFjaXR5OiAxO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMClcIjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbn1cblxuLmNvbnRhY3QtZm9ybSAuY29udGFjdC1mcmFtZSAucm93LmhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICBtYXgtaGVpZ2h0OiAwO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJyZW07XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jb250YWN0LWZvcm0gLnJvdW5kZWQuYmcxIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbXMtYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMDcxNDNyZW0gc29saWQgIzAwNjY0YTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY0YTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkLmJnMTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDRkMzg7XG59XG5cbi5jb250YWN0LWZvcm0gLnJvdW5kZWQuYmcyIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbXMtYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMDcxNDNyZW0gc29saWQgIzUzNTM1MztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkLmJnMjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NjQ2NDY7XG59XG5cbi5jb250YWN0LWZvcm0gLnJvdW5kZWQuYmczIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbXMtYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMDcxNDNyZW0gc29saWQgI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkLmJnMzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG5cbi5jb250YWN0LWZvcm0gLnJvdW5kZWQuYmc0IHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbXMtYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMDcxNDNyZW0gc29saWQgI2U2MzQyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MzQyOTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkLmJnNDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzI1MWE7XG59XG5cbi5jb250YWN0LWZvcm0gLnJvdW5kZWQuYmc1IHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbXMtYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMDcxNDNyZW0gc29saWQgI2FiNjJhYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiNjJhYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkLmJnNTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZjU1YTA7XG59XG5cbi5jb250YWN0LWZvcm0gLnJvdW5kZWQuYmc2IHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbXMtYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMDcxNDNyZW0gc29saWQgI2U2ODI5MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ODI5MTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkLmJnNjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMjZkN2U7XG59XG5cbi5jb250YWN0LWZvcm0gLnJvdW5kZWQuYmc3IHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbXMtYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMDcxNDNyZW0gc29saWQgI2Y0YmY0YTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YmY0YTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkLmJnNzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2I3MzI7XG59XG5cbi5jb250YWN0LWZvcm0gLnJvdW5kZWQuYmc4IHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbXMtYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMDcxNDNyZW0gc29saWQgI2ZkMzY1MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkMzY1MTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkLmJnODpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZDFkM2I7XG59XG5cbi5jb250YWN0LWZvcm0gLnJvdW5kZWQuYmc5IHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbXMtYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMDcxNDNyZW0gc29saWQgI2YyZjJmMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29udGFjdC1mb3JtIC5yb3VuZGVkLmJnOTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG59XG5cbi5jb250YWN0LWZvcm0uY2hlY2tpdCBoNSB7XG4gIG1hcmdpbi1ib3R0b206IDIuODU3MTRyZW07XG59XG5cbi5jb250YWN0LWZvcm0uY2hlY2tpdCAucm93IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNvbnRhY3QtZm9ybSBbdHlwZT0ndGV4dCddLCAuY29udGFjdC1mb3JtIFt0eXBlPSdwYXNzd29yZCddLCAuY29udGFjdC1mb3JtIFt0eXBlPSdkYXRlJ10sIC5jb250YWN0LWZvcm0gW3R5cGU9J2RhdGV0aW1lJ10sIC5jb250YWN0LWZvcm0gW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIC5jb250YWN0LWZvcm0gW3R5cGU9J21vbnRoJ10sIC5jb250YWN0LWZvcm0gW3R5cGU9J3dlZWsnXSwgLmNvbnRhY3QtZm9ybSBbdHlwZT0nZW1haWwnXSwgLmNvbnRhY3QtZm9ybSBbdHlwZT0nbnVtYmVyJ10sIC5jb250YWN0LWZvcm0gW3R5cGU9J3NlYXJjaCddLCAuY29udGFjdC1mb3JtIFt0eXBlPSd0ZWwnXSwgLmNvbnRhY3QtZm9ybSBbdHlwZT0ndGltZSddLCAuY29udGFjdC1mb3JtIFt0eXBlPSd1cmwnXSwgLmNvbnRhY3QtZm9ybSBbdHlwZT0nY29sb3InXSwgLmNvbnRhY3QtZm9ybSB0ZXh0YXJlYSwgLmNvbnRhY3QtZm9ybSBzZWxlY3Qge1xuICBib3JkZXI6IDA7XG59XG5cbi5jb250YWN0LWZvcm0gW3R5cGU9J3RleHQnXTphY3RpdmUsIC5jb250YWN0LWZvcm0gW3R5cGU9J3RleHQnXTpmb2N1cywgLmNvbnRhY3QtZm9ybSBbdHlwZT0ncGFzc3dvcmQnXTphY3RpdmUsIC5jb250YWN0LWZvcm0gW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIC5jb250YWN0LWZvcm0gW3R5cGU9J2RhdGUnXTphY3RpdmUsIC5jb250YWN0LWZvcm0gW3R5cGU9J2RhdGUnXTpmb2N1cywgLmNvbnRhY3QtZm9ybSBbdHlwZT0nZGF0ZXRpbWUnXTphY3RpdmUsIC5jb250YWN0LWZvcm0gW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIC5jb250YWN0LWZvcm0gW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106YWN0aXZlLCAuY29udGFjdC1mb3JtIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCAuY29udGFjdC1mb3JtIFt0eXBlPSdtb250aCddOmFjdGl2ZSwgLmNvbnRhY3QtZm9ybSBbdHlwZT0nbW9udGgnXTpmb2N1cywgLmNvbnRhY3QtZm9ybSBbdHlwZT0nd2VlayddOmFjdGl2ZSwgLmNvbnRhY3QtZm9ybSBbdHlwZT0nd2VlayddOmZvY3VzLCAuY29udGFjdC1mb3JtIFt0eXBlPSdlbWFpbCddOmFjdGl2ZSwgLmNvbnRhY3QtZm9ybSBbdHlwZT0nZW1haWwnXTpmb2N1cywgLmNvbnRhY3QtZm9ybSBbdHlwZT0nbnVtYmVyJ106YWN0aXZlLCAuY29udGFjdC1mb3JtIFt0eXBlPSdudW1iZXInXTpmb2N1cywgLmNvbnRhY3QtZm9ybSBbdHlwZT0nc2VhcmNoJ106YWN0aXZlLCAuY29udGFjdC1mb3JtIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgLmNvbnRhY3QtZm9ybSBbdHlwZT0ndGVsJ106YWN0aXZlLCAuY29udGFjdC1mb3JtIFt0eXBlPSd0ZWwnXTpmb2N1cywgLmNvbnRhY3QtZm9ybSBbdHlwZT0ndGltZSddOmFjdGl2ZSwgLmNvbnRhY3QtZm9ybSBbdHlwZT0ndGltZSddOmZvY3VzLCAuY29udGFjdC1mb3JtIFt0eXBlPSd1cmwnXTphY3RpdmUsIC5jb250YWN0LWZvcm0gW3R5cGU9J3VybCddOmZvY3VzLCAuY29udGFjdC1mb3JtIFt0eXBlPSdjb2xvciddOmFjdGl2ZSwgLmNvbnRhY3QtZm9ybSBbdHlwZT0nY29sb3InXTpmb2N1cywgLmNvbnRhY3QtZm9ybSB0ZXh0YXJlYTphY3RpdmUsIC5jb250YWN0LWZvcm0gdGV4dGFyZWE6Zm9jdXMsIC5jb250YWN0LWZvcm0gc2VsZWN0OmFjdGl2ZSwgLmNvbnRhY3QtZm9ybSBzZWxlY3Q6Zm9jdXMge1xuICBib3JkZXI6IDA7XG59XG5cbi50eXBvMy1uZW9zLWFsaWdubWVudC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmZpZ3VyZS5mb2N1c3BvaW50LCBmaWd1cmUuaW50ZXJjaGFuZ2UtZm9jdXNwb2ludCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5maWd1cmUuZm9jdXNwb2ludCBpbWcsIGZpZ3VyZS5pbnRlcmNoYW5nZS1mb2N1c3BvaW50IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgLyogZmlsbCBhbmQgbWFpbnRhaW4gYXNwZWN0IHJhdGlvICovXG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbmZpZ3VyZS5mb2N1c3BvaW50IGltZ1tkYXRhLWxhenktaW50ZXJjaGFuZ2VdLCBmaWd1cmUuaW50ZXJjaGFuZ2UtZm9jdXNwb2ludCBpbWdbZGF0YS1sYXp5LWludGVyY2hhbmdlXSB7XG4gIGhlaWdodDogMXB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxcHg7XG59XG5cbmZpZ3VyZS5mb2N1c3BvaW50IGZpZ2NhcHRpb24sIGZpZ3VyZS5pbnRlcmNoYW5nZS1mb2N1c3BvaW50IGZpZ2NhcHRpb24ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDAuNzE0MjlyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50eXBvMy1uZW9zLWFsaWdubWVudC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGVtb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKlxuJG1lbnUtbWFyZ2luXG4kbWVudS1tYXJnaW4tbmVzdGVkXG4kbWVudS1pdGVtLXBhZGRpbmdcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlXG4kbWVudS1pY29uLXNwYWNpbmdcblxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3JcbiRhbmNob3ItY29sb3JcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmRcbiRkcm9wZG93bm1lbnUtYm9yZGVyXG4qL1xuI3dpZGVtZW51IHtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSg4MywgODMsIDgzLCAwLjUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjd2lkZW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbiN3aWRlbWVudS50b3AtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgbWluLWhlaWdodDogNXJlbTtcbn1cblxuI3dpZGVtZW51LnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gIG1pbi1oZWlnaHQ6IDRyZW07XG59XG5cbiN3aWRlbWVudS50b3AtYmFyIC5jb21wYW55LWxvZ28tbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMS40Mjg1N3JlbTtcbiAgdG9wOiAwLjM1NzE0cmVtO1xuICB6LWluZGV4OiAxMTAwMDAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuI3dpZGVtZW51LnRvcC1iYXIgLmNvbXBhbnktbG9nby1sZWZ0IGltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMS43ODU3MXJlbTtcbn1cblxuI3dpZGVtZW51LnRvcC1iYXIgbmF2IHtcbiAgei1pbmRleDogMTAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jd2lkZW1lbnUudG9wLWJhciB1bCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbiN3aWRlbWVudS50b3AtYmFyIHVsLmxldmVsMSB7XG4gIGxlZnQ6IDUwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jd2lkZW1lbnUudG9wLWJhciB1bC5sZXZlbDEgPiBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAyLjY0Mjg2cmVtO1xuICBib3JkZXItYm90dG9tOiAwLjI4NTcxcmVtIHNvbGlkICNmZmZmZmY7XG59XG5cbiN3aWRlbWVudS50b3AtYmFyIHVsLmxldmVsMSA+IGxpOmhvdmVyLCAjd2lkZW1lbnUudG9wLWJhciB1bC5sZXZlbDEgPiBsaS5jdXJyZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMC4yODU3MXJlbSBzb2xpZCAjMDA2NjRhO1xufVxuXG4jd2lkZW1lbnUudG9wLWJhciB1bC5sZXZlbDEgPiBsaSA+IGEge1xuICBsaW5lLWhlaWdodDogMi42NDI4NnJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAwLjY0Mjg2cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mjg1N3JlbTtcbn1cblxuI3dpZGVtZW51IC5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTEwJTtcbn1cblxuLnRpdGxlLWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSg4MywgODMsIDgzLCAwLjUpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50aXRsZS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRpdGxlLWJhciAudGl0bGUtYmFyLXRpdGxlIGltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEuNzg1NzFyZW07XG59XG5cbi50aXRsZS1iYXIgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm9mZi1jYW52YXMge1xuICB6LWluZGV4OiAxMDAwMDtcbn1cblxuLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAtMTAwJTtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4ub2ZmLWNhbnZhcyAubWVudS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMS4wNzE0M3JlbTtcbiAgdG9wOiAwLjcxNDI5cmVtO1xuICB3aWR0aDogMS43ODU3MXJlbTtcbiAgaGVpZ2h0OiAxLjc4NTcxcmVtO1xuICBmb250LXNpemU6IDEuNzg1NzFyZW07XG59XG5cbi5vZmYtY2FudmFzIC5tZW51LWljb246OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5vZmYtY2FudmFzIG5hdiB7XG4gIG1hcmdpbi10b3A6IDMuNTcxNDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNzE0MjlyZW07XG59XG5cbi5vZmYtY2FudmFzIG5hdiAudmVydGljYWwuZHJvcGRvd24ubWVudSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm9mZi1jYW52YXMgbmF2IC52ZXJ0aWNhbC5kcm9wZG93bi5tZW51IGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ub2ZmLWNhbnZhcyAuY29tcGFueS1vZmZjYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDEuNDI4NTdyZW07XG4gIHRvcDogMC4zNTcxNHJlbTtcbn1cblxuLm9mZi1jYW52YXMgLmNvbXBhbnktb2ZmY2FudmFzIGltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEuNzg1NzFyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubm8tanMgLnRvcC1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubm8tanMgLnRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaXMtb3Blbi1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4udGl0bGUtYmFyLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG59XG5cbi50aXRsZS1iYXItbGVmdCAubWVudS1pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjA3MTQzcmVtO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubmF2LWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMXJlbTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1tb3otdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMS40Mjg1N3JlbTtcbn1cblxuLm5hdi1pY29uIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiAjMDA2NjRhO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDAuMjE0MjlyZW07XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAtbW96LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5uYXYtaWNvbiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gIHRvcDogMDtcbn1cblxuLm5hdi1pY29uIHNwYW46bnRoLWNoaWxkKDIpLCAubmF2LWljb24gc3BhbjpudGgtY2hpbGQoMykge1xuICB0b3A6IDAuNDI4NTdyZW07XG59XG5cbi5uYXYtaWNvbiBzcGFuOm50aC1jaGlsZCg0KSB7XG4gIHRvcDogMC44NTcxNHJlbTtcbn1cblxuLmlzLW9wZW4gLm5hdi1pY29uIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDAuMTQyODZyZW07XG4gIHdpZHRoOiAwJTtcbn1cblxuLmlzLW9wZW4gLm5hdi1pY29uIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmlzLW9wZW4gLm5hdi1pY29uIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uaXMtb3BlbiAubmF2LWljb24gc3BhbjpudGgtY2hpbGQoNCkge1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogMC4xNDI4NnJlbTtcbiAgd2lkdGg6IDAlO1xufVxuXG4vKlxuXG4kdGFiLW1hcmdpblxuJHRhYi1iYWNrZ3JvdW5kXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlXG4kdGFiLWl0ZW0tZm9udC1zaXplXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuJHRhYi1pdGVtLXBhZGRpbmdcbiR0YWItZXhwYW5kLW1heFxuJHRhYi1jb250ZW50LWJhY2tncm91bmRcbiR0YWItY29udGVudC1ib3JkZXJcbiR0YWItY29udGVudC1jb2xvclxuJHRhYi1jb250ZW50LXBhZGRpbmdcblxuKi9cbi50YWJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXItdG9wOiAwLjA3MTQzcmVtIHNvbGlkICM1MzUzNTM7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4kYWNjb3JkaW9uLXBsdXNtaW51c1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmdcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3JcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nXG5cbiovXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcGFkZGluZzogMCAxLjQyODU3cmVtO1xufVxuXG4uYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogMS4wNzE0M3JlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupJBcIjtcbn1cblxuLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cblxuLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogMS4wNzE0M3JlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupI9cIjtcbn1cblxudWwuYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uYWNjb3JkaW9uLWVsZW1lbnQuYzEgLmFjY29yZGlvbi10aXRsZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYWNjb3JkaW9uLWVsZW1lbnQuYzEgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbi1lbGVtZW50LmMxIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tZWxlbWVudC5jMSAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY0YTtcbn1cblxuLmFjY29yZGlvbi1lbGVtZW50LmMyIC5hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmFjY29yZGlvbi1lbGVtZW50LmMyIC5hY2NvcmRpb24tdGl0bGUsIC5hY2NvcmRpb24tZWxlbWVudC5jMiAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLWVsZW1lbnQuYzIgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XG59XG5cbi5hY2NvcmRpb24tZWxlbWVudC5jMyAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5hY2NvcmRpb24tZWxlbWVudC5jMyAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uLWVsZW1lbnQuYzMgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi1lbGVtZW50LmMzIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYWNjb3JkaW9uLWVsZW1lbnQuYzQgLmFjY29yZGlvbi10aXRsZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYWNjb3JkaW9uLWVsZW1lbnQuYzQgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbi1lbGVtZW50LmM0IC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tZWxlbWVudC5jNCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MzQyOTtcbn1cblxuLmFjY29yZGlvbi1lbGVtZW50LmM1IC5hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmFjY29yZGlvbi1lbGVtZW50LmM1IC5hY2NvcmRpb24tdGl0bGUsIC5hY2NvcmRpb24tZWxlbWVudC5jNSAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLWVsZW1lbnQuYzUgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYjYyYWM7XG59XG5cbi5hY2NvcmRpb24tZWxlbWVudC5jNiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5hY2NvcmRpb24tZWxlbWVudC5jNiAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uLWVsZW1lbnQuYzYgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi1lbGVtZW50LmM2IC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTY4MjkxO1xufVxuXG4uYWNjb3JkaW9uLWVsZW1lbnQuYzcgLmFjY29yZGlvbi10aXRsZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYWNjb3JkaW9uLWVsZW1lbnQuYzcgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbi1lbGVtZW50LmM3IC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tZWxlbWVudC5jNyAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YmY0YTtcbn1cblxuLmFjY29yZGlvbi1lbGVtZW50LmM4IC5hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmFjY29yZGlvbi1lbGVtZW50LmM4IC5hY2NvcmRpb24tdGl0bGUsIC5hY2NvcmRpb24tZWxlbWVudC5jOCAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLWVsZW1lbnQuYzggLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZDM2NTE7XG59XG5cbi5hY2NvcmRpb24tY29udGVudCwgLmFjY29yZGlvbi1pdGVtIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1pbWFnZS13aWR0aDogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43MTQyOXJlbTtcbn1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDtcbn1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDtcbn1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDtcbn1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50O1xufVxuXG4vKlxuXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZFxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZVxuJG9yYml0LWJ1bGxldC1kaWFtZXRlclxuJG9yYml0LWJ1bGxldC1tYXJnaW5cbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcFxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nXG4kb3JiaXQtY29udHJvbC16aW5kZXhcblxuKi9cbi5vcmJpdCB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjU3MTQzcmVtO1xufVxuXG4ub3JiaXQgYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ub3JiaXQgLm9yYml0LXByZXZpb3VzLCAub3JiaXQgLm9yYml0LW5leHQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAyNSU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRvcDogNTAlO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4ub3JiaXQgLm9yYml0LXByZXZpb3VzLmZpeGVkLCAub3JiaXQgLm9yYml0LW5leHQuZml4ZWQge1xuICB0b3A6IDIxLjQyODU3cmVtO1xufVxuXG4ub3JiaXQgLm9yYml0LXByZXZpb3VzLmJ1dHRvbmFsbHdheXMsIC5vcmJpdCAub3JiaXQtcHJldmlvdXMuYnV0dG9uYmVsb3csIC5vcmJpdCAub3JiaXQtbmV4dC5idXR0b25hbGx3YXlzLCAub3JiaXQgLm9yYml0LW5leHQuYnV0dG9uYmVsb3cge1xuICBoZWlnaHQ6IDEwLjcxNDI5cmVtO1xuICB3aWR0aDogMy41NzE0M3JlbTtcbn1cblxuLm9yYml0IC5vcmJpdC1wcmV2aW91cyAuaWNvbiwgLm9yYml0IC5vcmJpdC1uZXh0IC5pY29uIHtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgZm9udC1zaXplOiAyLjE0Mjg2cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm9yYml0IC5vcmJpdC1wcmV2aW91cy5idXR0b25iZWxvdywgLm9yYml0IC5vcmJpdC1uZXh0LmJ1dHRvbmJlbG93IHtcbiAgdG9wOiBhdXRvO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIGJvdHRvbTogLTIuNXJlbTtcbn1cblxuLm9yYml0IC5vcmJpdC1wcmV2aW91cyAuaWNvbi5sZWZ0IHtcbiAgb3BhY2l0eTogMDtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbn1cblxuLm9yYml0IC5vcmJpdC1wcmV2aW91czpob3ZlciAuaWNvbi5sZWZ0LCAub3JiaXQgLm9yYml0LXByZXZpb3VzLmJ1dHRvbmFsbHdheXMgLmljb24ubGVmdCB7XG4gIG9wYWNpdHk6IDE7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLm9yYml0IC5vcmJpdC1uZXh0IC5pY29uLnJpZ2h0IHtcbiAgb3BhY2l0eTogMDtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG59XG5cbi5vcmJpdCAub3JiaXQtbmV4dDpob3ZlciAuaWNvbi5yaWdodCwgLm9yYml0IC5vcmJpdC1uZXh0LmJ1dHRvbmFsbHdheXMgLmljb24ucmlnaHQge1xuICBvcGFjaXR5OiAxO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMClcIjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5vcmJpdCAub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4ub3JiaXQgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgd2lkdGg6IDAuNzE0MjlyZW07XG4gIGhlaWdodDogMC43MTQyOXJlbTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ub3JiaXQgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIHdpZHRoOiAxLjE0Mjg2cmVtO1xuICBoZWlnaHQ6IDEuMTQyODZyZW07XG4gIHBhZGRpbmctdG9wOiAwLjIxNDI5cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yMTQyOXJlbTtcbn1cblxuLm9yYml0LmMxIC5vcmJpdC1wcmV2aW91cyAuaWNvbiwgLm9yYml0LmMxIC5vcmJpdC1uZXh0IC5pY29uIHtcbiAgY29sb3I6ICMwMDY2NGE7XG59XG5cbi5vcmJpdC5jMSAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2NjRhO1xufVxuXG4ub3JiaXQuYzIgLm9yYml0LXByZXZpb3VzIC5pY29uLCAub3JiaXQuYzIgLm9yYml0LW5leHQgLmljb24ge1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuLm9yYml0LmMyIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XG59XG5cbi5vcmJpdC5jMyAub3JiaXQtcHJldmlvdXMgLmljb24sIC5vcmJpdC5jMyAub3JiaXQtbmV4dCAuaWNvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ub3JiaXQuYzMgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLm9yYml0LmM0IC5vcmJpdC1wcmV2aW91cyAuaWNvbiwgLm9yYml0LmM0IC5vcmJpdC1uZXh0IC5pY29uIHtcbiAgY29sb3I6ICNlNjM0Mjk7XG59XG5cbi5vcmJpdC5jNCAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYzNDI5O1xufVxuXG4ub3JiaXQuYzUgLm9yYml0LXByZXZpb3VzIC5pY29uLCAub3JiaXQuYzUgLm9yYml0LW5leHQgLmljb24ge1xuICBjb2xvcjogI2FiNjJhYztcbn1cblxuLm9yYml0LmM1IC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYjYyYWM7XG59XG5cbi5vcmJpdC5jNiAub3JiaXQtcHJldmlvdXMgLmljb24sIC5vcmJpdC5jNiAub3JiaXQtbmV4dCAuaWNvbiB7XG4gIGNvbG9yOiAjZTY4MjkxO1xufVxuXG4ub3JiaXQuYzYgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ODI5MTtcbn1cblxuLm9yYml0LmM3IC5vcmJpdC1wcmV2aW91cyAuaWNvbiwgLm9yYml0LmM3IC5vcmJpdC1uZXh0IC5pY29uIHtcbiAgY29sb3I6ICNmNGJmNGE7XG59XG5cbi5vcmJpdC5jNyAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRiZjRhO1xufVxuXG4ub3JiaXQuYzggLm9yYml0LXByZXZpb3VzIC5pY29uLCAub3JiaXQuYzggLm9yYml0LW5leHQgLmljb24ge1xuICBjb2xvcjogI2ZkMzY1MTtcbn1cblxuLm9yYml0LmM4IC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZDM2NTE7XG59XG5cbi5vcmJpdC5jOSAub3JiaXQtcHJldmlvdXMgLmljb24sIC5vcmJpdC5jOSAub3JiaXQtbmV4dCAuaWNvbiB7XG4gIGNvbG9yOiAjZjJmMmYyO1xufVxuXG4ub3JiaXQuYzkgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cblxuLyogT3JiaXQgRml4ICovXG4uYXV0b2hlaWdodCAub3JiaXQtc2xpZGUge1xuICBtYXgtaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG59XG5cbi5hdXRvaGVpZ2h0IC5vcmJpdC1jb250YWluZXIge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmhlYWRlcnNlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTUwO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjcxNDI5cmVtO1xufVxuXG4uaGVhZGVyc2VhcmNoIC5tZW51IHtcbiAgcGFkZGluZy1yaWdodDogMS4wNzE0M3JlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlYWRlcnNlYXJjaCAuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmhlYWRlcnNlYXJjaCAuaWNvbi5ib3gge1xuICBsaW5lLWhlaWdodDogMi43ODU3MXJlbTtcbiAgcGFkZGluZzogMC41cmVtIDEuMDcxNDNyZW0gMCAwO1xufVxuXG4uaGVhZGVyc2VhcmNoIGJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxLjA3MTQzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjQyODU3cmVtO1xuICBib3JkZXItcmlnaHQ6IDAuMDcxNDNyZW0gc29saWQgI2NhY2FjYTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjQyODU3cmVtO1xufVxuXG4uaGVhZGVyc2VhcmNoIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIHdpZHRoOiAyOC41NzE0M3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAyLjc4NTcxcmVtO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uaGVhZGVyc2VhcmNoLm1vYmlsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxLjQyODU3cmVtIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMS40Mjg1N3JlbTtcbiAgcGFkZGluZy1yaWdodDogMS40Mjg1N3JlbTtcbn1cblxuLmhlYWRlcnNlYXJjaC5tb2JpbGUgaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmhlYWRlcnNlYXJjaC5tb2JpbGUgLmJ1dHRvbnNlYXJjaCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmhlYWRlcnNlYXJjaC5tb2JpbGUgYnV0dG9uIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5oZWFkZXJzZWFyY2gubW9iaWxlIC5tZW51IHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMC43MTQyOXJlbTtcbn1cblxuLmhlYWRlcnNlYXJjaC5tb2JpbGUgLm1lbnUgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5zZWFyY2gtc3R5bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2VhcmNoLXN0eWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtO1xuICB9XG59XG5cbi5zZWFyY2gtc3R5bGUgLnNlYXJjaGljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDUwJTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2VhcmNoLXN0eWxlIGlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IDMuMjg1NzFyZW07XG4gIGhlaWdodDogMy4yODU3MXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlYXJjaC1yZXN1bHQgLmxpc3Qge1xuICBtYXJnaW4tdG9wOiA1LjcxNDI5cmVtO1xuICBtYXJnaW4tYm90dG9tOiAzLjU3MTQzcmVtO1xufVxuXG4uc2VhcmNoLXJlc3VsdCBlbSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5zZWFyY2gtcmVzdWx0IC5yZXN1bHRzcm93LCAuc2VhcmNoLXJlc3VsdCAucmVzdWx0c2xpc3Qge1xuICBtYXJnaW4tdG9wOiA1LjcxNDI5cmVtO1xufVxuXG4uc2VhcmNoLXJlc3VsdCAuc3VibWl0cHJldmZvcm0ge1xuICBoZWlnaHQ6IDMuMjg1NzFyZW07XG59XG5cbi5zZWFyY2gtcmVzdWx0IG9sLCAuc2VhcmNoLXJlc3VsdCB1bCB7XG4gIG1hcmdpbi10b3A6IDEuNDI4NTdyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc2VhcmNoLXJlc3VsdCBvbCBsaSwgLnNlYXJjaC1yZXN1bHQgdWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAzLjU3MTQzcmVtO1xufVxuXG4uc2VhcmNoLXJlc3VsdCBvbCBsaSBhLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSBhIHtcbiAgY29sb3I6ICMwMDY2NGE7XG59XG5cbi5zZWFyY2gtcmVzdWx0IG9sIGxpIHAsIC5zZWFyY2gtcmVzdWx0IHVsIGxpIHAge1xuICBtYXJnaW4tdG9wOiAxLjQyODU3cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtO1xufVxuXG4uc2VhcmNoLXJlc3VsdCBvbCBsaSAuYnJlYWRjcnVtYiBzcGFuLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSAuYnJlYWRjcnVtYiBzcGFuIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjcxNDI5cmVtO1xufVxuXG4uc2VhcmNoLXJlc3VsdCBvbCBsaSAuYnJlYWRjcnVtYiBhLCAuc2VhcmNoLXJlc3VsdCB1bCBsaSAuYnJlYWRjcnVtYiBhIHtcbiAgY29sb3I6ICMwMDY2NGE7XG59XG5cbi5zdGFnZW1vYmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5zdGFnZW1vYmlsZS50b3Age1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xufVxuXG4uc3RhZ2Vtb2JpbGUuYm90dG9tIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbn1cblxuLnN0YWdlbW9iaWxlLmxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbn1cblxuLnN0YWdlbW9iaWxlLnJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xufVxuXG4uc3RhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc3RhZ2UudG9wIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbn1cblxuLnN0YWdlLmJvdHRvbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG59XG5cbi5zdGFnZS5sZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG59XG5cbi5zdGFnZS5yaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcbn1cblxuLnN0YWdlIC5pbm5lcmNvbnRlbnQgLnJvdyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc3RhZ2UgLmlubmVyY29udGVudCAucm93IC5yb3cge1xuICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc3RhZ2UgLmlubmVyY29udGVudC50ZXh0bGVmdCBkaXYge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnN0YWdlIC5pbm5lcmNvbnRlbnQudGV4dGNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zdGFnZSAuaW5uZXJjb250ZW50LnRleHRjZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnN0YWdlIC5pbm5lcmNvbnRlbnQudGV4dGNlbnRlciBkaXYge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnN0YWdlIC5pbm5lcmNvbnRlbnQudGV4dHJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc3RhZ2UgLmlubmVyY29udGVudC50ZXh0cmlnaHQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnN0YWdlIC5pbm5lcmNvbnRlbnQudGV4dHJpZ2h0IGRpdiB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc3RhZ2UgLmhvcml6b250YWwuY2VudGVyLCAuc3RhZ2UgLmhvcml6b250YWwudGV4dGNlbnRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnN0YWdlIC5ob3Jpem9udGFsLmNlbnRlciwgLnN0YWdlIC5ob3Jpem9udGFsLnRleHRjZW50ZXIge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uc3RhZ2UgLmhvcml6b250YWwucmlnaHQsIC5zdGFnZSAuaG9yaXpvbnRhbC50ZXh0cmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc3RhZ2UgLmhvcml6b250YWwucmlnaHQsIC5zdGFnZSAuaG9yaXpvbnRhbC50ZXh0cmlnaHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc3RhZ2UgLmhvcml6b250YWwge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zdGFnZSAudGFibGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdGFnZSAuY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMy41NzE0M3JlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zdGFnZSAuY2VsbCB7XG4gICAgcGFkZGluZzogMS40Mjg1N3JlbTtcbiAgfVxufVxuXG4uc3RhZ2UgLmNlbGwubWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnN0YWdlIC5jZWxsLmJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbiNzdGFnZS5icmVha21vYmlsZSAuc3RhZ2Vtb2JpbGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjc3RhZ2UuYnJlYWttb2JpbGUgLnN0YWdlbW9iaWxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgI3N0YWdlLmJyZWFrbW9iaWxlIC5zdGFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gICNzdGFnZS5icmVha21vYmlsZSAuc3RhZ2UgLm9uLXRoZS1mbHktYmVoYXZpb3Ige1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbiNzdGFnZS5icmVha3RhYmxldCAuc3RhZ2Vtb2JpbGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjc3RhZ2UuYnJlYWt0YWJsZXQgLnN0YWdlbW9iaWxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgI3N0YWdlLmJyZWFrdGFibGV0IC5zdGFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAjc3RhZ2UuYnJlYWt0YWJsZXQgLnN0YWdlIC5vbi10aGUtZmx5LWJlaGF2aW9yIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICNzdGFnZS5icmVha3RhYmxldCAuc3RhZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgI3N0YWdlLmJyZWFrdGFibGV0IC5zdGFnZSAub24tdGhlLWZseS1iZWhhdmlvciB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhlYWRsaW5lLmMxLCAuaGVhZGxpbmUuYzEgYSB7XG4gIGNvbG9yOiAjMDA2NjRhO1xufVxuXG4uaGVhZGxpbmUuYzIsIC5oZWFkbGluZS5jMiBhIHtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5oZWFkbGluZS5jMywgLmhlYWRsaW5lLmMzIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmhlYWRsaW5lLmM0LCAuaGVhZGxpbmUuYzQgYSB7XG4gIGNvbG9yOiAjZTYzNDI5O1xufVxuXG4uaGVhZGxpbmUuYzUsIC5oZWFkbGluZS5jNSBhIHtcbiAgY29sb3I6ICNhYjYyYWM7XG59XG5cbi5oZWFkbGluZS5jNiwgLmhlYWRsaW5lLmM2IGEge1xuICBjb2xvcjogI2U2ODI5MTtcbn1cblxuLmhlYWRsaW5lLmM3LCAuaGVhZGxpbmUuYzcgYSB7XG4gIGNvbG9yOiAjZjRiZjRhO1xufVxuXG4uaGVhZGxpbmUuYzgsIC5oZWFkbGluZS5jOCBhIHtcbiAgY29sb3I6ICNmZDM2NTE7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAgMS4wNzE0M3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJ1dHRvbiAuaWNvbiB7XG4gIGZvbnQtc2l6ZTogMS41NzE0M3JlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5idXR0b24ud2lkZSB7XG4gIHBhZGRpbmc6IDAgMS40Mjg1N3JlbTtcbiAgaGVpZ2h0OiAzLjI4NTcxcmVtO1xuICBsaW5lLWhlaWdodDogMy4yODU3MXJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjA3MTQzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idXR0b24ud2lkZSAuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEuMDcxNDNyZW07XG4gIHRvcDogMC43ODU3MXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYnV0dG9uLndpZGUge1xuICAgIGhlaWdodDogMi45Mjg1N3JlbTtcbiAgICBsaW5lLWhlaWdodDogMi45Mjg1N3JlbTtcbiAgfVxuICAuYnV0dG9uLndpZGUgLmljb24ge1xuICAgIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTtcbiAgICB0b3A6IDAuNjQyODZyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5idXR0b24ud2lkZSB7XG4gICAgaGVpZ2h0OiAyLjU3MTQzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjU3MTQzcmVtO1xuICB9XG4gIC5idXR0b24ud2lkZSAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xuICAgIHRvcDogMC41NzE0M3JlbTtcbiAgfVxufVxuXG4uYnV0dG9uLmMxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY0YTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uYzE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0ZDM4O1xufVxuXG4uYnV0dG9uLmMyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uYzI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY0NjQ2O1xufVxuXG4uYnV0dG9uLmMzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5idXR0b24uYzM6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuXG4uYnV0dG9uLmM0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MzQyOTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uYzQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMyNTFhO1xufVxuXG4uYnV0dG9uLmM1IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiNjJhYztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uYzU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWY1NWEwO1xufVxuXG4uYnV0dG9uLmM2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ODI5MTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uYzY6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTI2ZDdlO1xufVxuXG4uYnV0dG9uLmM3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YmY0YTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uYzc6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNiNzMyO1xufVxuXG4uYnV0dG9uLmM4IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkMzY1MTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uYzg6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmQxZDNiO1xufVxuXG4uYnV0dG9uLmM5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idXR0b24uYzk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbmJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiAjMDA2NjRhO1xuICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kgVwiO1xufVxuXG5ibG9ja3F1b3RlOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiAjMDA2NjRhO1xuICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kgFwiO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwLjcxNDI5cmVtO1xuICBsZWZ0OiAwO1xufVxuXG5ibG9ja3F1b3RlOmFmdGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjcxNDI5cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTEuMDcxNDNyZW07XG4gIGxlZnQ6IDA7XG59XG5cbmJsb2NrcXVvdGUgcCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuYmxvY2txdW90ZS5jMjpiZWZvcmUge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6ICM1MzUzNTM7XG4gIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSBXCI7XG59XG5cbmJsb2NrcXVvdGUuYzI6YWZ0ZXIge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6ICM1MzUzNTM7XG4gIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSAXCI7XG59XG5cbmJsb2NrcXVvdGUuYzM6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kgVwiO1xufVxuXG5ibG9ja3F1b3RlLmMzOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kgFwiO1xufVxuXG5ibG9ja3F1b3RlLmM0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogI2U2MzQyOTtcbiAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupIFcIjtcbn1cblxuYmxvY2txdW90ZS5jNDphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogI2U2MzQyOTtcbiAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupIBcIjtcbn1cblxuYmxvY2txdW90ZS5jNTpiZWZvcmUge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6ICNhYjYyYWM7XG4gIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSBXCI7XG59XG5cbmJsb2NrcXVvdGUuYzU6YWZ0ZXIge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6ICNhYjYyYWM7XG4gIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSAXCI7XG59XG5cbmJsb2NrcXVvdGUuYzY6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiAjZTY4MjkxO1xuICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kgVwiO1xufVxuXG5ibG9ja3F1b3RlLmM2OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiAjZTY4MjkxO1xuICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kgFwiO1xufVxuXG5ibG9ja3F1b3RlLmM3OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogI2Y0YmY0YTtcbiAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupIFcIjtcbn1cblxuYmxvY2txdW90ZS5jNzphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb2xvcjogI2Y0YmY0YTtcbiAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupIBcIjtcbn1cblxuYmxvY2txdW90ZS5jODpiZWZvcmUge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6ICNmZDM2NTE7XG4gIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSBXCI7XG59XG5cbmJsb2NrcXVvdGUuYzg6YWZ0ZXIge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6ICNmZDM2NTE7XG4gIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6IFwi7qSAXCI7XG59XG5cbmJsb2NrcXVvdGUuYzk6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiAjZjJmMmYyO1xuICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kgVwiO1xufVxuXG5ibG9ja3F1b3RlLmM5OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiAjZjJmMmYyO1xuICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICBjb250ZW50OiBcIu6kgFwiO1xufVxuXG5ibG9ja3F1b3RlLnRleHRjZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbmJsb2NrcXVvdGUudGV4dHJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbnVsLnNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IDIuMTQyODZyZW07XG59XG5cbnVsLmJpZyB7XG4gIG1hcmdpbi1sZWZ0OiAyLjE0Mjg2cmVtO1xufVxuXG4ubGlzdGVsZW1lbnQgLmxlZnRsaXN0IHtcbiAgd2lkdGg6IDMuOTI4NTdyZW07XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ubGlzdGVsZW1lbnQgLnJpZ2h0bGlzdCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5saXN0ZWxlbWVudCAuZGlzdGFuY2Uge1xuICBtYXJnaW4tYm90dG9tOiAxLjA3MTQzcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5yb3cgLnJvdy5saXN0ZWxlbWVudCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5saXN0ZWxlbWVudC5yb3cge1xuICBtYXJnaW46IDA7XG59XG5cbnNwYW4ubWVudWljb24tLWZhY2Vib29rIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG5zcGFuLm1lbnVpY29uLS1mYWNlYm9vazpiZWZvcmUge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS43ODU3MXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCLupJVcIjtcbn1cblxuLnNjcm9sbGJhciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNDI4NTdyZW07XG59XG5cbi5zbGltU2Nyb2xsQmFyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2lyY2xlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9JbWFnZXMvY2lyY2xlLnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLW1zLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2lyY2xlLXRleHQge1xuICB3aWR0aDogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNpcmNsZS10ZXh0OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmNpcmNsZS10ZXh0LmIxOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY0YTtcbn1cblxuLmNpcmNsZS10ZXh0LmIyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1Mztcbn1cblxuLmNpcmNsZS10ZXh0LmIzOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLmNpcmNsZS10ZXh0LmI0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MzQyOTtcbn1cblxuLmNpcmNsZS10ZXh0LmI1OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiNjJhYztcbn1cblxuLmNpcmNsZS10ZXh0LmI2OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ODI5MTtcbn1cblxuLmNpcmNsZS10ZXh0LmI3OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YmY0YTtcbn1cblxuLmNpcmNsZS10ZXh0LmI4OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkMzY1MTtcbn1cblxuLmNpcmNsZS10ZXh0LmI5OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cblxuLmNpcmNsZS10ZXh0IGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiA3NSU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNpcmNsZS10ZXh0IGRpdi5jMSB7XG4gIGNvbG9yOiAjMDA2NjRhO1xufVxuXG4uY2lyY2xlLXRleHQgZGl2LmMyIHtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbi5jaXJjbGUtdGV4dCBkaXYuYzMge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmNpcmNsZS10ZXh0IGRpdi5jNCB7XG4gIGNvbG9yOiAjZTYzNDI5O1xufVxuXG4uY2lyY2xlLXRleHQgZGl2LmM1IHtcbiAgY29sb3I6ICNhYjYyYWM7XG59XG5cbi5jaXJjbGUtdGV4dCBkaXYuYzYge1xuICBjb2xvcjogI2U2ODI5MTtcbn1cblxuLmNpcmNsZS10ZXh0IGRpdi5jNyB7XG4gIGNvbG9yOiAjZjRiZjRhO1xufVxuXG4uY2lyY2xlLXRleHQgZGl2LmM4IHtcbiAgY29sb3I6ICNmZDM2NTE7XG59XG5cbi5jaXJjbGUtdGV4dCBkaXYuYzkge1xuICBjb2xvcjogI2YyZjJmMjtcbn1cblxuLmNpcmNsZWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jaXJjbGVjZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uY2lyY2xlcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jaXJjbGVyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5jaXJjbGVsZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jaXJjbGVsZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuc3ZnIC5jMSwgLnNob3ctbW9iaWxlIC5jMSB7XG4gIGZpbGw6ICMwMDY2NGE7XG4gIGNvbG9yOiAjMDA2NjRhO1xufVxuXG5zdmcgLmMyLCAuc2hvdy1tb2JpbGUgLmMyIHtcbiAgZmlsbDogIzUzNTM1MztcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbnN2ZyAuYzMsIC5zaG93LW1vYmlsZSAuYzMge1xuICBmaWxsOiAjZmZmZmZmO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuc3ZnIC5jNCwgLnNob3ctbW9iaWxlIC5jNCB7XG4gIGZpbGw6ICNlNjM0Mjk7XG4gIGNvbG9yOiAjZTYzNDI5O1xufVxuXG5zdmcgLmM1LCAuc2hvdy1tb2JpbGUgLmM1IHtcbiAgZmlsbDogI2FiNjJhYztcbiAgY29sb3I6ICNhYjYyYWM7XG59XG5cbnN2ZyAuYzYsIC5zaG93LW1vYmlsZSAuYzYge1xuICBmaWxsOiAjZTY4MjkxO1xuICBjb2xvcjogI2U2ODI5MTtcbn1cblxuc3ZnIC5jNywgLnNob3ctbW9iaWxlIC5jNyB7XG4gIGZpbGw6ICNmNGJmNGE7XG4gIGNvbG9yOiAjZjRiZjRhO1xufVxuXG5zdmcgLmM4LCAuc2hvdy1tb2JpbGUgLmM4IHtcbiAgZmlsbDogI2ZkMzY1MTtcbiAgY29sb3I6ICNmZDM2NTE7XG59XG5cbnN2ZyAuc3QxLCAuc2hvdy1tb2JpbGUgLnN0MSB7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWUgTFQgVzAyODdIdkNuT2JsXCI7XG59XG5cbnN2ZyAuc3QyLCAuc2hvdy1tb2JpbGUgLnN0MiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlIExUIFcwMjY3TWRDbk9ibFwiO1xuICBmb250LXNpemU6IDI1cHg7XG59XG5cbnN2ZyAuc3QzLCAuc2hvdy1tb2JpbGUgLnN0MyB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZTogI2ZmZjtcbiAgc3Ryb2tlLW1pdGVybGltaXQ6IDIwcHg7XG4gIHN0cm9rZS13aWR0aDogNXB4O1xufVxuXG5zdmcgLmM0IHRleHQsIC5zaG93LW1vYmlsZSAuYzQgdGV4dCB7XG4gIGZpbGw6IFwiIzAwNjY0YVwiO1xufVxuXG4uaWNvbm1vb24ge1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgZm9udC1zaXplOiAzNnB4O1xufVxuXG4uY2lyY2xlYmFja2VuZCB7XG4gIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uaGlkZS1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnNob3ctbW9iaWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zaG93LW1vYmlsZS50ZXh0Y2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2hvdy1tb2JpbGUgdHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzU3MTRyZW07XG59XG5cbi5lbWJlZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIC8qIHJhdGlvIDE2eDkgKi9cbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZW1iZWQtY29udGFpbmVyLnJhdGlvNHgzIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cblxuLnRleHRjb3ZlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGV4dGNvdmVyIC5pbWFnZXBvc2l0aW9uIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLnRleHRjb3ZlciAuaW5uZXJwYWRkaW5nIHtcbiAgcGFkZGluZzogMS40Mjg1N3JlbTtcbn1cblxuLnRleHRjb3ZlciAuaW5uZXJwYWRkaW5nLmltYWdlbGVmdCB7XG4gIGJvcmRlci1sZWZ0OiAwLjI4NTcxcmVtIHNvbGlkICNmZmZmZmY7XG59XG5cbi50ZXh0Y292ZXIgLmlubmVycGFkZGluZy5pbWFnZXJpZ2h0IHtcbiAgYm9yZGVyLXJpZ2h0OiAwLjI4NTcxcmVtIHNvbGlkICNmZmZmZmY7XG59XG5cbi50ZXh0Y292ZXIgLmNvbHVtbnMge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dGNvdmVyIC5jb2x1bW5zLmxhcmdlIHtcbiAgbWluLWhlaWdodDogMTQuMjg1NzFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGV4dGNvdmVyIC5jb2x1bW5zLmxhcmdlLmlubmVycGFkZGluZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudGV4dGNvdmVyIC5jb2x1bW5zLmxhcmdlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG4gIC50ZXh0Y292ZXIgLmNvbHVtbnMubGFyZ2UuaW1hZ2VsZWZ0IHtcbiAgICBib3JkZXItbGVmdDogMC4yODU3MXJlbSBzb2xpZCAjZmZmZmZmO1xuICB9XG4gIC50ZXh0Y292ZXIgLmNvbHVtbnMubGFyZ2UuaW1hZ2VyaWdodCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjI4NTcxcmVtIHNvbGlkICNmZmZmZmY7XG4gIH1cbn1cblxuLnRleHRjb3ZlciAuY29sdW1ucy5tZWRpdW0ge1xuICBtaW4taGVpZ2h0OiAxNC4yODU3MXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ZXh0Y292ZXIgLmNvbHVtbnMubWVkaXVtLmlubmVycGFkZGluZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudGV4dGNvdmVyIC5jb2x1bW5zLm1lZGl1bSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cbiAgLnRleHRjb3ZlciAuY29sdW1ucy5tZWRpdW0uaW1hZ2VsZWZ0IHtcbiAgICBib3JkZXItbGVmdDogMC4yODU3MXJlbSBzb2xpZCAjZmZmZmZmO1xuICB9XG4gIC50ZXh0Y292ZXIgLmNvbHVtbnMubWVkaXVtLmltYWdlcmlnaHQge1xuICAgIGJvcmRlci1yaWdodDogMC4yODU3MXJlbSBzb2xpZCAjZmZmZmZmO1xuICB9XG59XG5cbi50ZXh0Y292ZXIgLmNvbHVtbnMuc21hbGwge1xuICBtaW4taGVpZ2h0OiAxNC4yODU3MXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ZXh0Y292ZXIgLmNvbHVtbnMuc21hbGwuaW5uZXJwYWRkaW5nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubmF2cy1lbGVtZW50cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAwLjA3MTQzcmVtIHNvbGlkICM1MzUzNTM7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW4tYm90dG9tOiAyLjE0Mjg2cmVtO1xufVxuXG4ubmF2cy1lbGVtZW50cyB1bC5uYXZzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm5hdnMtZWxlbWVudHMgdWwubmF2cyBsaS5uYXZzLWVsZW1lbnQge1xuICBmbG9hdDogbm9uZTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgcGFkZGluZy1yaWdodDogMi44NTcxNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNTcxNDNyZW07XG4gIG1pbi1oZWlnaHQ6IDIuMTQyODZyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm5hdnMtZWxlbWVudHMgdWwubmF2cyBsaS5uYXZzLWVsZW1lbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuLm5hdnMtZWxlbWVudHMgdWwubmF2cyBsaS5uYXZzLWVsZW1lbnQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDMuMjE0MjlyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnlvdXR1YmVTbGlkZSAuaW5uZXJzbGlkZWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi55b3V0dWJlU2xpZGUgLnlvdXR1YmVIZWFkbGluZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0LjI4NTcxcmVtO1xuICByaWdodDogMy41NzE0M3JlbTtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNTBweCk7XG59XG5cbi55b3V0dWJlU2xpZGUgLnlvdXR1YmVIZWFkbGluZS55b3V0dWJlSW50cm8tdGV4dGxlZnQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNC4yODU3MXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueW91dHViZVNsaWRlIC55b3V0dWJlSGVhZGxpbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAueW91dHViZVNsaWRlIC55b3V0dWJlSGVhZGxpbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC55b3V0dWJlU2xpZGUgLnlvdXR1YmVIZWFkbGluZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi55b3V0dWJlSGVhZGxpbmVSb3cge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLXRvcDogMy41NzE0M3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDMuNTcxNDNyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAueW91dHViZUhlYWRsaW5lUm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC55b3V0dWJlSGVhZGxpbmVSb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi55b3V0dWJlSGVhZGxpbmVSb3cgLnlvdXR1YmVIZWFkbGluZUZpcnN0LCAueW91dHViZUhlYWRsaW5lUm93IC55b3V0dWJlSGVhZGxpbmVTZWNvbmQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjcxNDI5cmVtO1xufVxuXG4uYW5pbWF0ZSB7XG4gIGFuaW1hdGlvbjogc2xpZGVEb3duIDAuNjVzIGVhc2UgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42NjE2MjhzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbW92ZUl0IHtcbiAgMCUge1xuICB9XG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1vdmVJdCB7XG4gIDAlIHtcbiAgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIG1vdmVJdE91dCB7XG4gIDAlIHtcbiAgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNzMuMTQyODZyZW0pO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNzMuMTQyODZyZW0pO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTczLjE0Mjg2cmVtKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNzMuMTQyODZyZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNzMuMTQyODZyZW0pO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtb3ZlSXRPdXQge1xuICAwJSB7XG4gIH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTczLjE0Mjg2cmVtKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTczLjE0Mjg2cmVtKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03My4xNDI4NnJlbSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTczLjE0Mjg2cmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTczLjE0Mjg2cmVtKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZURvd24ge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICB9XG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMClcIjtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgfVxufVxuXG4ucmlwcGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucmlwcGxlLWFuaW0ge1xuICBhbmltYXRpb246IHJpcHBsZSAwLjQ1cyBsaW5lYXI7XG59XG5cbi5pbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMC41O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cblxuQGtleWZyYW1lcyByaXBwbGUge1xuICAvKnNjYWxlIHRoZSBlbGVtZW50IHRvIDI1MCUgdG8gc2FmZWx5IGNvdmVyIHRoZSBlbnRpcmUgbGluayBhbmQgZmFkZSBpdCBvdXQqL1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgyLjUpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMi41KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgyLjUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMi41KTtcbiAgfVxufVxuXG52aWRlbyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTM3LjE0Mjg2cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogcmVzcG9uc2l2ZSBpZnJhbWUgKi9cbi5lbWJlZC1jb250YWluZXIge1xuICAvKiByYXRpbyAxNng5ICovXG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmVtYmVkLWNvbnRhaW5lci5yYXRpbzR4MyB7XG4gIC8qIHJhdGlvIDR4MyAqL1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuXG4uYmFja2dyb3VuZC1jb3Zlci13cmFwcGVyLmMxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjY0YTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIuYzIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJhY2tncm91bmQtY292ZXItd3JhcHBlci5jNCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNjM0Mjk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYmFja2dyb3VuZC1jb3Zlci13cmFwcGVyLmM1IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiNjJhYztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIuYzYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTY4MjkxO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJhY2tncm91bmQtY292ZXItd3JhcHBlci5jNyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGJmNGE7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYmFja2dyb3VuZC1jb3Zlci13cmFwcGVyLmM4IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkMzY1MTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIuYzkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuLmJhY2tncm91bmQtY292ZXItd3JhcHBlciAuYmFja2dyb3VuZC1jb3Zlci1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcGFkZGluZzogMS40Mjg1N3JlbSAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmJhY2tncm91bmQtY292ZXItd3JhcHBlciAuYmFja2dyb3VuZC1jb3Zlci1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIgLmJhY2tncm91bmQtY292ZXItdG9wIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWluLWhlaWdodDogMTQuMjg1NzFyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYmFja2dyb3VuZC1jb3Zlci13cmFwcGVyIC5iYWNrZ3JvdW5kLWNvdmVyLXRvcCB7XG4gICAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uYmFja2dyb3VuZC1jb3Zlci13cmFwcGVyLm1pZGRsZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJhY2tncm91bmQtY292ZXItd3JhcHBlci5taWRkbGUgLmJhY2tncm91bmQtY292ZXItZWxlbWVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIubWlkZGxlIC5iYWNrZ3JvdW5kLWNvdmVyLWVsZW1lbnQge1xuICAgIG1hcmdpbi10b3A6IDEuNDI4NTdyZW07XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuLmJhY2tncm91bmQtY292ZXItd3JhcHBlci5ib3R0b20ge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIuYm90dG9tIC5iYWNrZ3JvdW5kLWNvdmVyLWVsZW1lbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIuYm90dG9tIC5iYWNrZ3JvdW5kLWNvdmVyLWVsZW1lbnQge1xuICAgIG1hcmdpbi10b3A6IDEuNDI4NTdyZW07XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaWUgLmJhY2tncm91bmQtY292ZXItd3JhcHBlci5taWRkbGUge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmllIC5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIubWlkZGxlIC5iYWNrZ3JvdW5kLWNvdmVyLWVsZW1lbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmllIC5iYWNrZ3JvdW5kLWNvdmVyLXdyYXBwZXIuYm90dG9tIHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pZSAuYmFja2dyb3VuZC1jb3Zlci13cmFwcGVyLmJvdHRvbSAuYmFja2dyb3VuZC1jb3Zlci1lbGVtZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi5jb250YWN0LWZyYW1lIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLmNvbnRhY3QtZnJhbWUgaW5wdXRbdHlwZT1yYWRpb10sXG4uY29udGFjdC1mcmFtZSBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb250YWN0LWZyYW1lIGxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNDI4NnJlbTtcbn1cblxuLmNvbnRhY3QtZnJhbWUgbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiA1MCU7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDUwJSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmNvbnRhY3QtZnJhbWUgbGFiZWwuY2hlY2tib3gge1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG59XG5cbi5jb250YWN0LWZyYW1lIGxhYmVsLmNoZWNrYm94OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogLTEwcHg7XG4gIHRvcDogMDtcbn1cblxuLmNvbnRhY3QtZnJhbWUgLnJhZGlvIGxhYmVsOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uY29udGFjdC1mcmFtZSAuY2hlY2tib3ggbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY29udGFjdC1mcmFtZSAuY2hlY2tib3ggbGFiZWw6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5jb250YWN0LWZyYW1lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG4gIGNvbG9yOiAjMDA2NjRhO1xuICBmb250LXNpemU6IDIycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xufVxuXG4uY29udGFjdC1mcmFtZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICMwMDY2NGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA4cHg7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLmNjX2Jhbm5lci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4OGQ4ZjtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNjX2Jhbm5lci13cmFwcGVyIC5jY19jb250YWluZXIgLmNjX2xvZ286aG92ZXIsIC5jY19iYW5uZXItd3JhcHBlciAuY2NfY29udGFpbmVyIC5jY19sb2dvOmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jY19iYW5uZXItd3JhcHBlciAuY2NfY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogOTEuNDI4NTdyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDEuMDcxNDNyZW0gMCAwLjM1NzE0cmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNjX2Jhbm5lci13cmFwcGVyIC5jY19pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ODhkOGY7XG4gIHBhZGRpbmc6IDAgMC43MTQyOXJlbTtcbn1cblxuLmNjX2Jhbm5lci13cmFwcGVyIC5jY19tZXNzYWdlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjg1NzE0cmVtO1xuICBtYXJnaW4tdG9wOiAwLjcxNDI5cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiA1LjcxNDI5cmVtO1xufVxuXG4uY2NfYmFubmVyLXdyYXBwZXIgYS5jY19tb3JlX2luZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jY19iYW5uZXItd3JhcHBlciAuY2NfY29udGFpbmVyIGE6aG92ZXIsIC5jY19iYW5uZXItd3JhcHBlciAuY2NfY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgY29sb3I6ICM0NDQ7XG59XG5cbi5jY19iYW5uZXItd3JhcHBlciBhLmNjX2J0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ODhkOGY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICBsaW5lLWhlaWdodDogMS4zZW07XG4gIHBhZGRpbmc6IDVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgd2lkdGg6IDY1cHg7XG59XG5cbi5jY19iYW5uZXItd3JhcHBlciBhLmNjX2J0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNDQ0O1xufVxuXG4uc2hhcmVidXR0b24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxLjQyODU3cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43MTQyOXJlbTtcbn1cblxuLnNoYXJlYnV0dG9uIHVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG59XG5cbi5zaGFyZWJ1dHRvbiB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07XG59XG5cbi5zaGFyZWJ1dHRvbiB1bCBsaSAuaWNvbiB7XG4gIGZvbnQtc2l6ZTogMy41NzE0M3JlbTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGhlaWdodDogMy41NzE0M3JlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNTcxNDNyZW07XG59XG5cbi5zaGFyZWJ1dHRvbiB1bCBsaSBhOmhvdmVyIC5pY29uLmNvMSB7XG4gIGNvbG9yOiAjMDA0ZDM4O1xufVxuXG4uc2hhcmVidXR0b24gdWwgbGkgLnNoYXJldGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZm9ybS1mcmFtZV9fd3JhcHBlciBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb3JtLWZyYW1lX193cmFwcGVyIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5mb3JtLWZyYW1lX193cmFwcGVyIGZpZWxkc2V0IC5mbGV4LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmZvcm0tZnJhbWVfX3dyYXBwZXIgLmFjdGlvbnMgLmZvcm0tbmF2aWdhdGlvbiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZm9ybS1mcmFtZV9fd3JhcHBlciAuYWN0aW9ucyAuZm9ybS1uYXZpZ2F0aW9uIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmZvcm0tZnJhbWVfX3dyYXBwZXIgLmZvcm1fX2ZpZWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5mb3JtLWZyYW1lX193cmFwcGVyIC5mb3JtX19maWVsZCBpbnB1dCwgLmZvcm0tZnJhbWVfX3dyYXBwZXIgLmZvcm1fX2ZpZWxkIHRleHRhcmVhLCAuZm9ybS1mcmFtZV9fd3JhcHBlciAuZm9ybV9fZmllbGQgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uZm9ybV9fZmllbGQgaW5wdXQsIC5mb3JtX19maWVsZCB0ZXh0YXJlYSwgLmZvcm1fX2ZpZWxkIHNlbGVjdCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICM1MzUzNTM7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5mb3JtX19maWVsZCBpbnB1dCwgLmZvcm1fX2ZpZWxkIHNlbGVjdCB7XG4gIGhlaWdodDogNDVweDtcbiAgbGluZeKAk2hlaWdodDogNDVweDtcbiAgcGFkZGluZzogMCAxMHB4O1xufVxuXG4uZm9ybV9fZmllbGQgdGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLmZvcm1fX2NvbnRhaW5lci0tc3ViamVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybV9fY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtX19jb250YWluZXItLXNhbHV0YXRpb24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm1fX2NvbnRhaW5lci0tc2FsdXRhdGlvbiA+IC5mb3JtX19jb250YWluZXIge1xuICB3aWR0aDogMzMlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmZvcm1fX2NvbnRhaW5lci0tc2FsdXRhdGlvbiA+IC5mb3JtX19jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmZvcm1fX2NvbnRhaW5lci0tbmFtZSB7XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5mb3JtX19jb250YWluZXItLWNvbXBhbnkge1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZm9ybV9fY29udGFpbmVyLS1zdHJlZXQge1xuICB3aWR0aDogMzMlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4uZm9ybV9fY29udGFpbmVyLS16aXAge1xuICB3aWR0aDogMzQlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5mb3JtX19jb250YWluZXItLWNpdHkge1xuICB3aWR0aDogMzMlO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5mb3JtX19jb250YWluZXItLXBob25lIHtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLmZvcm1fX2NvbnRhaW5lci0tYWRkcmVzcyB7XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLmZvcm1fX2NvbnRhaW5lci0tbWVzc2FnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZXJyb3IgLmhlbHAtaW5saW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjYjcwMDAwO1xuICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmVycm9yIGlucHV0LCAuZXJyb3IgdGV4dGFyZWEsIC5lcnJvciBzZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNTM1MzUzO1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM1MzUzNTM7XG59XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzUzNTM1Mztcbn1cblxuLmVycm9yOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYjcwMDAwO1xufVxuXG4uZXJyb3I6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2I3MDAwMDtcbn1cblxuLmVycm9yOi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2I3MDAwMDtcbn1cblxuLmVycm9yOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNiNzAwMDA7XG59XG5cbi5lcnJvcjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2I3MDAwMDtcbn1cblxuLmZvcm0tZnJhbWVfX3dyYXBwZXIgLmJ0biB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2NjRhO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogLjcxNDI5cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLmZvcm0tZnJhbWVfX3dyYXBwZXIgLmJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDRkMzg7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uZm9ybS1mcmFtZV9fd3JhcHBlciAuYnRuOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgY29udGVudDogXCLupJFcIjtcbn1cblxuLmZvcm0tZnJhbWVfX3dyYXBwZXIgLmJ0bjphZnRlciB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleC12aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIFZlbmRvclByZWZpeFxuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzIxOTllOCxcbiAgc2Vjb25kYXJ5OiAjNzc3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4kYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXG4vLyBSZW1vdmUgdGhpcyBpbiA2LjNcbiQtemYtbWVudS1pY29uLWltcG9ydGVkOiBmYWxzZTtcbiQtemYtZmxleC1jbGFzc2VzLWltcG9ydGVkOiBmYWxzZTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuXG4gIGh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuXG4gIGFydGljbGUsXG4gIGFzaWRlLFxuICBkZXRhaWxzLFxuICBmaWdjYXB0aW9uLFxuICBmaWd1cmUsXG4gIGZvb3RlcixcbiAgaGVhZGVyLFxuICBoZ3JvdXAsXG4gIG1haW4sXG4gIG1lbnUsXG4gIG5hdixcbiAgc2VjdGlvbixcbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cblxuICBhdWRpbyxcbiAgY2FudmFzLFxuICBwcm9ncmVzcyxcbiAgdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuXG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuXG4gIFtoaWRkZW5dLFxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5cbiAgYTphY3RpdmUsXG4gIGE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cblxuICBtYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cblxuICBzdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBjb2RlLFxuICBrYmQsXG4gIHByZSxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgYnV0dG9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBzZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuXG4gIGJ1dHRvbltkaXNhYmxlZF0sXG4gIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5cbiAgaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cblxuICAvKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xuXG4gIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIvLyBJTVBPUlRBTlQgU2V0IHJlbS1iYXNlIGF0IGZpcnN0LiBUaGlzIGlzIG5lZWRlZCBmb3IgY29ycmVjdCByZW0gY2FsY3VsYXRpb25cclxuLy8gJHJlbS1iYXNlIHdhcyBkZXByZWNhdGVkIGluIHZlcnNpb24gNi4xLCBpbiBmYXZvciBvZiB1c2luZyAkZ2xvYmFsLWZvbnQtc2l6ZSB0byBkZWZpbmUgcmVtIGNhbGN1bGF0aW9uLlxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuXHJcbi8vIEJhc2ljIEZvdW5kYXRpb24gc2l6ZSBzZXR0aW5nc1xyXG4kYmFzZS1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxNHB4ICFkZWZhdWx0O1xyXG5cclxuLy8kYm9keS1mb250LWNvbG9yOiAkY29sb3ItbmYxICFkZWZhdWx0O1xyXG4vLyRib2R5LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcclxuJGJvZHktYmc6IDY2NiAhZGVmYXVsdDtcclxuXHJcbi8vIE1lZGlhIFF1ZXJ5IFJhbmdlc1xyXG4kc21hbGwtcmFuZ2U6ICgwcHgsIDY0MHB4KSAhZGVmYXVsdDtcclxuJG1lZGl1bS1yYW5nZTogKDY0MXB4LCA5MDBweCkgIWRlZmF1bHQ7XHJcbiRsYXJnZS1yYW5nZTogKDkwMXB4LCAxMjgwcHgpICFkZWZhdWx0O1xyXG4keGxhcmdlLXJhbmdlOiAoMTI4MXB4LCAxOTIwcHgpICFkZWZhdWx0O1xyXG4keHhsYXJnZS1yYW5nZTogKDE5MjFweCkgIWRlZmF1bHQ7XHJcblxyXG4kaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlczogdHJ1ZTtcclxuXHJcbi8vc3RhbmRhcmQgY29sb3JzXHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICAgICAgICBwcmltYXJ5OiAkY29sb3ItbmYxLFxyXG4gICAgICAgIHNlY29uZGFyeTogJGNvbG9yLW5mMixcclxuICAgICAgICBzdWNjZXNzOiAkY29sb3ItbmY3LFxyXG4gICAgICAgIHdhcm5pbmc6ICRjb2xvci1uZjQsXHJcbiAgICAgICAgYWxlcnQ6ICRjb2xvci1uZjgsXHJcbiAgICAgICAgbGlnaHQtZ3JheTogJGNvbG9yLW5mOSxcclxuICAgICAgICAvL21lZGl1bS1ncmF5OiAkY29sb3ItbmY5LFxyXG4gICAgICAgIC8vZGFyay1ncmF5OiAkY29sb3ItbmY5LFxyXG4pO1xyXG5cclxuJGxpZ2h0LWdyYXk6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XHJcbi8vJG1lZGl1bS1ncmF5OiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1lZGl1bS1ncmF5KTtcclxuLy8kZGFyay1ncmF5OiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmstZ3JheSk7XHJcblxyXG4kYmxhY2s6ICRjb2xvci1uZjI7XHJcbiR3aGl0ZTogJGNvbG9yLW5mMztcclxuJGFuY2hvci1jb2xvcjogJGNvbG9yLW5mMjtcclxuJGFuY2hvci1jb2xvci1ob3ZlcjogJGNvbG9yLW5mMTtcclxuXHJcblxyXG4vLyBoZWFkbGluZXNcclxuLy8kaDEtZm9udC1zaXplOiByZW0tY2FsYygyOCkgIWRlZmF1bHQ7XHJcbi8vJGgyLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpICFkZWZhdWx0O1xyXG4vLyRoMy1mb250LXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcclxuLy8kaDQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcblxyXG4vLyBQYXJhZ3JhcGhzXHJcbi8vJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcbi8vJHBhcmFncmFwaC1saW5lLWhlaWdodDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuLy8kYW5jaG9yLWZvbnQtY29sb3I6ICRjb2xvci1uZjEgIWRlZmF1bHQ7XHJcbi8vJGFuY2hvci1mb250LWNvbG9yLWhvdmVyOiAkY29sb3ItbmYxICFkZWZhdWx0O1xyXG4iLCIvLyBNYWluLUNvbG9yc1xuJGNvbG9yLW5mMTogIzAwNjY0YSAhZGVmYXVsdDtcbiRjb2xvci1uZjI6ICM1MzUzNTMgIWRlZmF1bHQ7XG4kY29sb3ItbmYzOiAjZmZmZmZmICFkZWZhdWx0O1xuJGNvbG9yLW5mNDogI2U2MzQyOSAhZGVmYXVsdDtcbiRjb2xvci1uZjU6ICNhYjYyYWMgIWRlZmF1bHQ7XG4kY29sb3ItbmY2OiAjZTY4MjkxICFkZWZhdWx0O1xuJGNvbG9yLW5mNzogI2Y0YmY0YSAhZGVmYXVsdDtcbiRjb2xvci1uZjg6ICNmZDM2NTEgIWRlZmF1bHQ7XG4kY29sb3ItbmY5OiAjZjJmMmYyICFkZWZhdWx0O1xuJGNvbG9yLW5mMTA6ICMwMDY3NGEgIWRlZmF1bHQ7XG4kY29sb3ItbmYxMTogI2EzZDU1YyAhZGVmYXVsdDtcblxuJGJvcmRlci1jb2xvcjogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8gVHJhbnNpdGlvbnNcbiRkZWZhdWx0LXRyYW5zaXRpb24tdGltZTogLjNzICFkZWZhdWx0O1xuJGRlZmF1bHQtdHJhbnNpdGlvbi1lYXNpbmc6IGVhc2UtaW4tb3V0O1xuJGRlZmF1bHQtdHJhbnNpdGlvbjogYWxsICRkZWZhdWx0LXRyYW5zaXRpb24tdGltZSAkZGVmYXVsdC10cmFuc2l0aW9uLWVhc2luZyAhZGVmYXVsdDtcblxuLy8gIyMjIyMjIyMjIyMjI1xuLy8gIyMjIEZPTlRTICMjI1xuLy8gIyMjIyMjIyMjIyMjI1xuXG5cblxuLy8gTmV1ZSBIZWx2ZXRpY2EgODcgSGVhdnkgQ29uZGVuc2VkIE9ibGlxdWVcbiRmb250LWZhbWlseS0xOiAnSGVsdmV0aWNhIE5ldWUgTFQgVzA2ODdIdkNuT2JsJywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vTmV1ZSBIZWx2ZXRpY2EgNjcgTWVkaXVtIENvbmRlbnNlZCBPYmxpcXVlXG4kZm9udC1mYW1pbHktMjogJ0hlbHZldGljYSBOZXVlIExUIFcwNjY3TWRDbk9ibCcsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vL05ldWUgSGVsdmV0aWNhIDg3IEhlYXZ5IENvbmRlbnNlZFxuJGZvbnQtZmFtaWx5LTM6ICdIZWx2ZXRpY2EgTmV1ZSBMVCBXMDZfODcgSHYgQ24nLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy9OZXVlIEhlbHZldGljYSA2NyBNZWRpdW0gQ29uZGVuc2VkXG4kZm9udC1mYW1pbHktNDogJ0hlbHZldGljYSBOZXVlIExUIFcwNl82NyBNZCBDbicsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vL05ldWUgSGVsdmV0aWNhIDQ3IExpZ2h0IENvbmRlbnNlZFxuJGZvbnQtZmFtaWx5LTU6ICdIZWx2ZXRpY2EgTmV1ZSBMVCBXMDZfNDcgTHQgQ24nLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuXG4vLyBQYWludHMuQ29udGFjdEZvcm1cbiRmb3JtLWlucHV0LWJnOiAkY29sb3ItbmYzO1xuJGZvcm0tZ2FwOiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtaGVpZ2h0OiA0NXB4ICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICRjb2xvci1uZjIgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGNvbG9yLW5mMiAhZGVmYXVsdDtcbiRmb3JtLWVycm9yLWNvbG9yOiAjYjcwMDAwICFkZWZhdWx0O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZmxvb3IoKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKSk7XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyZWQoJGNvbG9yKX0sICN7Z3JlZW4oJGNvbG9yKX0sICN7Ymx1ZSgkY29sb3IpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xuICAgICQtemYtc2l6ZTogJHNpemUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgJiB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuXG4gICAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gICAgLiN7JHJvd30gJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKCRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW9mZigkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSwgXCIuI3skY29sdW1ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30sXG4gICAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gJi4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQbGFjZWhvbGRlckluRXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfG51bGx9ICRndXR0ZXIgW251bGxdIC0gR3V0dGVyIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyB0aGUgbWFyZ2lucy4gU2V0IHRvIGBudWxsYCB0byByZWZlciB0byB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIHtcbiAgICAkZ3V0dGVyOiAoJC16Zi16ZXJvLWJyZWFrcG9pbnQ6ICRndXR0ZXIpO1xuICB9XG4gIG1heC13aWR0aDogbm9uZTtcblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCR2YWx1ZSkgLyAyICogLTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcbiAgLy8gU3RvcmUgdGhlIHZhbHVlcyBvZiB0aGUgbWFwIGFzIGEgbGlzdCwgc28gd2UgY2FuIGFjY2VzcyB0aGVtIHdpdGggbnRoXG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG5cbiAgLy8gR2hldHRvIGZvciBsb29wXG4gICRpOiAxO1xuICAkZm91bmQ6IGZhbHNlO1xuICBAZWFjaCAkdmFsIGluIG1hcC1rZXlzKCRtYXApIHtcbiAgICBAaWYgJGZvdW5kID09IGZhbHNlIHtcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH1cbiAgICAgICRpOiAkaSArIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgJGkgPiBsZW5ndGgoJG1hcCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRpKTtcbiAgfVxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwLiBJZiB0aGUgY29uZmlnIG1hcCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuIElmIHRoZSBjb25maWcgbWFwIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBJbnB1dCBjb25maWcgbWFwLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xuLy8gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGluIDYuM1xuJHNtYWxsLXVwOiBudWxsO1xuJHNtYWxsLW9ubHk6IG51bGw7XG4kbWVkaXVtLXVwOiBudWxsO1xuJG1lZGl1bS1vbmx5OiBudWxsO1xuJGxhcmdlLXVwOiBudWxsO1xuJGxhcmdlLW9ubHk6IG51bGw7XG4keGxhcmdlLXVwOiBudWxsO1xuJHhsYXJnZS1vbmx5OiBudWxsO1xuJHh4bGFyZ2UtdXA6IG51bGw7XG4keHhsYXJnZS1vbmx5OiBudWxsO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIHN0cmluZyBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgfVxuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcjogJGd1dHRlcik7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFNpemVzIG9mIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG5cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzaXplc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAgICN7JGhlYWRlcn0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cywgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDElO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ1NlbGVjdG9yXG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1hbHBoYSBbMC4xXSAtIFRyYW5zcGFyZW5jeSBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtYWxwaGE6IDAuMVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWFscGhhKTtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IC0yMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCwgJGJvZHktZm9udC1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmQ7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJysnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfigJMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgQm9yZGVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRidXR0b25ncm91cC1zcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBNZXJnZWFibGVTZWxlY3RvclxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkY2FsbG91dC1mb250LWNvbG9yO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tc2l6ZTogMmVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgI3skeH06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDtcbiAgI3skeX06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw7XG4gIGZvbnQtc2l6ZTogJGNsb3NlYnV0dG9uLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY2xvc2VidXR0b24tbGluZWhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbkBtaXhpbiBtZW51LXNpbXBsZSB7XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgJGdsb2JhbC1yaWdodCk7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHBhZGRpbmcgW2F1dG9dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG5AbWl4aW4gbWVudS1uZXN0ZWQoJG1hcmdpbjogJG1lbnUtbWFyZ2luLW5lc3RlZCkge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xufVxuXG4vLy8gQWRkcyBzdXBwb3J0IGZvciBpY29ucyB0byBNZW51IGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtzaWRlXSAtIFBvc2l0aW9uaW5nIGZvciBpY29ucy4gQ2FuIGJlIGBzaWRlYCAobGVmdCwgb3IgcmlnaHQgb24gUlRMKSBvciBgdG9wYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgdGhlIHNoYXJlZCBDU1MgYmV0d2VlbiBzaWRlLSBhbmQgdG9wLWFsaWduZWQgaWNvbnMgZnJvbSBiZWluZyBwcmludGVkLiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSdyZSBjYWxsaW5nIHRoZSBtaXhpbiBtdWx0aXBsZSB0aW1lcyBvbiB0aGUgc2FtZSBlbGVtZW50LlxuQG1peGluIG1lbnUtaWNvbnMoJHBvc2l0aW9uOiBzaWRlLCAkYmFzZTogdHJ1ZSkge1xuICBAaWYgJGJhc2Uge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGltZyxcbiAgICAgICAgaSxcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgKyBzcGFuIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBzaWRlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtZW51LWljb24tc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBPcmllbnRhdGlvblxuICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGhcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuXG4gICAgICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBpY29uc1xuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gQWxpZ24gY2VudGVyXG4gIC5tZW51LWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gbmVzdGVkIDx1bD5zXG4gIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHotaW5kZXg6IDEwO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG5AbWl4aW4gbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTZWxlY3RvckRlcHRoXG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LXZpZGVvXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDQ6MyBhc3BlY3QgcmF0aW8uXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDMgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgMTY6OSBhc3BlY3QgcmF0aW8uXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDkgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcGVyY2VudGFnZSBoZWlnaHQgdGhhdCBjYW4gYmUgdXNlZCBhcyBwYWRkaW5nIGluIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSB0aGF0IGNhbiBiZSB1c2VkIGFzIHRoZSBgcGFkZGluZy1ib3R0b21gIHBhcmFtZXRlciBvZiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuQGZ1bmN0aW9uIGZsZXgtdmlkZW8oJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIFskZmxleHZpZGVvLXJhdGlvXSAtIFJhdGlvIHRvIHVzZSBmb3IgdGhlIGNvbnRhaW5lciwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkZmxleHZpZGVvLXJhdGlvKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkcmF0aW8pO1xuICBtYXJnaW4tYm90dG9tOiAkZmxleHZpZGVvLW1hcmdpbi1ib3R0b207XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgZmxleC12aWRlbztcblxuICAgICYud2lkZXNjcmVlbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW4pO1xuICAgIH1cblxuICAgICYudmltZW8ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtemluZGV4OiAtMSAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIG1lbnUgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgYm9keS5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHRvIHBsYWNlIHVuZGVyIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhpcyBzaGFkb3cgb3ZlcmxhcHMgdGhlIG9mZi1jYW52YXMgbWVudXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG4gIC8vIEV4dHJhIHByb3BlcnRpZXMgbmVlZGVkIG9uIDxodG1sPiBhbmQgPGJvZHk+IHRvIG1ha2Ugb2ZmLWNhbnZhcyB3b3JrXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvO1xuICB9XG5cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBDb250YWluZXIgZm9yIHBhZ2UgY29udGVudFxuICAub2ZmLWNhbnZhcy1jb250ZW50LFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7IC8vIFByZXZlbnRzIG1hcmdpbiBjb2xsYXBzaW5nLCB3aGljaCB3b3VsZCByZXZlYWwgdGhlIGJveCBzaGFkb3cgb2YgdGhlIHdyYXBwZXJcblxuICAgIEBpZiBoYXMtdmFsdWUoJG1haW5jb250ZW50LXNoYWRvdykge1xuICAgICAgYm94LXNoYWRvdzogJG1haW5jb250ZW50LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBDbGljay10by1leGl0IG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBtZW51LlxuQG1peGluIG9mZi1jYW52YXMtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQ7XG4gIHotaW5kZXg6ICRvZmZjYW52YXMtemluZGV4O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRzaXplOiAkb2ZmY2FudmFzLXNpemUsXG4gICRmaXhlZDogZmFsc2Vcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG5cbiAgLy8gR2VuZXJhdGVzIGFuIG9wZW4gc3RhdGUgY2xhc3MgdGhhdCBtYXRjaGVzIHRoZSB3aWR0aCBvZiB0aGUgbWVudVxuICBAYXQtcm9vdCB7XG4gICAgLmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbbGVmdF0gLSBQb3NpdGlvbiBvZiB0aGUgb2ZmLWNhbnZhcyBtZW51IGJlaW5nIHJldmVhbGVkLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuICAkcG9zaXRpb246IGxlZnRcbikge1xuICAjeyRwb3NpdGlvbn06IDA7XG4gIHotaW5kZXg6IGF1dG87XG5cbiAgQGlmICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cblxuICAmIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgJi5wb3NpdGlvbi1sZWZ0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQpOyB9XG4gICAgJi5wb3NpdGlvbi1yaWdodCAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0KTsgfVxuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgbWVudSBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiBmb3JlZ3JvdW5kKCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMge1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtYmFyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyJ3MgbWV0ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQge1xuICBwcm9ncmVzcyB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG5cbiAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMDtcblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciBzZXRzIHRoZSBmaWxsIHdpdGggY29sb3JcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBhY3RpdmUgZmlsbCBjb2xvciBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBoYW5kbGUgZm9yIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIGFtb3VudCBvZiBhIGRpc2FibGVkIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJhbmdlLWlucHV0IHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcblxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBDaHJvbWUvU2FmYXJpXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1oYW5kbGUge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmlyZWZveFxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEludGVybmV0IEV4cGxvcmVyXG4gICAgJjo6LW1zLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGJvcmRlci10b3A6ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCB7XG4gICAgICBvdXRwdXQge1xuICAgICAgICBsaW5lLWhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDIuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbNHJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS13aWR0aCBbMS41cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggcGFkZGxlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHdpZHRoOiA0cmVtLFxuICAkaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLXdpZHRoOiAxLjVyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRoZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1sZWZ0LWFjdGl2ZTogJHdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtbGVmdC1hY3RpdmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgM3JlbSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgMXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgMy41cmVtLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgMS4yNXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgNXJlbSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsIDJyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBNZXJnZWFibGVTZWxlY3RvciwgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcblxuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbGlnaHRuZXNzIG9mIGAkY29sb3JgLCBhbmQgaWYgaXQgcGFzc2VzIHRoZSBgJHRocmVzaG9sZGAgb2YgbGlnaHRuZXNzLCBpdCByZXR1cm5zIHRoZSBgJHllc2AgY29sb3IuIE90aGVyd2lzZSwgaXQgcmV0dXJucyB0aGUgYCRub2AgY29sb3IuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGR5bmFtaWNhbGx5IG91dHB1dCBhIGZvcmVncm91bmQgY29sb3IgYmFzZWQgb24gYSBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGxpZ2h0bmVzcyBvZi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkeWVzIFskYmxhY2tdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNjAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxuQGZ1bmN0aW9uIGZvcmVncm91bmQoJGNvbG9yLCAkeWVzOiAkYmxhY2ssICRubzogJHdoaXRlLCAkdGhyZXNob2xkOiA2MCUpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWVzO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRubztcbiAgfVxufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgbGlnaHRlciBpZiBpdCdzIGxpZ2h0LCBvciBkYXJrZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgdmFyaWFibGUgaW50byB0aGUgbGVnYWN5IGNvbG9yIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIGFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICR0YWItbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGZvcmVncm91bmQoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICBtYXgtd2lkdGg6IDEwcmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLnRvcDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG5cbiAgJi5sZWZ0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmLnJpZ2h0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIlxyXG4kZm9udC1mYWNlLW5hbWU6IGljb21vb24gIWRlZmF1bHQ7XHJcbiRmb250LWZpbGUtcHJlZml4OiBpY29tb29uICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtbWFwcGluZ3M6IChcclxuXHRidXJnZXI6IFwiXFxlOTBkXCIsXHJcblx0Y2hlY2s6IFwiXFxlOTEzXCIsXHJcblx0bGVmdDogXCJcXGU5MTJcIixcclxuXHRyaWdodDogXCJcXGU5MTFcIixcclxuXHRkb3duOiBcIlxcZTkxMFwiLFxyXG5cdHVwOiBcIlxcZTkwZlwiLFxyXG5cdHNlYXJjaDogXCJcXGU5MGVcIixcclxuXHRxdW90ZTogXCJcXGU5MDBcIixcclxuXHRxdW90ZW5kOiBcIlxcZTkwMVwiLFxyXG5cdG1haWw6IFwiXFxlOTAyXCIsXHJcblx0bWludXM6IFwiXFxlOTA3XCIsXHJcblx0cGx1czogXCJcXGU5MDNcIixcclxuXHRhY3JvYmF0OiBcIlxcZTkwYVwiLFxyXG5cdGRvdGFjdGl2ZTogXCJcXGU5MDRcIixcclxuXHRkb3Q6IFwiXFxlOTA1XCIsXHJcblx0ZG93bmxvYWQ6IFwiXFxlOTA2XCIsXHJcblx0aW5mbzogXCJcXGU5MDhcIixcclxuXHRwaG9uZTogXCJcXGU5MDlcIixcclxuXHRsaW5rOiBcIlxcZTkwYlwiLFxyXG5cdGNsb3NlOiBcIlxcZTkwY1wiLFxyXG5cdHR3aXR0ZXI6IFwiXFxlOTE0XCIsXHJcblx0ZmFjZWJvb2s6IFwiXFxlOTE1XCIsXHJcblx0Z29vZ2xlOiBcIlxcZTkxNlwiXHJcblxyXG4pICFkZWZhdWx0O1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdpY29tb29uJztcclxuXHRzcmM6IHVybCgnLi4vRm9udHMvaWNvbW9vbi5lb3Q/aDR1MGZrJyk7XHJcblx0c3JjOiB1cmwoJy4uL0ZvbnRzL2ljb21vb24uZW90P2g0dTBmayNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuXHR1cmwoJy4uL0ZvbnRzL2ljb21vb24ud29mZjI/aDR1MGZrJykgZm9ybWF0KCd3b2ZmMicpLFxyXG5cdHVybCgnLi4vRm9udHMvaWNvbW9vbi50dGY/aDR1MGZrJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdHVybCgnLi4vRm9udHMvaWNvbW9vbi53b2ZmP2g0dTBmaycpIGZvcm1hdCgnd29mZicpLFxyXG5cdHVybCgnLi4vRm9udHMvaWNvbW9vbi5zdmc/aDR1MGZrI2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjc3NpY29uKCRpY29uLCAkcG9zaXRpb246IGJlZm9yZSwgJGNvbG9yOiBpbmhlcml0LCAkZm9udC1zaXplOiBpbmhlcml0LCAkZm9udC1zdHlsZTogbm9ybWFsLCAkbGluZS1oZWlnaHQ6IGluaGVyaXQsICR2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdCApIHtcclxuXHJcblx0JjojeyRwb3NpdGlvbn0ge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhY2UtbmFtZTtcclxuXHRcdGNvbG9yOiAkY29sb3I7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemU7XHJcblx0XHRmb250LXN0eWxlOiAkZm9udC1zdHlsZTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xyXG5cclxuXHRcdEBpZiBtYXAtaGFzLWtleSgkZm9udC1tYXBwaW5ncywkaWNvbikge1xyXG5cdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRmb250LW1hcHBpbmdzLCRpY29uKTtcclxuXHRcdH1cclxuXHRcdEBlbHNlIHtcclxuXHRcdFx0Y29udGVudDogJGljb247XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIlxyXG4uaWNvbiB7XHJcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0Ji5idXJnZXIge1xyXG5cdFx0QGluY2x1ZGUgY3NzaWNvbihidXJnZXIsIGJlZm9yZSwgaW5oZXJpdCwgaW5oZXJpdCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQmLmNoZWNrIHtcclxuXHRcdEBpbmNsdWRlIGNzc2ljb24oY2hlY2ssIGJlZm9yZSwgaW5oZXJpdCwgaW5oZXJpdCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQmLmxlZnQge1xyXG5cdFx0QGluY2x1ZGUgY3NzaWNvbihsZWZ0LCBiZWZvcmUsIGluaGVyaXQsIGluaGVyaXQpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0Ji5yaWdodCB7XHJcblx0XHRAaW5jbHVkZSBjc3NpY29uKHJpZ2h0LCBiZWZvcmUsIGluaGVyaXQsIGluaGVyaXQpO1xyXG5cdFx0cGFkZGluZzowO1xyXG5cdH1cclxuXHQmLmRvd24ge1xyXG5cdFx0QGluY2x1ZGUgY3NzaWNvbihkb3duLCBiZWZvcmUsIGluaGVyaXQsIGluaGVyaXQpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0Ji51cCB7XHJcblx0XHRAaW5jbHVkZSBjc3NpY29uKHVwLCBiZWZvcmUsIGluaGVyaXQsIGluaGVyaXQpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0Ji5zZWFyY2gge1xyXG5cdFx0QGluY2x1ZGUgY3NzaWNvbihzZWFyY2gsIGJlZm9yZSwgaW5oZXJpdCwgaW5oZXJpdCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQmLnF1b3RlIHtcclxuXHRcdEBpbmNsdWRlIGNzc2ljb24ocXVvdGUsIGJlZm9yZSwgaW5oZXJpdCwgaW5oZXJpdCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQmLm1pbnVzIHtcclxuXHRcdEBpbmNsdWRlIGNzc2ljb24obWludXMsIGJlZm9yZSwgaW5oZXJpdCwgaW5oZXJpdCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQmLnBsdXMge1xyXG5cdFx0QGluY2x1ZGUgY3NzaWNvbihwbHVzLCBiZWZvcmUsIGluaGVyaXQsIGluaGVyaXQpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0Ji5hY3JvYmF0IHtcclxuXHRcdEBpbmNsdWRlIGNzc2ljb24oYWNyb2JhdCwgYmVmb3JlLCBpbmhlcml0LCBpbmhlcml0KTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdCYucXVvdGVuZCB7XHJcblx0XHRAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGFmdGVyLCBpbmhlcml0LCBpbmhlcml0KTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdCYubWFpbCB7XHJcblx0XHRAaW5jbHVkZSBjc3NpY29uKG1haWwsIGJlZm9yZSwgaW5oZXJpdCwgaW5oZXJpdCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQmLmRvdCB7XHJcblx0XHRAaW5jbHVkZSBjc3NpY29uKGRvdCwgYmVmb3JlLCBpbmhlcml0LCBpbmhlcml0KTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdCYuZG90YWN0aXZlIHtcclxuXHRcdEBpbmNsdWRlIGNzc2ljb24oZG90YWN0aXZlLCBiZWZvcmUsIGluaGVyaXQsIGluaGVyaXQpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0Ji5kb3dubG9hZCB7XHJcblx0XHRAaW5jbHVkZSBjc3NpY29uKGRvd25sb2FkLCBiZWZvcmUsIGluaGVyaXQsIGluaGVyaXQpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0Ji5pbmZvIHtcclxuXHRcdEBpbmNsdWRlIGNzc2ljb24oaW5mbywgYmVmb3JlLCBpbmhlcml0LCBpbmhlcml0KTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdCYucGhvbmUge1xyXG5cdFx0QGluY2x1ZGUgY3NzaWNvbihwaG9uZSwgYmVmb3JlLCBpbmhlcml0LCBpbmhlcml0KTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdCYubGluayB7XHJcblx0XHRAaW5jbHVkZSBjc3NpY29uKGxpbmssIGJlZm9yZSwgaW5oZXJpdCwgaW5oZXJpdCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQmLmNsb3NlIHtcclxuXHRcdEBpbmNsdWRlIGNzc2ljb24oY2xvc2UsIGJlZm9yZSwgaW5oZXJpdCwgaW5oZXJpdCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQmLnR3aXR0ZXIge1xyXG5cdFx0QGluY2x1ZGUgY3NzaWNvbih0d2l0dGVyLCBiZWZvcmUsIGluaGVyaXQsIGluaGVyaXQpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0Ji5mYWNlYm9vayB7XHJcblx0XHRAaW5jbHVkZSBjc3NpY29uKGZhY2Vib29rLCBiZWZvcmUsIGluaGVyaXQsIGluaGVyaXQpO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0Ji5nb29nbGUge1xyXG5cdFx0QGluY2x1ZGUgY3NzaWNvbihnb29nbGUsIGJlZm9yZSwgaW5oZXJpdCwgaW5oZXJpdCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxufVxyXG4iLCIuYmcxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mMTtcbn1cblxuLmJnMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjI7XG59XG5cbi5iZzMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmYzO1xufVxuXG4uYmc0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mNDtcbn1cblxuLmJnNSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjU7XG59XG5cbi5iZzYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY2O1xufVxuXG4uYmc3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mNztcbn1cblxuLmJnOCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjg7XG59XG5cbi5iZzkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY5O1xufVxuXG4uY28xIHtcbiAgY29sb3I6ICRjb2xvci1uZjE7XG59XG5cbi5jbzIge1xuICBjb2xvcjogJGNvbG9yLW5mMjtcbn1cblxuLmNvMyB7XG4gIGNvbG9yOiAkY29sb3ItbmYzO1xufVxuXG4uY280IHtcbiAgY29sb3I6ICRjb2xvci1uZjQ7XG59XG5cbi5jbzUge1xuICBjb2xvcjogJGNvbG9yLW5mNTtcbn1cblxuLmNvNiB7XG4gIGNvbG9yOiAkY29sb3ItbmY2O1xufVxuXG4uY283IHtcbiAgY29sb3I6ICRjb2xvci1uZjc7XG59XG5cbi5jbzgge1xuICBjb2xvcjogJGNvbG9yLW5mODtcbn0iLCIlVDEge1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcclxufVxyXG5cclxuJVQyIHtcclxuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTI7XHJcbn1cclxuXHJcbiVUMyB7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0zO1xyXG59XHJcblxyXG4lVDQge1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktNDtcclxufVxyXG5cclxuJVQ1IHtcclxuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTU7XHJcbn1cclxuXHJcbiVDT1BZIHtcclxuXHRAZXh0ZW5kICVUNDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNSk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHR9XHJcbn1cclxuXHJcbiVQRkxJQ0hUIHtcclxuXHRAZXh0ZW5kICVUNDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRsaW5lLWhlaWdodDogMS4yXHJcbn1cclxuXHJcbiVTVkdDT1BZIHtcclxuXHRAZXh0ZW5kICVUNDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG59XHJcblxyXG4lTTEge1xyXG5cdEBleHRlbmQgJVQ0O1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMyk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpO1xyXG5cdH1cclxufVxyXG5cclxuJU0yIHtcclxuXHRAZXh0ZW5kICVUNDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRsaW5lLWhlaWdodDogMS4yZW07XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHR9XHJcbn1cclxuXHJcbiVNMyB7XHJcblx0QGV4dGVuZCAlVDU7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcblx0bGluZS1oZWlnaHQ6IDEuMmVtO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0fVxyXG59XHJcblxyXG4lTTQge1xyXG5cdEBleHRlbmQgJVQ1O1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdH1cclxufVxyXG5cclxuJUgxIHtcclxuXHRAZXh0ZW5kICVUMTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNTUpO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg3NSk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNzApO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDg1KTtcclxuXHR9XHJcbn1cclxuXHJcbiVTVkdIMSB7XHJcblx0QGV4dGVuZCAlVDE7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYyg3MCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcclxufVxyXG5cclxuJVMxIHtcclxuXHRAZXh0ZW5kICVUMTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NSk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcclxuXHR9XHJcbn1cclxuXHJcbiVTVkdTMSB7XHJcblx0QGV4dGVuZCAlVDE7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygzNSk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxufVxyXG5cclxuJUgyIHtcclxuXHRAZXh0ZW5kICVUMTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDM1KTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQ1KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNTUpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcclxuXHR9XHJcbn1cclxuXHJcbiVTVkdIMiB7XHJcblx0QGV4dGVuZCAlVDE7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYyg1NSk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcclxufVxyXG5cclxuJUgzIHtcclxuXHRAZXh0ZW5kICVUMTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDUpO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM1KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDU1KTtcclxuXHR9XHJcbn1cclxuXHJcbiVTVkdIMyB7XHJcblx0QGV4dGVuZCAlVDE7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYyg0MCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM1KTtcclxufVxyXG5cclxuJUg0IHtcclxuXHRAZXh0ZW5kICVUMTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzcpO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcclxuXHR9XHJcbn1cclxuXHJcbiVTVkdINCB7XHJcblx0QGV4dGVuZCAlVDE7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcclxufVxyXG5cclxuJUFaUCB7XHJcblx0QGV4dGVuZCAlVDQ7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XHJcblx0fVxyXG59XHJcblxyXG4lQVpQVSB7XHJcblx0QGV4dGVuZCAlVDM7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XHJcblx0fVxyXG59XHJcblxyXG4lUyB7XHJcblx0QGV4dGVuZCAlVDI7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM1KTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNSk7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NSk7XHJcblx0fVxyXG59XHJcblxyXG4lU1ZHUyB7XHJcblx0QGV4dGVuZCAlVDE7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcclxufVxyXG4lU0Yge1xyXG5cdEBleHRlbmQgJVQyO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDUpO1xyXG5cdH1cclxufVxyXG5cclxuJVoge1xyXG5cdEBleHRlbmQgJVQyO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0MCk7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNTUpO1xyXG5cdH1cclxufVxyXG5cclxuJVNGTDEge1xyXG5cdEBleHRlbmQgJVQyO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDUpO1xyXG5cdH1cclxufVxyXG5cclxuJVNGTDIge1xyXG5cdEBleHRlbmQgJVQyO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0NSk7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNTUpO1xyXG5cdH1cclxufVxyXG5cclxuLm9mZi1jYW52YXMtY29udGVudCB7XHJcblxyXG5cdHAsIC5jIHtcclxuXHRcdEBleHRlbmQgJUNPUFk7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdH1cclxuXHJcblx0LnBmbGljaHQsIC5wZmxpY2h0IGEsIC5wZmxpY2h0IHAge1xyXG5cdFx0QGV4dGVuZCAlUEZMSUNIVDtcclxuXHR9XHJcblxyXG5cclxuXHQucyB7XHJcblx0XHRAZXh0ZW5kICVTO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHR9XHJcblxyXG5cdC56IHtcclxuXHRcdEBleHRlbmQgJVo7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdH1cclxuXHJcblx0LmgxIHtcclxuXHRcdEBleHRlbmQgJUgxO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHR9XHJcblxyXG5cdC5oMiB7XHJcblx0XHRAZXh0ZW5kICVTMTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0fVxyXG5cclxuXHQuaDMge1xyXG5cdFx0QGV4dGVuZCAlSDI7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdH1cclxuXHJcblx0Lmg0IHtcclxuXHRcdEBleHRlbmQgJUgzO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHR9XHJcblxyXG5cdC5oNSB7XHJcblx0XHRAZXh0ZW5kICVINDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0fVxyXG5cclxuXHQuc3ZnLXMge1xyXG5cdFx0QGV4dGVuZCAlU1ZHUztcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0fVxyXG5cdC5zdmctYyB7XHJcblx0XHRAZXh0ZW5kICVTVkdDT1BZO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHR9XHJcblxyXG5cclxuXHQuc3ZnLWgxIHtcclxuXHRcdEBleHRlbmQgJVNWR0gxO1xyXG5cdH1cclxuXHJcblx0LnN2Zy1oMiB7XHJcblx0XHRAZXh0ZW5kICVTVkdTMTtcclxuXHR9XHJcblxyXG5cdC5zdmctaDMge1xyXG5cdFx0QGV4dGVuZCAlU1ZHSDI7XHJcblx0fVxyXG5cclxuXHQuc3ZnLWg0IHtcclxuXHRcdEBleHRlbmQgJVNWR0gzO1xyXG5cdH1cclxuXHJcblx0LnN2Zy1oNSB7XHJcblx0XHRAZXh0ZW5kICVTVkdINDtcclxuXHR9XHJcbn1cclxuXHJcbi5wZmxpY2h0LCAucGZsaWNodCBhLCAucGZsaWNodCBwIHtcclxuXHRAZXh0ZW5kICVQRkxJQ0hUO1xyXG59XHJcblxyXG4uYyB7XHJcblx0QGV4dGVuZCAlQ09QWTtcclxufVxyXG5cclxuLnMge1xyXG5cdEBleHRlbmQgJVM7XHJcbn1cclxuXHJcbi56IHtcclxuXHRAZXh0ZW5kICVaO1xyXG59XHJcblxyXG4uaDEge1xyXG5cdEBleHRlbmQgJUgxO1xyXG59XHJcblxyXG4uaDIge1xyXG5cdEBleHRlbmQgJVMxO1xyXG59XHJcblxyXG4uaDMge1xyXG5cdEBleHRlbmQgJUgyO1xyXG59XHJcblxyXG4uaDQge1xyXG5cdEBleHRlbmQgJUgzO1xyXG59XHJcblxyXG4uaDUge1xyXG5cdEBleHRlbmQgJUg0O1xyXG59XHJcblxyXG4uc3ZnLWMge1xyXG5cdEBleHRlbmQgJVNWR0NPUFk7XHJcbn1cclxuXHJcbi5zdmctcyB7XHJcblx0QGV4dGVuZCAlU1ZHUztcclxufVxyXG4uc3ZnLWgxIHtcclxuXHRAZXh0ZW5kICVTVkdIMTtcclxufVxyXG5cclxuLnN2Zy1oMiB7XHJcblx0QGV4dGVuZCAlU1ZHUzE7XHJcbn1cclxuXHJcbi5zdmctaDMge1xyXG5cdEBleHRlbmQgJVNWR0gyO1xyXG59XHJcblxyXG4uc3ZnLWg0IHtcclxuXHRAZXh0ZW5kICVTVkdIMztcclxufVxyXG5cclxuLnN2Zy1oNSB7XHJcblx0QGV4dGVuZCAlU1ZHSDQ7XHJcbn1cclxuXHJcbi5jb2x1bW5zIHtcclxuXHR1bCB7XHJcblx0XHRsaSB7XHJcblx0XHRcdEBleHRlbmQgJUFaUDtcclxuXHRcdFx0c3Ryb25nIHtcclxuXHRcdFx0XHRAZXh0ZW5kICVBWlBVO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0fVxyXG59XHJcblxyXG4udHlwbzMtbmVvcy1ub2RldHlwZXMtdGV4dCB7XHJcblx0dWwsIG9sIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzNSk7XHJcblx0XHRsaSB7XHJcblx0XHRcdEBleHRlbmQgJUNPUFk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucm93b3V0ZXIgLnJvdywgLnJvd291dGVyLnJvdyB7XHJcblx0bWF4LXdpZHRoOiBub25lO1xyXG59IiwiYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59XG5cbi5uZW9zLW5vZGV0eXBlcy10ZXh0IGEge1xuICAgIGNvbG9yOiAkY29sb3ItbmYxMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1uZjExO1xuICAgIH1cbn1cbiIsIlxuLmZ1bGwge1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG59XG4uZnVsbHNjcmVlbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4udGV4dGNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50ZXh0cmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi50ZXh0bGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5sYXJnZS1sZWdhbCB7XG4gICYuZml4IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogOTk5ODtcbiAgfVxuICAuY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYyg0Mik7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNyk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gIH1cbn1cblxuLnVhIHtcbiAgLmxhcmdlLWxlZ2FsIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuXG5cbmZvb3RlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogcmVtLWNhbGMoMjAgMCk7XG4gIEBleHRlbmQgJU0zO1xuICB3aWR0aDoxMDAlO1xuICAubGVmdCB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDM1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQGV4dGVuZCAlTTM7XG4gICAgYSB7XG4gICAgICBAZXh0ZW5kICVNMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuICAuY2VudGVyIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAucmlnaHQge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzNSk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBAaW5jbHVkZSBuby1idWxsZXQ7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgICAgIEBleHRlbmQgJU0zO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgQGV4dGVuZCAlTTM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxubGFiZWwge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnJvdyB7XG4gIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4wNzE0M3JlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjA3MTQzcmVtO1xuICB9XG59XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC43MTQyOXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IC43MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWVkaXVtLTEyLnBhZGRpbmcge1xuICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xufVxuXG4uZnJhbWVwYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDgwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIH1cbn1cblxuI3N0aWNreS13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC50aXRsZS1iYXIge1xuICAgIHotaW5kZXg6IDEwMDAwMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiN3aWRlbWVudS1zdGlja3ktd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gICN3aWRlbWVudSB7XG4gICAgei1pbmRleDogMTAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmlzLXN0aWNreSB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pZS5zcXVhcmUgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwcHg7XG59IiwiQG1peGluIGNlbnRlcmVkKCkge1xyXG4gIG1heC13aWR0aDogJHJvdy13aWR0aDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBwYWRkaW5nLWxlZnQ6ICRjb2x1bW4tZ3V0dGVyLzI7XHJcbiAgcGFkZGluZy1yaWdodDogJGNvbHVtbi1ndXR0ZXIvMjtcclxufVxyXG5cclxuQG1peGluIHZlcnRpY2FsY2VudGVyZWQoKSB7XHJcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxufVxyXG5cclxuQG1peGluIG5vLWJ1bGxldCgpIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkYm94LW1vZGVsIDogYm9yZGVyLWJveCkge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveC1tb2RlbDsgLy8gU2FmYXJpIDw9IDVcclxuICAtbW96LWJveC1zaXppbmc6ICRib3gtbW9kZWw7IC8vIEZpcmVmb3ggPD0gMTlcclxuICBib3gtc2l6aW5nOiAkYm94LW1vZGVsO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbikge1xyXG4gIC1tb3otdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XHJcbiAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcclxuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG59XHJcblxyXG5AbWl4aW4gb3BhY2l0eSgkdmFsdWUpIHtcclxuICAkSUVWYWx1ZTogJHZhbHVlKjEwMDtcclxuICBvcGFjaXR5OiAkdmFsdWU7XHJcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT1cIiskSUVWYWx1ZStcIilcIjtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JElFVmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcbiIsIi8qXG5cbiRmaWVsZHNldC1ib3JkZXJcbiRmaWVsZHNldC1wYWRkaW5nXG4kZmllbGRzZXQtbWFyZ2luXG4kbGVnZW5kLXBhZGRpbmdcbiRmb3JtLXNwYWNpbmdcbiRoZWxwdGV4dC1jb2xvclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZVxuJGhlbHB0ZXh0LWZvbnQtc3R5bGVcbiRpbnB1dC1wcmVmaXgtY29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZFxuJGlucHV0LXByZWZpeC1ib3JkZXJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZ1xuJGZvcm0tbGFiZWwtY29sb3JcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZVxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHRcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0XG4kc2VsZWN0LWJhY2tncm91bmRcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3JcbiRzZWxlY3QtcmFkaXVzXG4kaW5wdXQtY29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvclxuJGlucHV0LWZvbnQtZmFtaWx5XG4kaW5wdXQtZm9udC1zaXplXG4kaW5wdXQtYmFja2dyb3VuZFxuJGlucHV0LWJhY2tncm91bmQtZm9jdXNcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkXG4kaW5wdXQtYm9yZGVyXG4kaW5wdXQtYm9yZGVyLWZvY3VzXG4kaW5wdXQtc2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkXG4kaW5wdXQtdHJhbnNpdGlvblxuJGlucHV0LW51bWJlci1zcGlubmVyc1xuJGlucHV0LXJhZGl1c1xuJG1ldGVyLWhlaWdodFxuJG1ldGVyLXJhZGl1c1xuJG1ldGVyLWJhY2tncm91bmRcbiRtZXRlci1maWxsLWdvb2RcbiRtZXRlci1maWxsLW1lZGl1bVxuJG1ldGVyLWZpbGwtYmFkXG4kcHJvZ3Jlc3MtaGVpZ2h0XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZFxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b21cbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kXG4kcHJvZ3Jlc3MtcmFkaXVzXG4kc2xpZGVyLWhlaWdodFxuJHNsaWRlci1iYWNrZ3JvdW5kXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZFxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0XG4kc2xpZGVyLWhhbmRsZS13aWR0aFxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZFxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkXG4kc2xpZGVyLXJhZGl1c1xuXG4qL1xuXG4uc2VsZWN0LXN0eWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbml0aWFsO1xuICBoZWlnaHQ6IHJlbS1jYWxjKDQ2KTtcbiAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ2KTtcbiAgQGV4dGVuZCAlU0Y7XG4gIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyAvKiBsZXQgdGhlIGNsaWNrIHBhc3MgdHJvdWdoICovXG4gICAgdG9wOiA1MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwLCAtNTAlKSk7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICYubGVmdCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgfVxuICAgICYucmlnaHQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgfVxuXG4gIH1cbiAgc2VsZWN0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGV4dGVuZCAlU0Y7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZygpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Nik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6MDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY29udGFjdC1mb3JtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmVycm9yLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAkY29sb3ItbmY0O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmVycm9yIHtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRjb2xvci1uZjQgIWltcG9ydGFudDtcbiAgfVxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgfVxuICBAZXh0ZW5kICVDT1BZO1xuICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgb3B0aW9uLCBhIHtcbiAgICBAZXh0ZW5kICVDT1BZO1xuICB9XG4gIHRleHRhcmVhIHtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICB9XG4gIHNlbGVjdCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLmNlbnRlcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICAgIH1cbiAgfVxuICBoMywgLmgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5jb250YWN0LWZyYW1lIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoNCkgc29saWQgJGNvbG9yLW5mMztcbiAgICAuaWNvbnJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGNzc2ljb24ocmlnaHQsIGFmdGVyLCBpbmhlcml0LCBpbmhlcml0KTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYygyOSk7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoNCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgICBzZWxlY3Qge1xuICAgICAgY29sb3I6ICRjb2xvci1uZjI7XG4gICAgICBvcHRpb24ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLW5mMjtcbiAgICAgIH1cbiAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBjb2xvcjogJGNvbG9yLW5mMjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygzMDAwKTtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC41cyBlYXNlLWluLW91dCk7XG4gICAgICAmLmhpZGRlbiB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5yb3VuZGVkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogcmVtLWNhbGMoMjgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICYuYmcxIHtcbiAgICAgIEBpbmNsdWRlIHJvdW5kKCRjb2xvci1uZjEsIDUwJSwgcmVtLWNhbGMoNTApLCByZW0tY2FsYyg1MCkpO1xuICAgICAgY29sb3I6ICRjb2xvci1uZjM7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1uZjEsIDUlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5iZzIge1xuICAgICAgQGluY2x1ZGUgcm91bmQoJGNvbG9yLW5mMiwgNTAlLCByZW0tY2FsYyg1MCksIHJlbS1jYWxjKDUwKSk7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLW5mMiwgNSUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmJnMyB7XG4gICAgICBAaW5jbHVkZSByb3VuZCgkY29sb3ItbmYzLCA1MCUsIHJlbS1jYWxjKDUwKSwgcmVtLWNhbGMoNTApKTtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmYzO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItbmYzLCA1JSk7XG4gICAgICB9XG4gICAgfVxuICAgICYuYmc0IHtcbiAgICAgIEBpbmNsdWRlIHJvdW5kKCRjb2xvci1uZjQsIDUwJSwgcmVtLWNhbGMoNTApLCByZW0tY2FsYyg1MCkpO1xuICAgICAgY29sb3I6ICRjb2xvci1uZjM7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1uZjQsIDUlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5iZzUge1xuICAgICAgQGluY2x1ZGUgcm91bmQoJGNvbG9yLW5mNSwgNTAlLCByZW0tY2FsYyg1MCksIHJlbS1jYWxjKDUwKSk7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLW5mNSwgNSUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmJnNiB7XG4gICAgICBAaW5jbHVkZSByb3VuZCgkY29sb3ItbmY2LCA1MCUsIHJlbS1jYWxjKDUwKSwgcmVtLWNhbGMoNTApKTtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmYzO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItbmY2LCA1JSk7XG4gICAgICB9XG4gICAgfVxuICAgICYuYmc3IHtcbiAgICAgIEBpbmNsdWRlIHJvdW5kKCRjb2xvci1uZjcsIDUwJSwgcmVtLWNhbGMoNTApLCByZW0tY2FsYyg1MCkpO1xuICAgICAgY29sb3I6ICRjb2xvci1uZjM7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1uZjcsIDUlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5iZzgge1xuICAgICAgQGluY2x1ZGUgcm91bmQoJGNvbG9yLW5mOCwgNTAlLCByZW0tY2FsYyg1MCksIHJlbS1jYWxjKDUwKSk7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLW5mOCwgNSUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmJnOSB7XG4gICAgICBAaW5jbHVkZSByb3VuZCgkY29sb3ItbmY5LCA1MCUsIHJlbS1jYWxjKDUwKSwgcmVtLWNhbGMoNTApKTtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmYzO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItbmY5LCA1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuY2hlY2tpdCB7XG4gICAgaDUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgIH1cbiAgICAucm93IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi5jb250YWN0LWZvcm0ge1xuICBbdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgIGJvcmRlcjogMDtcbiAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG5cbi50eXBvMy1uZW9zLWFsaWdubWVudC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuIiwiQG1peGluIHJvdW5kKCRjb2xvcjogIzAwMCwgJHJhZGl1czogNTAlLCAkd2lkdGg6IGluaGVyaXQsICRoZWlnaHQ6IGluaGVyaXQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNpemluZygpO1xuICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIC8vYnVnZml4IGZvciByaXBwbGUgb3ZlcmZsb3dcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FJQUFBQ1FkMVBlQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFBNUpSRUZVZU5waVlHQmdBQWd3QUFBRUFBR2JBK29KQUFBQUFFbEZUa1N1UW1DQyk7XG59IiwiZmlndXJlIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuZmlndXJlLmZvY3VzcG9pbnQsIGZpZ3VyZS5pbnRlcmNoYW5nZS1mb2N1c3BvaW50IHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdGltZyB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRtYXgtaGVpZ2h0OiBub25lO1xyXG5cdFx0LyogZmlsbCBhbmQgbWFpbnRhaW4gYXNwZWN0IHJhdGlvICovXHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHRtaW4taGVpZ2h0OiAxMDAlO1xyXG5cdFx0bWluLXdpZHRoOiAxMDAlO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblxyXG5cdFx0JltkYXRhLWxhenktaW50ZXJjaGFuZ2VdIHtcclxuXHRcdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRcdFx0d2lkdGg6IDFweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZpZ2NhcHRpb24ge1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcbn1cclxuXHJcbi50eXBvMy1uZW9zLWFsaWdubWVudC1jZW50ZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLmhpZGVtb2JpbGUge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdH1cclxufSIsIi8qXG4kbWVudS1tYXJnaW5cbiRtZW51LW1hcmdpbi1uZXN0ZWRcbiRtZW51LWl0ZW0tcGFkZGluZ1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmVcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmVcbiRtZW51LWljb24tc3BhY2luZ1xuXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvclxuJGFuY2hvci1jb2xvclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGhcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZFxuJGRyb3Bkb3dubWVudS1ib3JkZXJcbiovXG5cblxuXG4jd2lkZW1lbnUge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDgzLCA4MywgODMsIDAuNSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJi50b3AtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmYzO1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDU2KTtcbiAgICB9XG4gICAgLmNvbXBhbnktbG9nby1sZWZ0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHRvcDogcmVtLWNhbGMoNSk7XG4gICAgICB6LWluZGV4OiAxMTAwMDAwO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgbmF2IHtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjM7XG4gICAgICAmLmxldmVsMSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIDApKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBAZXh0ZW5kICVNMTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzcpO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDQpIHNvbGlkICRjb2xvci1uZjM7XG4gICAgICAgICAgJjpob3ZlciwgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDQpIHNvbGlkICRjb2xvci1uZjE7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVNMTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuI3dpZGVtZW51IC5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTEwJTtcbn1cbi50aXRsZS1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mMztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7XG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDgzLCA4MywgODMsIDAuNSk7XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi5vZmYtY2FudmFzIHtcbiAgJi5wb3NpdGlvbi1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mMztcblxuICB9XG4gIHotaW5kZXg6IDEwMDAwO1xuICAubWVudS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICB0b3A6IHJlbS1jYWxjKDEwKTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMjUpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbiAgbmF2IHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIC52ZXJ0aWNhbC5kcm9wZG93bi5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgIEBleHRlbmQgJVNWR0NPUFk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb21wYW55LW9mZmNhbnZhcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB0b3A6IHJlbS1jYWxjKDUpO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxufVxuXG5cbi5uby1qcyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAudGl0bGUtYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5pcy1vcGVuLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgfVxufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5uYXYtaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiByZW0tY2FsYygxNCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMGRlZykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKC41cyBlYXNlLWluLW91dCk7XG4gIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZjE7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMiksICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRvcDogcmVtLWNhbGMoNik7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgIHRvcDogcmVtLWNhbGMoMTIpO1xuICAgIH1cbiAgfVxuXG59XG5cbi5pcy1vcGVuIC5uYXYtaWNvbiB7XG4gIHNwYW4ge1xuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogcmVtLWNhbGMoMik7XG4gICAgICB3aWR0aDogMCU7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiByZW0tY2FsYygyKTtcbiAgICAgIHdpZHRoOiAwJTtcbiAgICB9XG4gIH1cbn0iLCIvKlxuXG4kdGFiLW1hcmdpblxuJHRhYi1iYWNrZ3JvdW5kXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlXG4kdGFiLWl0ZW0tZm9udC1zaXplXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuJHRhYi1pdGVtLXBhZGRpbmdcbiR0YWItZXhwYW5kLW1heFxuJHRhYi1jb250ZW50LWJhY2tncm91bmRcbiR0YWItY29udGVudC1ib3JkZXJcbiR0YWItY29udGVudC1jb2xvclxuJHRhYi1jb250ZW50LXBhZGRpbmdcblxuKi9cblxuXG4udGFicyB7XG4gIGEge1xuICAgIEBleHRlbmQgJVNGO1xuICB9XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlci10b3A6IHJlbS1jYWxjKDEpIHNvbGlkICRjb2xvci1uZjI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuIiwiLypcbiRhY2NvcmRpb24tYmFja2dyb3VuZFxuJGFjY29yZGlvbi1wbHVzbWludXNcbiRhY2NvcmRpb24taXRlbS1jb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZFxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZ1xuXG4qL1xuXG5cbi8vVGhlIGFjY29yZGlvbiBpcyBjbG9zZWRcbi5hY2NvcmRpb24tdGl0bGUge1xuICBwYWRkaW5nOiByZW0tY2FsYygwIDIwKTtcbiAgQGV4dGVuZCAlU0Y7XG4gIEBpbmNsdWRlIGNzc2ljb24oZG93biwgYmVmb3JlLCByZW0tY2FsYygxNSksIGluaGVyaXQpO1xuICAmOmJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gIH1cbn1cblxuLy9UaGUgYWNjb3JkaW9uIGlzIG9wZW5cbi5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gIEBpbmNsdWRlIGNzc2ljb24odXAsIGJlZm9yZSwgcmVtLWNhbGMoMTUpLCBpbmhlcml0KTtcbn1cbnVsLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLmFjY29yZGlvbi1lbGVtZW50IHtcbiAgJi5jMSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mM1xuICAgIH1cbiAgICAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjE7XG4gICAgfVxuICB9XG4gICYuYzIge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY29sb3I6ICRjb2xvci1uZjNcbiAgICB9XG4gICAgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmYyO1xuICAgIH1cbiAgfVxuICAmLmMzIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmYyXG4gICAgfVxuICAgIC5hY2NvcmRpb24tdGl0bGUsIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mMztcbiAgICB9XG4gIH1cbiAgJi5jNCB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mM1xuICAgIH1cbiAgICAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjQ7XG4gICAgfVxuICB9XG4gICYuYzUge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY29sb3I6ICRjb2xvci1uZjNcbiAgICB9XG4gICAgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY1O1xuICAgIH1cbiAgfVxuICAmLmM2IHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmYzXG4gICAgfVxuICAgIC5hY2NvcmRpb24tdGl0bGUsIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mNjtcbiAgICB9XG4gIH1cbiAgJi5jNyB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mM1xuICAgIH1cbiAgICAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjc7XG4gICAgfVxuICB9XG4gICYuYzgge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY29sb3I6ICRjb2xvci1uZjNcbiAgICB9XG4gICAgLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY4O1xuICAgIH1cbiAgfVxufVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQsIC5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItaW1hZ2Utd2lkdGg6IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbn0iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ21vdGlvbi11aSc7XG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG4vKlxuXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZFxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZVxuJG9yYml0LWJ1bGxldC1kaWFtZXRlclxuJG9yYml0LWJ1bGxldC1tYXJnaW5cbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcFxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nXG4kb3JiaXQtY29udHJvbC16aW5kZXhcblxuKi9cblxuXG4ub3JiaXQge1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICBidXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMjUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgJi5maXhlZCB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDMwMCk7XG4gICAgfVxuICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgLy99XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICYuYnV0dG9uYWxsd2F5cywgJi5idXR0b25iZWxvdyB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAuaWNvbiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgICYuYnV0dG9uYmVsb3cge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCUpKTtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTM1KTtcblxuICAgIH1cbiAgfVxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIC5pY29uLmxlZnQge1xuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6MDtcbiAgICB9XG4gICAgJjpob3ZlciAuaWNvbi5sZWZ0LCAmLmJ1dHRvbmFsbHdheXMgLmljb24ubGVmdCB7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgIH1cbiAgfVxuICAub3JiaXQtbmV4dCB7XG5cbiAgICAuaWNvbi5yaWdodCB7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgICY6aG92ZXIgLmljb24ucmlnaHQsICYuYnV0dG9uYWxsd2F5cyAuaWNvbi5yaWdodCB7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgIH1cbiAgfVxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG4gICYuYzEge1xuICAgIC5vcmJpdC1wcmV2aW91cyAuaWNvbiwgLm9yYml0LW5leHQgLmljb24ge1xuICAgICAgY29sb3I6ICRjb2xvci1uZjE7XG4gICAgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmYxO1xuICAgIH1cbiAgfVxuICAmLmMyIHtcbiAgICAub3JiaXQtcHJldmlvdXMgLmljb24sIC5vcmJpdC1uZXh0IC5pY29uIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmYyO1xuICAgIH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mMjtcbiAgICB9XG4gIH1cbiAgJi5jMyB7XG4gICAgLm9yYml0LXByZXZpb3VzIC5pY29uLCAub3JiaXQtbmV4dCAuaWNvbiB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgICB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjM7XG4gICAgfVxuICB9XG4gICYuYzQge1xuICAgIC5vcmJpdC1wcmV2aW91cyAuaWNvbiwgLm9yYml0LW5leHQgLmljb24ge1xuICAgICAgY29sb3I6ICRjb2xvci1uZjQ7XG4gICAgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY0O1xuICAgIH1cbiAgfVxuICAmLmM1IHtcbiAgICAub3JiaXQtcHJldmlvdXMgLmljb24sIC5vcmJpdC1uZXh0IC5pY29uIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmY1O1xuICAgIH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mNTtcbiAgICB9XG4gIH1cbiAgJi5jNiB7XG4gICAgLm9yYml0LXByZXZpb3VzIC5pY29uLCAub3JiaXQtbmV4dCAuaWNvbiB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mNjtcbiAgICB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjY7XG4gICAgfVxuICB9XG4gICYuYzcge1xuICAgIC5vcmJpdC1wcmV2aW91cyAuaWNvbiwgLm9yYml0LW5leHQgLmljb24ge1xuICAgICAgY29sb3I6ICRjb2xvci1uZjc7XG4gICAgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY3O1xuICAgIH1cbiAgfVxuICAmLmM4IHtcbiAgICAub3JiaXQtcHJldmlvdXMgLmljb24sIC5vcmJpdC1uZXh0IC5pY29uIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmY4O1xuICAgIH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mODtcbiAgICB9XG4gIH1cbiAgJi5jOSB7XG4gICAgLm9yYml0LXByZXZpb3VzIC5pY29uLCAub3JiaXQtbmV4dCAuaWNvbiB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mOTtcbiAgICB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjk7XG4gICAgfVxuICB9XG59XG5cbi8qIE9yYml0IEZpeCAqL1xuLmF1dG9oZWlnaHQge1xuICAub3JiaXQtc2xpZGUge1xuICAgIG1heC1oZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgfVxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLmhlYWRlcnNlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTUwO1xuICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gIEBleHRlbmQgJVM7XG4gIC5tZW51IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaWNvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICYuYm94IHtcbiAgICAgIEBleHRlbmQgJVM7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzkpO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNyAxNSAwIDApO1xuICAgIH1cbiAgfVxuICBpbnB1dCwgYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVTO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgYm9yZGVyLXJpZ2h0OiByZW0tY2FsYygxKSBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQwMCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzOSk7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAmLm1vYmlsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC5idXR0b25zZWFyY2gge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLm1lbnUge1xuICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi5zZWFyY2gtc3R5bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBleHRlbmQgJVNGO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIH1cbiAgLnNlYXJjaGljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogcmVtLWNhbGMoMTQpO1xuICAgIHRvcDogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgLTUwJSkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIGlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDYpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDYpO1xuICAgIEBleHRlbmQgJVNGO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnNlYXJjaC1yZXN1bHQge1xuICAubGlzdCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoODApO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgfVxuICBAZXh0ZW5kICVDT1BZO1xuICBlbSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG4gIC5yZXN1bHRzcm93LC5yZXN1bHRzbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoODApO1xuICB9XG4gIC5zdWJtaXRwcmV2Zm9ybSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0Nik7XG4gIH1cbiAgb2wsdWwge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGV4dGVuZCAlUztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICAgIGEge1xuICAgICAgICBAZXh0ZW5kICVIMztcbiAgICAgICAgY29sb3I6ICRjb2xvci1uZjE7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIEBleHRlbmQgJUNPUFk7XG4gICAgICB9XG4gICAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAgIEBleHRlbmQgJUNPUFk7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIEBleHRlbmQgJUNPUFk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgQGV4dGVuZCAlQ09QWTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLW5mMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIlxuLnN0YWdlbW9iaWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgJi50b3Age1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIH1cbiAgJi5ib3R0b20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gIH1cbiAgJi5sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gIH1cbn1cblxuLnN0YWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgJi50b3Age1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIH1cbiAgJi5ib3R0b20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gIH1cbiAgJi5sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gIH1cbiAgLmlubmVyY29udGVudCB7XG4gICAgLnJvdyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAucm93IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi50ZXh0bGVmdCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYudGV4dGNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gICAgJi50ZXh0cmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgLmhvcml6b250YWwge1xuICAgICYuY2VudGVyLCAmLnRleHRjZW50ZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnJpZ2h0LCAmLnRleHRyaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cbiAgLnRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgJi5taWRkbGUge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuI3N0YWdlLmJyZWFrbW9iaWxlIHtcbiAgLnN0YWdlbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnN0YWdlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgLm9uLXRoZS1mbHktYmVoYXZpb3Ige1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI3N0YWdlLmJyZWFrdGFibGV0IHtcbiAgLnN0YWdlbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuc3RhZ2Uge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLm9uLXRoZS1mbHktYmVoYXZpb3Ige1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLm9uLXRoZS1mbHktYmVoYXZpb3Ige1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5oZWFkbGluZSB7XG4gICYuYzEsICYuYzEgYSB7XG4gICAgY29sb3I6ICRjb2xvci1uZjE7XG4gIH1cbiAgJi5jMiwgJi5jMiBhIHtcbiAgICBjb2xvcjogJGNvbG9yLW5mMjtcbiAgfVxuICAmLmMzLCAmLmMzIGEge1xuICAgIGNvbG9yOiAkY29sb3ItbmYzO1xuICB9XG4gICYuYzQsICYuYzQgYSB7XG4gICAgY29sb3I6ICRjb2xvci1uZjQ7XG4gIH1cbiAgJi5jNSwgJi5jNSBhIHtcbiAgICBjb2xvcjogJGNvbG9yLW5mNTtcbiAgfVxuICAmLmM2LCAmLmM2IGEge1xuICAgIGNvbG9yOiAkY29sb3ItbmY2O1xuICB9XG4gICYuYzcsICYuYzcgYSB7XG4gICAgY29sb3I6ICRjb2xvci1uZjc7XG4gIH1cbiAgJi5jOCwgJi5jOCBhIHtcbiAgICBjb2xvcjogJGNvbG9yLW5mODtcbiAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufSIsIi5idXR0b24ge1xuICBAZXh0ZW5kICVTRjtcbiAgcGFkZGluZzogcmVtLWNhbGMoMCAxNSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC5pY29uIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmLndpZGUge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMjApO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Nik7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICB0b3A6IHJlbS1jYWxjKDExKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MSk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDEpO1xuICAgICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgdG9wOiByZW0tY2FsYyg5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmMxIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmYxO1xuICAgIGNvbG9yOiAkY29sb3ItbmYzO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1uZjEsIDUlKTtcbiAgICB9XG4gIH1cbiAgJi5jMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mMjtcbiAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItbmYyLCA1JSk7XG4gICAgfVxuICB9XG4gICYuYzMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjM7XG4gICAgY29sb3I6ICRjb2xvci1uZjI7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLW5mMywgNSUpO1xuICAgIH1cbiAgfVxuICAmLmM0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY0O1xuICAgIGNvbG9yOiAkY29sb3ItbmYzO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1uZjQsIDUlKTtcbiAgICB9XG4gIH1cbiAgJi5jNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mNTtcbiAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItbmY1LCA1JSk7XG4gICAgfVxuICB9XG4gICYuYzYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjY7XG4gICAgY29sb3I6ICRjb2xvci1uZjM7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLW5mNiwgNSUpO1xuICAgIH1cbiAgfVxuICAmLmM3IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY3O1xuICAgIGNvbG9yOiAkY29sb3ItbmYzO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1uZjcsIDUlKTtcbiAgICB9XG4gIH1cbiAgJi5jOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mODtcbiAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItbmY4LCA1JSk7XG4gICAgfVxuICB9XG4gICYuYzkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjk7XG4gICAgY29sb3I6ICRjb2xvci1uZjM7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLW5mOSwgNSUpO1xuICAgIH1cbiAgfVxufSIsImJsb2NrcXVvdGUge1xuICBib3JkZXI6MDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIEBleHRlbmQgJVo7XG4gIGNvbG9yOiAkY29sb3ItbmYyO1xuICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGJlZm9yZSwgJGNvbG9yLW5mMSwgcmVtLWNhbGMoMjApKTtcbiAgQGluY2x1ZGUgY3NzaWNvbihxdW90ZSwgYWZ0ZXIsICRjb2xvci1uZjEsIHJlbS1jYWxjKDIwKSk7XG4gICY6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogcmVtLWNhbGMoMTApO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogcmVtLWNhbGMoLTE1KTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIHAge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAmLmMyIHtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGJlZm9yZSwgJGNvbG9yLW5mMiwgcmVtLWNhbGMoMjApKTtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlLCBhZnRlciwgJGNvbG9yLW5mMiwgcmVtLWNhbGMoMjApKTtcbiAgfVxuICAmLmMzIHtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGJlZm9yZSwgJGNvbG9yLW5mMywgcmVtLWNhbGMoMjApKTtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlLCBhZnRlciwgJGNvbG9yLW5mMywgcmVtLWNhbGMoMjApKTtcbiAgfVxuICAmLmM0IHtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGJlZm9yZSwgJGNvbG9yLW5mNCwgcmVtLWNhbGMoMjApKTtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlLCBhZnRlciwgJGNvbG9yLW5mNCwgcmVtLWNhbGMoMjApKTtcbiAgfVxuICAmLmM1IHtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGJlZm9yZSwgJGNvbG9yLW5mNSwgcmVtLWNhbGMoMjApKTtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlLCBhZnRlciwgJGNvbG9yLW5mNSwgcmVtLWNhbGMoMjApKTtcbiAgfVxuICAmLmM2IHtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGJlZm9yZSwgJGNvbG9yLW5mNiwgcmVtLWNhbGMoMjApKTtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlLCBhZnRlciwgJGNvbG9yLW5mNiwgcmVtLWNhbGMoMjApKTtcbiAgfVxuICAmLmM3IHtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGJlZm9yZSwgJGNvbG9yLW5mNywgcmVtLWNhbGMoMjApKTtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlLCBhZnRlciwgJGNvbG9yLW5mNywgcmVtLWNhbGMoMjApKTtcbiAgfVxuICAmLmM4IHtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGJlZm9yZSwgJGNvbG9yLW5mOCwgcmVtLWNhbGMoMjApKTtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlLCBhZnRlciwgJGNvbG9yLW5mOCwgcmVtLWNhbGMoMjApKTtcbiAgfVxuICAmLmM5IHtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlbmQsIGJlZm9yZSwgJGNvbG9yLW5mOSwgcmVtLWNhbGMoMjApKTtcbiAgICBAaW5jbHVkZSBjc3NpY29uKHF1b3RlLCBhZnRlciwgJGNvbG9yLW5mOSwgcmVtLWNhbGMoMjApKTtcbiAgfVxuICAmLnRleHRjZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAmLnRleHRyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbiIsInVsLnNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgbGkge1xuICAgIEBleHRlbmQgJUFaUDtcbiAgICBhIHtcbiAgICAgIEBleHRlbmQgJUFaUDtcbiAgICB9XG4gIH1cbn1cblxudWwuYmlnIHtcbiAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgbGkge1xuICAgIEBleHRlbmQgJUFaUDtcbiAgICBhIHtcbiAgICAgIEBleHRlbmQgJUFaUDtcbiAgICB9XG4gIH1cbn1cblxuLmxpc3RlbGVtZW50IHtcbiAgLmxlZnRsaXN0IHtcbiAgICB3aWR0aDogcmVtLWNhbGMoNTUpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5yaWdodGxpc3Qge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuZGlzdGFuY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxufVxuXG4ucm93IC5yb3cubGlzdGVsZW1lbnQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubGlzdGVsZW1lbnQucm93IHtcbiAgbWFyZ2luOiAwO1xufVxuIiwic3Bhbi5tZW51aWNvbiB7XG5cbiAgICAmLS1mYWNlYm9vayB7XG4gICAgICAgIEBpbmNsdWRlIGNzc2ljb24oZmFjZWJvb2ssIGJlZm9yZSwgJGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpLCAkdmVydGljYWwtYWxpZ246IG1pZGRsZSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgLy92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxufVxuXG4iLCIuc2Nyb2xsYmFyIHtcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xufVxuXG4uc2xpbVNjcm9sbEJhciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn0iLCIuY2lyY2xlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgQGluY2x1ZGUgYm94LXNpemluZygpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vSW1hZ2VzL2NpcmNsZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLmNpcmNsZS10ZXh0IHtcbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgfVxuICAmLmIxOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmYxO1xuICB9XG4gICYuYjI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjI7XG4gIH1cbiAgJi5iMzphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mMztcbiAgfVxuICAmLmI0OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY0O1xuICB9XG4gICYuYjU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjU7XG4gIH1cbiAgJi5iNjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mNjtcbiAgfVxuICAmLmI3OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY3O1xuICB9XG4gICYuYjg6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjg7XG4gIH1cbiAgJi5iOTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mOTtcbiAgfVxuICBkaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XG4gICAgd2lkdGg6IDc1JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJi5jMSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mMTtcbiAgICB9XG4gICAgJi5jMiB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mMjtcbiAgICB9XG4gICAgJi5jMyB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgICB9XG4gICAgJi5jNCB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mNDtcbiAgICB9XG4gICAgJi5jNSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mNTtcbiAgICB9XG4gICAgJi5jNiB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mNjtcbiAgICB9XG4gICAgJi5jNyB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mNztcbiAgICB9XG4gICAgJi5jOCB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mODtcbiAgICB9XG4gICAgJi5jOSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5mOTtcbiAgICB9XG4gIH1cbn1cblxuLmNpcmNsZWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5jaXJjbGVyaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxufVxuXG4uY2lyY2xlbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5zdmcsIC5zaG93LW1vYmlsZSB7XG5cbiAgLmMxIHtcbiAgICBmaWxsOiAkY29sb3ItbmYxO1xuICAgIGNvbG9yOiAkY29sb3ItbmYxO1xuICB9XG4gIC5jMiB7XG4gICAgZmlsbDogJGNvbG9yLW5mMjtcbiAgICBjb2xvcjogJGNvbG9yLW5mMjtcbiAgfVxuICAuYzMge1xuICAgIGZpbGw6ICRjb2xvci1uZjM7XG4gICAgY29sb3I6ICRjb2xvci1uZjM7XG4gIH1cbiAgLmM0IHtcbiAgICBmaWxsOiAkY29sb3ItbmY0O1xuICAgIGNvbG9yOiAkY29sb3ItbmY0O1xuICB9XG4gIC5jNSB7XG4gICAgZmlsbDogJGNvbG9yLW5mNTtcbiAgICBjb2xvcjogJGNvbG9yLW5mNTtcbiAgfVxuICAuYzYge1xuICAgIGZpbGw6ICRjb2xvci1uZjY7XG4gICAgY29sb3I6ICRjb2xvci1uZjY7XG4gIH1cbiAgLmM3IHtcbiAgICBmaWxsOiAkY29sb3ItbmY3O1xuICAgIGNvbG9yOiAkY29sb3ItbmY3O1xuICB9XG4gIC5jOCB7XG4gICAgZmlsbDogJGNvbG9yLW5mODtcbiAgICBjb2xvcjogJGNvbG9yLW5mODtcbiAgfVxuICAuc3QxIHtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWUgTFQgVzAyODdIdkNuT2JsXCI7XG4gIH1cblxuICAuc3QyIHtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZSBMVCBXMDI2N01kQ25PYmxcIjtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gIH1cblxuICAuc3QzIHtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogI2ZmZjtcbiAgICBzdHJva2UtbWl0ZXJsaW1pdDogMjBweDtcbiAgICBzdHJva2Utd2lkdGg6IDVweDtcbiAgfVxuXG4gIC5jNCB7XG4gICAgdGV4dCB7XG4gICAgICBmaWxsOiBcIiMwMDY2NGFcIjtcbiAgICB9XG4gIH1cbn1cbi5pY29ubW9vbiB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBmb250LXNpemU6IDM2cHg7XG59XG5cbi5jaXJjbGViYWNrZW5kIHtcbiAgcGFkZGluZzogMTVweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRlLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnNob3ctbW9iaWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmLnRleHRjZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICB0c3BhbiB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNSk7XG4gIH1cbn0iLCIuZW1iZWQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiByYXRpbyAxNng5ICovXG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gICYucmF0aW80eDMge1xuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIH1cbn1cblxuIiwiLnRleHRjb3ZlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICAuaW1hZ2Vwb3NpdGlvbiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICB9XG4gIC5pbm5lcnBhZGRpbmcge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAmLmltYWdlbGVmdCB7XG4gICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoNCkgc29saWQgJGNvbG9yLW5mMztcbiAgICB9XG4gICAgJi5pbWFnZXJpZ2h0IHtcbiAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoNCkgc29saWQgJGNvbG9yLW5mMztcbiAgICB9XG4gIH1cbiAgLmNvbHVtbnMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgdXApIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICYuaW5uZXJwYWRkaW5nIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgJi5pbWFnZWxlZnQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYyg0KSBzb2xpZCAkY29sb3ItbmYzO1xuICAgICAgICB9XG4gICAgICAgICYuaW1hZ2VyaWdodCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiByZW0tY2FsYyg0KSBzb2xpZCAkY29sb3ItbmYzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYubWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgdXApIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICYuaW5uZXJwYWRkaW5nIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgJi5pbWFnZWxlZnQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYyg0KSBzb2xpZCAkY29sb3ItbmYzO1xuICAgICAgICB9XG4gICAgICAgICYuaW1hZ2VyaWdodCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiByZW0tY2FsYyg0KSBzb2xpZCAkY29sb3ItbmYzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCB1cCkge1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyMDApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgJi5pbm5lcnBhZGRpbmcge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIlxuLm5hdnMtZWxlbWVudHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJGNvbG9yLW5mMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgdWwubmF2cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgbGkubmF2cy1lbGVtZW50IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgICBAZXh0ZW5kICVDT1BZO1xuICAgICAgYSB7XG4gICAgICAgIEBleHRlbmQgJUNPUFk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIlxuLnlvdXR1YmVTbGlkZSB7XG4gIC5pbm5lcnNsaWRlY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC55b3V0dWJlSGVhZGxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbS1jYWxjKDYwKTtcbiAgICByaWdodDogcmVtLWNhbGMoNTApO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDUwcHgpO1xuICAgICYueW91dHViZUludHJvLXRleHRsZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogcmVtLWNhbGMoNjApO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnlvdXR1YmVIZWFkbGluZVJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAueW91dHViZUhlYWRsaW5lRmlyc3QsIC55b3V0dWJlSGVhZGxpbmVTZWNvbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgfVxufSIsIi5hbmltYXRlIHtcclxuXHRhbmltYXRpb246IHNsaWRlRG93biAwLjY1cyBlYXNlIGZvcndhcmRzO1xyXG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMC42NjE2MjhzO1xyXG59XHJcblxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIG1vdmVJdCB7XHJcblx0MCUgeyB9XHJcblx0MTAwJSB7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBtb3ZlSXQge1xyXG5cdDAlIHsgfVxyXG5cdDEwMCUge1xyXG5cdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xyXG5cdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCkpO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIG1vdmVJdE91dCB7XHJcblx0MCUgeyB9XHJcblx0MTAwJSB7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWChyZW0tY2FsYygtMTAyNCkpKTtcclxuXHRcdG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBtb3ZlSXRPdXQge1xyXG5cdDAlIHsgfVxyXG5cdDEwMCUge1xyXG5cdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgocmVtLWNhbGMoLTEwMjQpKSk7XHJcblx0XHRvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVEb3duIHtcclxuXHQwJSB7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMTAwJSkpO1xyXG5cdFx0QGluY2x1ZGUgb3BhY2l0eSgwKTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XHJcblx0XHRAaW5jbHVkZSBvcGFjaXR5KDEpO1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZURvd24ge1xyXG5cdDAlIHtcclxuXHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0xMDAlKSk7XHJcblx0XHRAaW5jbHVkZSBvcGFjaXR5KDApO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcclxuXHRcdEBpbmNsdWRlIG9wYWNpdHkoMSk7XHJcblx0fVxyXG59XHJcbiIsIi5yaXBwbGV7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcbi5yaXBwbGUtYW5pbSB7XHJcblx0YW5pbWF0aW9uOiByaXBwbGUgMC40NXMgbGluZWFyO1xyXG59XHJcblxyXG4uaW5rIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmYzO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMCkpO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJpcHBsZSB7XHJcblx0LypzY2FsZSB0aGUgZWxlbWVudCB0byAyNTAlIHRvIHNhZmVseSBjb3ZlciB0aGUgZW50aXJlIGxpbmsgYW5kIGZhZGUgaXQgb3V0Ki9cclxuXHQxMDAlIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMi41KSk7XHJcblx0fVxyXG59XHJcbiIsIlxudmlkZW8ge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE5MjApO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogcmVzcG9uc2l2ZSBpZnJhbWUgKi9cbi5lbWJlZC1jb250YWluZXIge1xuICAvKiByYXRpbyAxNng5ICovXG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICYucmF0aW80eDMge1xuICAgIC8qIHJhdGlvIDR4MyAqL1xuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIH1cbn1cblxuIiwiXG4uYmFja2dyb3VuZC1jb3Zlci13cmFwcGVyIHtcbiAgJi5jMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mMTtcbiAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgfVxuICAmLmMyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmYyO1xuICAgIGNvbG9yOiAkY29sb3ItbmYzO1xuICB9XG4gICYuYzQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjQ7XG4gICAgY29sb3I6ICRjb2xvci1uZjM7XG4gIH1cbiAgJi5jNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mNTtcbiAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgfVxuICAmLmM2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY2O1xuICAgIGNvbG9yOiAkY29sb3ItbmYzO1xuICB9XG4gICYuYzcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZjc7XG4gICAgY29sb3I6ICRjb2xvci1uZjM7XG4gIH1cbiAgJi5jOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mODtcbiAgICBjb2xvcjogJGNvbG9yLW5mMztcbiAgfVxuICAmLmM5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmY5O1xuICAgIGNvbG9yOiAkY29sb3ItbmYyO1xuICB9XG4gIC5iYWNrZ3JvdW5kLWNvdmVyLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5iYWNrZ3JvdW5kLWNvdmVyLXRvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYubWlkZGxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAuYmFja2dyb3VuZC1jb3Zlci1lbGVtZW50IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYm90dG9tIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAuYmFja2dyb3VuZC1jb3Zlci1lbGVtZW50IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgbWluLWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLmllIHtcbiAgLmJhY2tncm91bmQtY292ZXItd3JhcHBlciB7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuYmFja2dyb3VuZC1jb3Zlci1lbGVtZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICAgICYuYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC5iYWNrZ3JvdW5kLWNvdmVyLWVsZW1lbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY29udGFjdC1mcmFtZSB7XG5cbiAgbGFiZWwge1xuICAgIEBleHRlbmQgJUNPUFk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cblxuICBpbnB1dFt0eXBlPXJhZGlvXSxcbiAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwLCA1MCUpKTtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIC8vYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkY29sb3ItbmYyO1xuICAgIH1cbiAgICAmLmNoZWNrYm94IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICB9XG4gICAgJi5jaGVja2JveDphZnRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogLTEwcHg7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLnJhZGlvIGxhYmVsOmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cblxuICAuY2hlY2tib3ggbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuY2hlY2tib3ggbGFiZWw6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgY29udGVudDogXCJcXGU5MTNcIjtcbiAgICBjb2xvcjogJGNvbG9yLW5mMTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgY29udGVudDogXCJcXGU5MTNcIjtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGNvbG9yOiAkY29sb3ItbmYxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDhweDtcbiAgICB6LWluZGV4OiAxMDA7XG4gIH1cbn0iLCIkcGEtY29va2llcGx1Z2luLWJnLWNvbG9yOiAjODg4ZDhmICFkZWZhdWx0O1xuJHBhLWNvb2tpZXBsdWdpbi1mb250LWZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFkZWZhdWx0O1xuJHBhLWNvb2tpZXBsdWdpbi1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRwYS1jb29raWVwbHVnaW4tZm9udC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRwYS1jb29raWVwbHVnaW4tbGluay1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRwYS1jb29raWVwbHVnaW4tbGluay1jb2xvci1ob3ZlcjogIzQ0NCAhZGVmYXVsdDtcbiRwYS1jb29raWVwbHVnaW4tbWF4LXdpZHRoOiByZW0tY2FsYygxMjgwKSAhZGVmYXVsdDtcblxuJHBhLWNvb2tpZXBsdWdpbi1idXR0b24tYm9yZGVyOiAycHggc29saWQgI2ZmZiAhZGVmYXVsdDtcbiRwYS1jb29raWVwbHVnaW4tYnV0dG9uLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJHBhLWNvb2tpZXBsdWdpbi1idXR0b24tY29sb3ItaG92ZXI6ICM0NDQgIWRlZmF1bHQ7XG4kcGEtY29va2llcGx1Z2luLWJ1dHRvbi1iZy1jb2xvcjogIzg4OGQ4ZiAhZGVmYXVsdDtcbiRwYS1jb29raWVwbHVnaW4tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiAjZmZmICFkZWZhdWx0O1xuJHBhLWNvb2tpZXBsdWdpbi1idXR0b24tZm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kcGEtY29va2llcGx1Z2luLWJ1dHRvbi1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi5jY19iYW5uZXItd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYS1jb29raWVwbHVnaW4tYmctY29sb3I7XG4gIGNvbG9yOiAkcGEtY29va2llcGx1Z2luLWZvbnQtY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY2NfY29udGFpbmVyIC5jY19sb2dvOmhvdmVyLCAuY2NfY29udGFpbmVyIC5jY19sb2dvOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAuY2NfY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRwYS1jb29raWVwbHVnaW4tbWF4LXdpZHRoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMCA1IDApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5jY19pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhLWNvb2tpZXBsdWdpbi1iZy1jb2xvcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygwIDEwKTtcbiAgfVxuICAuY2NfbWVzc2FnZSB7XG4gICAgY29sb3I6ICRwYS1jb29raWVwbHVnaW4tZm9udC1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJHBhLWNvb2tpZXBsdWdpbi1mb250LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJHBhLWNvb2tpZXBsdWdpbi1mb250LXNpemU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDgwKTs7XG4gIH1cbiAgYS5jY19tb3JlX2luZm8ge1xuICAgIGNvbG9yOiAkcGEtY29va2llcGx1Z2luLWxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLmNjX2NvbnRhaW5lciBhOmhvdmVyLCAuY2NfY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogJHBhLWNvb2tpZXBsdWdpbi1saW5rLWNvbG9yLWhvdmVyO1xuICB9XG4gIGEuY2NfYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGEtY29va2llcGx1Z2luLWJ1dHRvbi1iZy1jb2xvcjtcbiAgICBib3JkZXI6ICRwYS1jb29raWVwbHVnaW4tYnV0dG9uLWJvcmRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAkcGEtY29va2llcGx1Z2luLWJ1dHRvbi1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRwYS1jb29raWVwbHVnaW4tYnV0dG9uLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJHBhLWNvb2tpZXBsdWdpbi1idXR0b24tc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRvcDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICB3aWR0aDogNjVweDtcbiAgfVxuICBhLmNjX2J0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhLWNvb2tpZXBsdWdpbi1idXR0b24tYmctY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRwYS1jb29raWVwbHVnaW4tYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59IiwiLnNoYXJlYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB1bCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZSk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgICAgYTpob3ZlciAuaWNvbi5jbzEge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvci1uZjEsIDUlKTtcbiAgICAgIH1cbiAgICAgIC5zaGFyZXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuXG4gICAgfVxuICB9XG59IiwiJGZvcm0tZ2FwOiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtYmc6ICNlZWUgIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1oZWlnaHQ6IDQ1cHggIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAjMDAwICFkZWZhdWx0O1xuJGZvcm0tZXJyb3ItY29sb3I6ICNiNzAwMDAgIWRlZmF1bHQ7XG5cbi5mb3JtLWZyYW1lX193cmFwcGVyIHtcblxuXHRsYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRmaWVsZHNldCB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0LmZsZXgtd3JhcHBlciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG5cdFx0fVxuXHRcdC5mb3JtX19maWVsZCB7XG5cblx0XHR9XG5cdH1cblx0LmFjdGlvbnMge1xuXHRcdC5mb3JtLW5hdmlnYXRpb24ge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0LmZvcm1fX2ZpZWxkIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0aW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmZvcm1fX2ZpZWxkIHtcblxuXHRpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWlucHV0LWJnO1xuXHRcdGNvbG9yOiAkZm9ybS1jb2xvcjtcblx0XHRtYXJnaW4tYm90dG9tOiAkZm9ybS1nYXA7XG5cdH1cblx0aW5wdXQsIHNlbGVjdCB7XG5cdFx0aGVpZ2h0OiAkZm9ybS1pbnB1dC1oZWlnaHQ7XG5cdFx0bGluZeKAk2hlaWdodDogJGZvcm0taW5wdXQtaGVpZ2h0O1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0fVxuXHR0ZXh0YXJlYSB7XG5cdFx0bWluLWhlaWdodDogMTAwcHg7XG5cdFx0cGFkZGluZzogMTBweDtcblx0fVxufVxuXG4uZm9ybV9fY29udGFpbmVyLS1zdWJqZWN0IHtcblx0d2lkdGg6IDEwMCU7XG59XG4uZm9ybV9fY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtX19jb250YWluZXItLXNhbHV0YXRpb24ge1xuXHR3aWR0aDogMTAwJTtcblx0PiAuZm9ybV9fY29udGFpbmVyIHtcblx0XHR3aWR0aDogMzMlO1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0cGFkZGluZy1yaWdodDogJGZvcm0tZ2FwIC8gMjtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cblx0fVxufVxuXG4uZm9ybV9fY29udGFpbmVyLS1uYW1lIHtcblx0d2lkdGg6IDUwJTtcblx0cGFkZGluZy1yaWdodDogJGZvcm0tZ2FwIC8gMjtcbn1cbi5mb3JtX19jb250YWluZXItLWNvbXBhbnkge1xuXHR3aWR0aDogNTAlO1xuXHRwYWRkaW5nLWxlZnQ6ICRmb3JtLWdhcCAvIDI7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZm9ybV9fY29udGFpbmVyLS1zdHJlZXQge1xuXHR3aWR0aDogMzMlO1xuXHRwYWRkaW5nLXJpZ2h0OiAkZm9ybS1nYXAgLyAyO1xufVxuLmZvcm1fX2NvbnRhaW5lci0temlwIHtcblx0d2lkdGg6IDM0JTtcblx0cGFkZGluZy1yaWdodDogJGZvcm0tZ2FwIC8gMjtcblx0cGFkZGluZy1sZWZ0OiAkZm9ybS1nYXAgLyAyO1xufVxuLmZvcm1fX2NvbnRhaW5lci0tY2l0eSB7XG5cdHdpZHRoOiAzMyU7XG5cdHBhZGRpbmctbGVmdDogJGZvcm0tZ2FwIC8gMjtcbn1cblxuLmZvcm1fX2NvbnRhaW5lci0tcGhvbmUge1xuXHR3aWR0aDogNTAlO1xuXHRwYWRkaW5nLXJpZ2h0OiAkZm9ybS1nYXAgLyAyO1xufVxuLmZvcm1fX2NvbnRhaW5lci0tYWRkcmVzcyB7XG5cdHdpZHRoOiA1MCU7XG5cdHBhZGRpbmctbGVmdDogJGZvcm0tZ2FwIC8gMjtcbn1cblxuLmZvcm1fX2NvbnRhaW5lci0tbWVzc2FnZSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5cbi5lcnJvciB7XG5cdC5oZWxwLWlubGluZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuXHRcdHBhZGRpbmctbGVmdDogMXB4O1xuXHRcdG1hcmdpbi1ib3R0b206ICRmb3JtLWdhcDtcblx0fVxuXG5cdGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcblx0XHRtYXJnaW4tYm90dG9tOiAzcHg7XG5cdH1cbn1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuXHRjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7XG59XG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjtcbn1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuXHRjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7XG59XG5cbjo6LW1vei1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjtcbn1cblxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjtcbn1cblxuLmVycm9yOjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbn1cblxuLmVycm9yOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xufVxuXG4uZXJyb3I6LW1vei1wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbn1cblxuLmVycm9yOjotbW96LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xufVxuXG4uZXJyb3I6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xufSIsIi5mb3JtLWZyYW1lX193cmFwcGVyIHtcbiAgICAuYnRuIHtcbiAgICAgICAgLy9AZXh0ZW5kICVCVVRUT047XG4gICAgICAgIC8vQGV4dGVuZCAlU08yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5mMTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjcxNDI5cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLW5mMSwgNSUpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGNzc2ljb24ocmlnaHQsIGFmdGVyLCBpbmhlcml0LCBpbmhlcml0LCBpbmhlcml0KTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
