@charset "UTF-8";
/*! 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: default; }

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

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

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

.slide-in-down.mui-enter, .slide-in-left.mui-enter, .slide-in-up.mui-enter, .slide-in-right.mui-enter, .slide-out-down.mui-leave, .slide-out-right.mui-leave, .slide-out-up.mui-leave, .slide-out-left.mui-leave, .fade-in.mui-enter, .fade-out.mui-leave, .hinge-in-from-top.mui-enter, .hinge-in-from-right.mui-enter, .hinge-in-from-bottom.mui-enter, .hinge-in-from-left.mui-enter, .hinge-in-from-middle-x.mui-enter, .hinge-in-from-middle-y.mui-enter, .hinge-out-from-top.mui-leave, .hinge-out-from-right.mui-leave, .hinge-out-from-bottom.mui-leave, .hinge-out-from-left.mui-leave, .hinge-out-from-middle-x.mui-leave, .hinge-out-from-middle-y.mui-leave, .scale-in-up.mui-enter, .scale-in-down.mui-enter, .scale-out-up.mui-leave, .scale-out-down.mui-leave, .spin-in.mui-enter, .spin-out.mui-leave, .spin-in-ccw.mui-enter, .spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear; }

html,
body {
  font-size: 100%;
  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: #808184;
  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; }

.row {
  max-width: 75rem;
  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 {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }
    .row .row.collapse {
      margin-left: 0;
      margin-right: 0; }
  .row.small-collapse > .column, .row.small-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.small-uncollapse > .column, .row.small-uncollapse > .columns {
    padding-left: 30px;
    padding-right: 30px; }
  @media screen and (min-width: 40em) {
    .row.medium-collapse > .column, .row.medium-collapse > .columns {
      padding-left: 0;
      padding-right: 0; }
    .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns {
      padding-left: 30px;
      padding-right: 30px; } }
  @media screen and (min-width: 64em) {
    .row.large-collapse > .column, .row.large-collapse > .columns {
      padding-left: 0;
      padding-right: 0; }
    .row.large-uncollapse > .column, .row.large-uncollapse > .columns {
      padding-left: 30px;
      padding-right: 30px; } }
  @media screen and (min-width: 75em) {
    .row.xlarge-collapse > .column, .row.xlarge-collapse > .columns {
      padding-left: 0;
      padding-right: 0; }
    .row.xlarge-uncollapse > .column, .row.xlarge-uncollapse > .columns {
      padding-left: 30px;
      padding-right: 30px; } }
  .row.expanded {
    max-width: none; }

.column, .columns {
  width: 100%;
  float: left;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child, .end.columns:last-child {
    float: left; }

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

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

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

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

@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; }
  .column.medium-centered, .medium-centered.columns {
    float: none;
    margin-left: auto;
    margin-right: auto; }
  .medium-uncenter,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0; } }

@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; }
  .column.large-centered, .large-centered.columns {
    float: none;
    margin-left: auto;
    margin-right: auto; }
  .large-uncenter,
  .large-push-0,
  .large-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0; } }

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

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: #D0D2D3;
    line-height: 0; }

h1 {
  font-size: 1.875rem; }

h2 {
  font-size: 1.25rem; }

h3 {
  font-size: 1.1875rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 2rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

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

hr {
  max-width: 75rem;
  height: 0;
  border-top: 0;
  border-bottom: 1px solid #D0D2D3;
  margin: 1.25rem 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;
  list-style-type: inherit; }

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

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

cite {
  display: block;
  font-size: 0.8125rem;
  color: #808184; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #808184;
  cursor: help;
  border-bottom: 1px dotted #231F20; }

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #231F20;
  background-color: #F1F1F2;
  border: 1px solid #D0D2D3;
  padding: 0.125rem 0.3125rem 0.0625rem; }

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

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

.lead {
  font-size: 125%;
  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; }

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

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

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; } }

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

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

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

@media screen and (min-width: 75em) {
  .xlarge-text-right {
    text-align: right; } }

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

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

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

@media screen and (min-width: 75em) {
  .xlarge-text-center {
    text-align: center; } }

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

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

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

@media screen and (min-width: 75em) {
  .xlarge-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 #999;
    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; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: all 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 1em 1.85em;
  margin: 0 1rem 1rem 0;
  font-size: 1rem;
  background: #4F86A0;
  color: #fff; }
  [data-whatinput="mouse"] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background: #437288;
    color: #fff; }
  .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: #4F86A0;
    color: #fff; }
    .button.primary:hover, .button.primary:focus {
      background: #3f6b80;
      color: #fff; }
  .button.secondary {
    background: #DD0031;
    color: #fff; }
    .button.secondary:hover, .button.secondary:focus {
      background: #b10027;
      color: #fff; }
  .button.success {
    background: #3adb76;
    color: #fff; }
    .button.success:hover, .button.success:focus {
      background: #22bb5b;
      color: #fff; }
  .button.alert {
    background: #DD0031;
    color: #fff; }
    .button.alert:hover, .button.alert:focus {
      background: #b10027;
      color: #fff; }
  .button.warning {
    background: #DD8800;
    color: #fff; }
    .button.warning:hover, .button.warning:focus {
      background: #b16d00;
      color: #fff; }
  .button.hollow {
    border: 1px solid #4F86A0;
    color: #4F86A0; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #284350;
      color: #284350; }
    .button.hollow.primary {
      border: 1px solid #4F86A0;
      color: #4F86A0; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #284350;
        color: #284350; }
    .button.hollow.secondary {
      border: 1px solid #DD0031;
      color: #DD0031; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #6f0019;
        color: #6f0019; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.alert {
      border: 1px solid #DD0031;
      color: #DD0031; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #6f0019;
        color: #6f0019; }
    .button.hollow.warning {
      border: 1px solid #DD8800;
      color: #DD8800; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #6f4400;
        color: #6f4400; }
  .button.disabled {
    opacity: 0.25;
    cursor: not-allowed;
    pointer-events: none; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #ffffff transparent transparent;
    border-top-style: solid;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1.85em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: 0.2em; }

[type="text"], [type="password"], [type="date"], [type="datetime"], [type="datetime-local"], [type="month"], [type="week"], [type="email"], [type="number"], [type="search"], [type="tel"], [type="time"], [type="url"], [type="color"],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #D0D2D3;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #808184;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(35, 31, 32, 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 #808184;
    background: #ffffff;
    outline: none;
    box-shadow: 0 0 5px #D0D2D3;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #F1F1F2;
  cursor: default; }

[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 1rem; }

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

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

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

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

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

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

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

.input-group-label {
  text-align: center;
  width: 1%;
  height: 100%;
  padding: 0 1rem;
  background: #F1F1F2;
  color: #231F20;
  border: 1px solid #D0D2D3; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

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

legend {
  margin-bottom: 0.5rem; }

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

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #D0D2D3;
  border-radius: 0;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #808184;
  background-color: #fafafa;
  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(51, 51, 51)"></polygon></svg>');
  background-size: 9px 6px;
  background-position: right 0.5rem center;
  background-repeat: no-repeat; }
  @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: #F1F1F2;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto; }

.is-invalid-input:not(:focus) {
  background-color: rgba(221, 0, 49, 0.1);
  border-color: #DD0031; }

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (min-width: 0em) 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; } }

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

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

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

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-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; }

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

.accordion-title {
  display: block;
  padding: 1.25rem 1rem;
  line-height: 1;
  font-size: 0.75rem;
  color: #4F86A0;
  position: relative;
  border-bottom: 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #f4f7f8; }
  :last-child > .accordion-title {
    border-bottom-width: 0; }
  .accordion-title::before {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 50%;
    margin-top: -0.5rem; }
  .is-active > .accordion-title::before {
    content: '–'; }

.accordion-content {
  padding: 1.25rem 1rem;
  display: none;
  border-bottom: 0; }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(35, 31, 32, 0.25);
  border-radius: 0;
  position: relative;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #e4edf2; }
    .callout.primary a {
      color: #375e70; }
      .callout.primary a:hover {
        color: #1e333d; }
  .callout.secondary {
    background-color: #ffd4dd; }
    .callout.secondary a {
      color: #9b0022; }
      .callout.secondary a:hover {
        color: #4e0011; }
  .callout.success {
    background-color: #e1faea; }
    .callout.success a {
      color: #1ea450; }
      .callout.success a:hover {
        color: #126330; }
  .callout.alert {
    background-color: #ffd4dd; }
    .callout.alert a {
      color: #9b0022; }
      .callout.alert a:hover {
        color: #4e0011; }
  .callout.warning {
    background-color: #ffeed4; }
    .callout.warning a {
      color: #9b5f00; }
      .callout.warning a:hover {
        color: #4e3000; }
  .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; }

.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: #4F86A0;
  color: #ffffff; }
  .label.secondary {
    background: #DD0031;
    color: #ffffff; }
  .label.success {
    background: #3adb76;
    color: #ffffff; }
  .label.alert {
    background: #DD0031;
    color: #ffffff; }
  .label.warning {
    background: #DD8800;
    color: #ffffff; }

.media-object {
  margin-bottom: 1rem;
  display: block; }
  .media-object img {
    max-width: none; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      display: block;
      padding: 0;
      padding-bottom: 1rem; }
      .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( + &:first-child) {
    padding-left: 1rem; }
  .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: touch; }

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  transition: -webkit-transform 0.5s ease;
  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 {
  min-height: 100%;
  background: #ffffff;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 1;
  box-shadow: 0 0 10px rgba(35, 31, 32, 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; }
  .is-off-canvas-open .js-off-canvas-exit {
    display: block; }

.off-canvas {
  position: absolute;
  background: #F1F1F2;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -webkit-transform: translateX(0px);
      -ms-transform: translateX(0px);
          transform: translateX(0px); }
  [data-whatinput="mouse"] .off-canvas {
    outline: 0; }
  .off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
    .is-open-left {
      -webkit-transform: translateX(250px);
          -ms-transform: translateX(250px);
              transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -webkit-transform: translateX(-250px);
          -ms-transform: translateX(-250px);
              transform: translateX(-250px); }

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

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

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    left: 0; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    right: 0; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; } }

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

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #D0D2D3;
  margin: 100px auto 0 auto;
  background-color: #ffffff;
  border-radius: 0;
  position: absolute;
  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: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 40em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  @media screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0; }

table {
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f2f2f2;
    background-color: #ffffff; }
  caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  thead,
  tfoot {
    background: #f9f9f9;
    color: #808184; }
    thead tr,
    tfoot tr {
      background: transparent; }
    thead th,
    thead td,
    tfoot th,
    tfoot td {
      padding: 0.5rem 0.625rem 0.625rem;
      font-weight: bold;
      text-align: left; }
  tbody tr:nth-child(even) {
    background-color: #f2f2f2; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@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-y: scroll; }

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

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

.tabs {
  margin: 0;
  list-style-type: none;
  background: #ffffff;
  border: 1px solid #F1F1F2; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table; }
  .tabs::after {
    clear: both; }
  .tabs.simple > li > a {
    padding: 0; }
    .tabs.simple > li > a:hover {
      background: transparent; }
  .tabs.vertical > li {
    width: auto;
    float: none;
    display: block; }
  .tabs.primary {
    background: #4F86A0; }
    .tabs.primary > li > a {
      color: #ffffff; }
      .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
        background: #4b7f98; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    line-height: 1;
    font-size: 12px;
    color: #4F86A0; }
    .tabs-title > a:hover, .tabs-title > a:focus, .tabs-title > a[aria-selected="true"] {
      background: #F1F1F2; }

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

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

.title-bar {
  background: #231F20;
  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.5rem; }

.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 {
  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: white;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 white, 0 14px 0 white; }
  .menu-icon:hover::after {
    background: #D0D2D3;
    box-shadow: 0 7px 0 #D0D2D3, 0 14px 0 #D0D2D3; }

.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: black;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 black, 0 14px 0 black; }
  .menu-icon.dark:hover::after {
    background: #666;
    box-shadow: 0 7px 0 #666, 0 14px 0 #666; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fade-in.mui-enter {
  opacity: 0;
  transition-property: opacity; }

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

.fade-out.mui-leave {
  opacity: 1;
  transition-property: opacity; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

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

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

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

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

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

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

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

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@font-face {
  font-family: 'mef';
  src: url("../fonts/mef.eot?dag3l3");
  src: url("../fonts/mef.eot?dag3l3#iefix") format("embedded-opentype"), url("../fonts/mef.ttf?dag3l3") format("truetype"), url("../fonts/mef.woff?dag3l3") format("woff"), url("../fonts/mef.svg?dag3l3#mef") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="mef-"], [class*=" mef-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'mef' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.mef-mw:before {
  content: ""; }

.mef-mef-full:before {
  content: ""; }

.mef-mef:before {
  content: ""; }

.mef-mef-color .path1:before {
  content: "";
  color: #4f86a0; }

.mef-mef-color .path2:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-color .path3:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path1:before {
  content: "";
  color: #4f86a0; }

.mef-mef-full-color .path2:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path3:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path4:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path5:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path6:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path7:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path8:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path9:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path10:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path11:before {
  content: "";
  margin-left: -1em;
  color: #4f86a0; }

.mef-mef-full-color .path12:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path13:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path14:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path15:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path16:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path17:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path18:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path19:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path20:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path21:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path22:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path23:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path24:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path25:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path26:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path27:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-mef-full-color .path28:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-arrow-down:before {
  content: ""; }

.mef-arrow-up:before {
  content: ""; }

.mef-menu:before {
  content: ""; }

.mef-bottom:before {
  content: ""; }

.mef-top:before {
  content: ""; }

.mef-right:before {
  content: ""; }

.mef-left:before {
  content: ""; }

.mef-plus:before {
  content: ""; }

.mef-cross:before {
  content: ""; }

.mef-med:before {
  content: ""; }

.mef-vet:before {
  content: ""; }

.mef-med-vet:before {
  content: ""; }

.mef-facebook:before {
  content: ""; }

.mef-twitter:before {
  content: ""; }

.mef-linkedin:before {
  content: ""; }

.mef-google:before {
  content: ""; }

.mef-youtube:before {
  content: ""; }

.mef-instagram:before {
  content: ""; }

.mef-pinterest:before {
  content: ""; }

.mef-wordpress:before {
  content: ""; }

.mef-yelp:before {
  content: ""; }

.mef-pdf:before {
  content: ""; }

.mef-es .path1:before {
  content: "";
  color: #f9e100; }

.mef-es .path2:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-es .path3:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-en .path1:before {
  content: "";
  color: white; }

.mef-en .path2:before {
  content: "";
  margin-left: -1em;
  color: #1d2990; }

.mef-en .path3:before {
  content: "";
  margin-left: -1em;
  color: white; }

.mef-en .path4:before {
  content: "";
  margin-left: -1em;
  color: white; }

.mef-en .path5:before {
  content: "";
  margin-left: -1em;
  color: white; }

.mef-en .path6:before {
  content: "";
  margin-left: -1em;
  color: white; }

.mef-en .path7:before {
  content: "";
  margin-left: -1em;
  color: white; }

.mef-en .path8:before {
  content: "";
  margin-left: -1em;
  color: white; }

.mef-en .path9:before {
  content: "";
  margin-left: -1em;
  color: white; }

.mef-en .path10:before {
  content: "";
  margin-left: -1em;
  color: white; }

.mef-en .path11:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-en .path12:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-en .path13:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-en .path14:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-en .path15:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-en .path16:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-en .path17:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-en .path18:before {
  content: "";
  margin-left: -1em;
  color: #dd0031; }

.mef-circle:before {
  content: ""; }

.mef-circle-small:before {
  content: ""; }

.mef-ring:before {
  content: ""; }

.mef-ring-small:before {
  content: ""; }

.mef-search:before {
  content: ""; }

.mef-play:before {
  content: ""; }

.mef-envelope:before {
  content: ""; }

[class^="mef-"] [class*="path"], [class*=" mef-"] [class*="path"] {
  float: left; }

[aria-expanded="true"] .mef-menu:before {
  content: ""; }

.accordion-title:before {
  font-family: 'mef';
  src: url("../fonts/mef.eot?dag3l3");
  src: url("../fonts/mef.eot?dag3l3#iefix") format("embedded-opentype"), url("../fonts/mef.ttf?dag3l3") format("truetype"), url("../fonts/mef.woff?dag3l3") format("woff"), url("../fonts/mef.svg?dag3l3#mef") format("svg");
  font-weight: normal;
  font-style: normal; }

.accordion-title:before {
  content: "";
  font-size: 2em;
  color: #231F20; }

.is-active > .accordion-title:before {
  content: ""; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../img/ajax-loader.gif") center center no-repeat; }

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 3.125rem;
  width: 3.125rem;
  line-height: 3.125rem;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 100; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.5; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "mef";
    font-size: 3.125rem;
    line-height: 3.125rem;
    color: #4F86A0;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: 0; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: 0; }
  .slick-prev:before {
    content: ""; }
    [dir="rtl"] .slick-prev:before {
      content: ""; }

.slick-next {
  right: 0; }
  [dir="rtl"] .slick-next {
    left: 0;
    right: auto; }
  .slick-next:before {
    content: ""; }
    [dir="rtl"] .slick-next:before {
      content: ""; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 0; }

.slick-dots {
  position: absolute;
  display: block;
  bottom: 0;
  list-style: none;
  text-align: center;
  margin: 0 0 -2em 0;
  padding: 0;
  width: 100%;
  line-height: 0;
  z-index: 101; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 0.9375rem;
    width: 0.9375rem;
    margin: 0 .25em;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 0.9375rem;
      width: 0.9375rem;
      outline: none;
      line-height: 0;
      font-size: 0;
      color: transparent;
      padding: 0;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 0.9375rem;
        height: 0.9375rem;
        font-family: "mef";
        font-size: 0.9375rem;
        line-height: 0.9375rem;
        text-align: center;
        color: #97B5C5;
        opacity: 0.5;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #4F86A0;
      opacity: 1; }

.bkg-blue .slick-prev:before,
.bkg-blue .slick-next:before {
  color: #DAE4E9; }

.bkg-blue .slick-dots li button:before {
  color: #DAE4E9; }

.bkg-blue .slick-dots li.slick-active button:before {
  color: #ffffff; }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9012;
  overflow: hidden;
  position: fixed;
  background: #ffffff;
  opacity: 0.95; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9013;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 1.875rem;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 9015; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #4F86A0;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 9014; }
  .mfp-preloader a {
    color: #4F86A0; }
    .mfp-preloader a:hover {
      color: #4F86A0; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 9016;
  box-shadow: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 1;
  padding: 0 0 18px 10px;
  color: #4F86A0;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #4F86A0; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #4F86A0;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #4F86A0;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 1;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1; }

.mfp-arrow-left:before,
.mfp-arrow-right:before {
  font-family: 'mef';
  src: url("../fonts/mef.eot?dag3l3");
  src: url("../fonts/mef.eot?dag3l3#iefix") format("embedded-opentype"), url("../fonts/mef.ttf?dag3l3") format("truetype"), url("../fonts/mef.woff?dag3l3") format("woff"), url("../fonts/mef.svg?dag3l3#mef") format("svg");
  font-weight: normal;
  font-style: normal;
  font-size: 3.125rem;
  width: 5.625rem;
  height: 6.875rem;
  color: #4F86A0; }

.mfp-arrow-left:hover:before,
.mfp-arrow-right:hover:before {
  color: #44738a; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:before {
    content: ""; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:before {
    content: ""; }

.mfp-iframe-holder {
  padding-top: 15px;
  padding-bottom: 15px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.2);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 15px 0 15px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 15px;
    bottom: 15px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.2);
    background: #444; }
  .mfp-figure small {
    color: #231F20;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -11px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #231F20;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
			 * Remove all paddings around the image on small screen
			 */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
        transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
        transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
        transform-origin: 100%; }
  .mfp-container {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

.mfp-bg {
  min-width: 20rem; }

.mfp-content {
  min-width: 18.125rem;
  text-align: center; }

.mfp-bottom-bar {
  margin-top: 0.9375rem; }
  .mfp-bottom-bar .mfp-title {
    text-align: left; }
    .mfp-bottom-bar .mfp-title .title {
      font-weight: bold; }
    .mfp-bottom-bar .mfp-title small {
      font-weight: normal; }

.mfp-close {
  position: fixed;
  display: block;
  top: 0;
  left: 50%;
  margin: 0 0 0 -1.5625rem;
  padding: 0;
  width: 3.125rem !important;
  height: 3.125rem; }
  @media screen and (min-width: 64em) {
    .mfp-close {
      left: auto;
      right: 0 !important; } }
  .mfp-close:before {
    left: 0;
    padding: 0.625rem;
    font-size: 1.875rem;
    color: #ffffff;
    background-color: #4F86A0;
    width: 100%;
    height: 100%; }
  .mfp-close:hover:before {
    background-color: #44738a; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: default; }

.mfp-zoom {
  cursor: default; }

.h1 {
  font-size: 1.5rem; }
  @media screen and (min-width: 40em) {
    .h1 {
      font-size: 3rem; } }

.h2 {
  font-size: 1.25rem; }
  @media screen and (min-width: 40em) {
    .h2 {
      font-size: 2.5rem; } }

.h3 {
  font-size: 1.1875rem; }
  @media screen and (min-width: 40em) {
    .h3 {
      font-size: 1.9375rem; } }

.h4 {
  font-size: 1.125rem; }
  @media screen and (min-width: 40em) {
    .h4 {
      font-size: 1.5625rem; } }

.h5 {
  font-size: 1.0625rem; }
  @media screen and (min-width: 40em) {
    .h5 {
      font-size: 1.25rem; } }

.h6 {
  font-size: 1rem; }
  @media screen and (min-width: 40em) {
    .h6 {
      font-size: 1rem; } }

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  line-height: normal; }

.title {
  color: #231F20;
  line-height: normal; }
  a .title {
    color: inherit; }

.text-black {
  color: #231F20; }

.text-blue {
  color: #4F86A0; }

.text-red {
  color: #DD0031; }

.header-menu {
  background-color: transparent; }
  @media screen and (min-width: 67.5em) {
    .header-menu {
      position: absolute;
      left: auto !important;
      right: 30px !important;
      top: 0 !important;
      z-index: 100 !important;
      width: auto !important; } }

.off-canvas {
  overflow: visible; }

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

.off-canvas-content {
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center top; }

.products .off-canvas-content,
.services .off-canvas-content {
  background-color: #DAE4E9; }

.about .off-canvas-content {
  background-image: url(../img/about-bkg-sm.jpg); }

@media screen and (min-width: 40em) {
  .products .off-canvas-content {
    background-image: url(../img/products-bkg-lg.png); }
  .services .off-canvas-content {
    background-image: url(../img/services-bkg-lg.png); }
  .about .off-canvas-content {
    background-image: url(../img/about-bkg-md.jpg); }
  .sell .off-canvas-content {
    background-image: url(../img/sell-bkg-md.jpg);
    background-size: auto 550px;
    background-position: center top; }
  .contact .off-canvas-content {
    background-image: url(../img/contact-bkg-md.jpg);
    background-size: auto;
    background-position: left top; } }

@media screen and (min-width: 64em) {
  .about .off-canvas-content {
    background-image: url(../img/about-bkg-lg.jpg); }
  .financing .off-canvas-content {
    background-image: url(../img/financing-bkg-lg.jpg);
    background-size: auto 550px;
    background-position: right top; }
  .sell .off-canvas-content {
    background-image: url(../img/sell-bkg-lg.jpg);
    background-position: center top; }
  .quote .off-canvas-content {
    background-image: url(../img/quote-bkg-lg.jpg);
    background-size: auto 320px;
    background-position: right top; }
  .parts .off-canvas-content {
    background-image: url(../img/parts-bkg-lg.jpg);
    background-size: auto 400px;
    background-position: right top; }
  .contact .off-canvas-content {
    background-image: url(../img/contact-bkg-lg.jpg);
    background-position: center top; } }

.spacer-top-smaller {
  padding-top: 10px; }

.spacer-top-small {
  padding-top: 15px; }

.spacer-top-normal {
  padding-top: 30px; }

.spacer-top-large {
  padding-top: 60px; }

.spacer-top-larger {
  padding-top: 90px; }

.spacer-right-smaller {
  padding-right: 10px; }

.spacer-right-small {
  padding-right: 15px; }

.spacer-right-normal {
  padding-right: 30px; }

.spacer-right-large {
  padding-right: 60px; }

.spacer-right-larger {
  padding-right: 90px; }

.spacer-bottom-smaller {
  padding-bottom: 10px; }

.spacer-bottom-small {
  padding-bottom: 15px; }

.spacer-bottom-normal {
  padding-bottom: 30px; }

.spacer-bottom-large {
  padding-bottom: 60px; }

.spacer-bottom-larger {
  padding-bottom: 90px; }

.spacer-left-smaller {
  padding-left: 10px; }

.spacer-left-small {
  padding-left: 15px; }

.spacer-left-normal {
  padding-left: 30px; }

.spacer-left-large {
  padding-left: 60px; }

.spacer-left-larger {
  padding-left: 90px; }

@media screen and (min-width: 40em) {
  .spacer-top-smaller {
    padding-top: 15px; }
  .spacer-top-small {
    padding-top: 30px; }
  .spacer-top-normal {
    padding-top: 60px; }
  .spacer-top-large {
    padding-top: 120px; }
  .spacer-top-larger {
    padding-top: 180px; }
  .spacer-right-smaller {
    padding-right: 15px; }
  .spacer-right-small {
    padding-right: 30px; }
  .spacer-right-normal {
    padding-right: 60px; }
  .spacer-right-large {
    padding-right: 120px; }
  .spacer-right-larger {
    padding-right: 180px; }
  .spacer-bottom-smaller {
    padding-bottom: 15px; }
  .spacer-bottom-small {
    padding-bottom: 30px; }
  .spacer-bottom-normal {
    padding-bottom: 60px; }
  .spacer-bottom-large {
    padding-bottom: 120px; }
  .spacer-bottom-larger {
    padding-bottom: 180px; }
  .spacer-left-smaller {
    padding-left: 15px; }
  .spacer-left-small {
    padding-left: 30px; }
  .spacer-left-normal {
    padding-left: 60px; }
  .spacer-left-large {
    padding-left: 120px; }
  .spacer-left-larger {
    padding-left: 180px; } }

body {
  background-color: #fafbfc;
  cursor: default;
  min-width: 20rem; }
  body.no-scroll {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden; }

.wrapper {
  max-width: 100rem;
  margin: 0 auto; }

[data-bkg],
[bkgmulti] {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.bkg-blue {
  background-color: #4F86A0; }

.bkg-blue-lighter {
  background-color: #DAE4E9; }

.bkg-red {
  background-color: #DD0031; }

.bkg-white {
  background-color: #ffffff; }

.transition {
  transition: All 0.4s ease; }

.opacity {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1; }

a.opacity:hover {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
  opacity: 0.5; }

.scale {
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1); }
  .scale:hover {
    -ms-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    transform: scale(1.2); }

.alpha {
  list-style-type: lower-alpha; }

input, select, textarea {
  -webkit-appearance: none; }

input[type=checkbox] {
  -webkit-appearance: checkbox; }

input[type=radio] {
  -webkit-appearance: radio; }

.section-title {
  text-align: center;
  color: #231F20; }

* {
  outline: 0 none !important; }

.svg {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  margin: 0;
  padding: 0; }

.button {
  border-radius: 25px;
  white-space: nowrap; }
  .button.white-red {
    background-color: #ffffff;
    color: #DD0031; }
  .button.white-blue {
    background-color: #ffffff;
    color: #4F86A0; }
    .button.white-blue .mef-pdf {
      color: #DD0031; }
  .button.light-blue {
    background-color: #97B5C5;
    color: #4F86A0; }
  .button.lighter-blue {
    background-color: #DAE4E9;
    color: #4F86A0; }
  .button .icon {
    color: #DD0031;
    display: inline-block;
    font-size: 2em;
    line-height: 0; }
    .button .icon:before {
      float: left;
      margin-top: -.2em; }

.button-group .button {
  border-radius: 0; }
  .button-group .button:first-child {
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px; }
  .button-group .button:last-child {
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px; }

.addthis {
  display: block;
  height: 2rem;
  line-height: 2rem;
  margin-bottom: 30px;
  text-align: center; }
  @media screen and (min-width: 64em) {
    .addthis {
      text-align: right; }
      .addthis .literal {
        display: inline-block;
        text-align: right;
        line-height: 2rem; }
      .addthis .addthis_sharing_toolbox {
        display: inline-block; } }
  .addthis .at-share-tbx-element .at-share-btn {
    margin: 0 .5em; }
    @media screen and (min-width: 64em) {
      .addthis .at-share-tbx-element .at-share-btn {
        margin: 1em 0 0 .5em; } }

.item-block {
  position: relative;
  display: block;
  background-color: #ffffff;
  margin-bottom: 30px;
  text-align: left;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); }
  .slick-slider .item-block {
    margin-bottom: 0; }
  .item-block .thum {
    display: block;
    height: 0;
    overflow: hidden;
    padding: 0 0 34.782% 0; }
  .item-block .info {
    position: relative;
    display: block;
    padding: 0.9375rem; }
  .item-block .icon {
    position: absolute;
    right: 0;
    margin-top: 0.75rem;
    font-size: 1.875rem;
    color: #231F20; }
  .item-block .title,
  .item-block .desc {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow: hidden; }
  .item-block .title {
    color: #231F20;
    font-weight: bold;
    height: 3.125rem;
    padding-right: 1em; }
  .item-block .desc {
    display: none;
    color: #808184;
    height: 1.5625rem; }

.tabs {
  background-color: transparent;
  border: 0; }
  .tabs .tabs-title {
    border: 0;
    text-align: center;
    width: 50%; }
    .tabs .tabs-title a {
      background-color: #4F86A0;
      color: #ffffff;
      font-size: 1.0625rem; }
      @media screen and (min-width: 40em) {
        .tabs .tabs-title a {
          font-size: 1.25rem; } }
      .tabs .tabs-title a:hover {
        background-color: #437288; }
    @media screen and (min-width: 40em) {
      .tabs .tabs-title {
        width: auto;
        min-width: 11.25rem; } }
    .tabs .tabs-title.is-active a {
      background-color: #DAE4E9;
      color: #4F86A0;
      cursor: default; }
      .tabs .tabs-title.is-active a:hover {
        background-color: #DAE4E9; }

.tabs-content {
  background-color: transparent;
  border: 0; }

.default-list {
  list-style: none;
  margin: 0;
  padding: 0; }
  .default-list .thum-small {
    width: 5rem;
    border: 1px solid #D0D2D3; }
  .default-list .info {
    min-height: 5rem; }
    .default-list .info .title {
      margin-bottom: 0.25rem; }
    .default-list .info p {
      margin: 0; }
      .default-list .info p.desc {
        color: #808184; }

.table-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: table;
  table-layout: fixed; }
  .table-list li {
    float: none;
    display: table-cell;
    padding: 0 0.9375rem;
    vertical-align: top;
    border-left: 4px solid #DAE4E9; }

.table-list--2 li {
  width: 50%; }

.table-list--3 li {
  width: 33.333%; }

.table-list--4 li {
  width: 25%; }

.table-list--5 li {
  width: 20%; }

.table-list--6 li {
  width: 16.666%; }

@media screen and (max-width: 50em) {
  .table-list li {
    display: inline-block;
    margin-bottom: 1.25rem; }
  .table-list--4 li,
  .table-list--5 li,
  .table-list--6 li {
    width: 50%; } }

@media screen and (max-width: 30em) {
  .table-list--2 li,
  .table-list--3 li,
  .table-list--4 li,
  .table-list--5 li,
  .table-list--6 li {
    width: 100%; } }

.thum-small {
  display: inline-block;
  width: 100%;
  overflow: hidden;
  border-radius: 30%; }
  .thum-small .inner {
    width: 100%;
    display: block;
    height: 0;
    overflow: hidden;
    padding: 0 0 100% 0; }

.media-object .thum {
  margin-top: 6px;
  width: 95px;
  border: 1px #D0D2D3 solid; }
  .media-object .thum .inner {
    display: block;
    height: 0;
    overflow: hidden;
    padding: 0 0 100% 0;
    width: 100%; }

form input[type="buton"], form input[type="submit"], form input[type="reset"] {
  width: 100%; }
  @media screen and (min-width: 40em) {
    form input[type="buton"], form input[type="submit"], form input[type="reset"] {
      width: auto;
      min-width: 7.5rem; } }

.reveal {
  text-align: center; }
  .reveal .button {
    margin: 0 0 1em 0; }

[data-submit="success"] .reveal .content-success {
  display: block; }

[data-submit="success"] .reveal .content-error {
  display: none; }

[data-submit="error"] .reveal .content-success {
  display: none; }

[data-submit="error"] .reveal .content-error {
  display: block; }

.title-bar {
  height: 3.125rem;
  background-color: #4F86A0;
  text-align: center; }
  @media screen and (min-width: 67.5em) {
    .title-bar {
      height: 6.25rem;
      background-color: #ffffff;
      border-bottom: 1px #DAE4E9 solid; } }

.header-logo {
  display: inline-block;
  top: 0;
  line-height: 0;
  z-index: 120; }
  @media screen and (min-width: 67.5em) {
    .header-logo {
      position: absolute;
      left: 1.25rem; } }
  .header-logo .icon {
    margin: 1.0625rem 0 0 0;
    font-size: 6.875rem;
    color: #ffffff;
    padding: 0;
    display: block;
    line-height: 0; }
  .header-logo .mef-mef-full {
    display: block; }
  .header-logo .mef-mef-full-color {
    display: none; }
  @media screen and (min-width: 67.5em) {
    .header-logo .icon {
      float: left;
      margin-top: 0.875rem; }
    .header-logo .icon {
      line-height: .45em;
      font-size: 10rem; }
    .header-logo .mef-mef-full {
      display: none; }
    .header-logo .mef-mef-full-color {
      display: block; } }

.menu-toggle {
  position: absolute;
  left: 0;
  top: 0;
  background-color: #DD0031;
  width: 3.125rem;
  height: 3.125rem;
  text-align: center;
  transition: All 0.4s ease;
  z-index: 9001; }
  .menu-toggle:hover {
    background-color: #910020; }
  .menu-toggle .icon {
    font-size: 2em;
    line-height: 3.125rem;
    color: #ffffff; }
  @media screen and (min-width: 67.5em) {
    .menu-toggle {
      display: none; } }

.header-menu ul {
  margin: 0;
  padding: 0;
  display: block; }
  .header-menu ul li {
    border-top: 1px solid rgba(151, 181, 197, 0.25);
    display: block;
    width: 100%; }

.header-menu a {
  display: block;
  width: 100%;
  line-height: 3.125rem;
  padding: 0 0.9375rem; }
  .header-menu a:hover {
    background-color: #ffffff; }

.header-menu .menu-title {
  border: 0;
  line-height: 3.125rem;
  padding: 0 0.9375rem;
  text-transform: uppercase;
  color: #97B5C5; }

.header-menu .menu-main a {
  font-weight: bold; }

@media screen and (min-width: 67.5em) {
  .header-menu .menu-main {
    margin-right: -0.625rem; }
    .header-menu .menu-main li {
      display: inline-block;
      width: auto; }
    .header-menu .menu-main a {
      line-height: 5.875rem;
      font-weight: normal;
      padding: 0 0.625rem; } }

.header-menu .lan {
  position: relative;
  color: #4F86A0; }
  @media screen and (min-width: 67.5em) {
    [lang="en"] .header-menu .lan {
      margin-right: 7.625rem; }
    [lang="es"] .header-menu .lan {
      margin-right: 6.375rem; } }
  .header-menu .lan a {
    text-align: right;
    font-weight: normal; }
  .header-menu .lan .literal {
    float: left;
    font-weight: bold; }
  .header-menu .lan .mef-es,
  .header-menu .lan .mef-en {
    width: 2rem;
    font-size: 2em;
    margin-bottom: -.32em; }
    .header-menu .lan .mef-es span,
    .header-menu .lan .mef-en span {
      float: left; }
  @media screen and (min-width: 67.5em) {
    .header-menu .lan .lan-label {
      position: absolute;
      top: 1.5625rem;
      left: 0;
      margin: 0;
      width: 100%;
      font-size: 0.75rem;
      text-align: center; } }

html[lang="en"] .mef-en {
  display: none; }

html[lang="en"] .mef-es {
  display: inline-block; }

html[lang="es"] .mef-es {
  display: none; }

html[lang="es"] .mef-en {
  display: inline-block; }

.header-menu .menu-social {
  border-top: 1px solid rgba(151, 181, 197, 0.25); }
  .header-menu .menu-social::before, .header-menu .menu-social::after {
    content: ' ';
    display: table; }
  .header-menu .menu-social::after {
    clear: both; }
  .header-menu .menu-social li {
    float: left;
    width: 25%;
    text-align: center;
    border: 0; }
    .header-menu .menu-social li a {
      font-size: 2em;
      padding: 0; }
  @media screen and (min-width: 67.5em) {
    .header-menu .menu-social {
      display: none; } }

@media screen and (min-width: 67.5em) {
  .header-menu .menu-legal {
    display: none; } }

.icon-link {
  position: relative;
  float: right;
  margin: 0;
  color: #97B5C5;
  text-align: center; }
  .icon-link:hover {
    color: #ffffff; }
  @media screen and (min-width: 67.5em) {
    .icon-link {
      margin: 1.5rem 0.9375rem 0 0;
      color: #4F86A0; }
      .icon-link:hover {
        color: #44738a; } }
  .icon-link .icon {
    display: block;
    font-size: 2.0625rem;
    height: 2.0625rem; }
  .icon-link .lan-label {
    display: none; }
    @media screen and (min-width: 67.5em) {
      .icon-link .lan-label {
        display: block;
        margin-top: -0.0625rem;
        font-size: 0.75rem; } }

.page-footer {
  background-color: #4F86A0;
  padding-top: 30px;
  padding-bottom: 30px;
  font-size: 85%;
  color: #ffffff;
  text-align: center; }
  .page-footer a {
    color: #ffffff; }
    .page-footer a:hover {
      color: #DAE4E9; }
  .page-footer .footer-menu {
    display: none; }
  @media screen and (min-width: 64em) {
    .page-footer {
      text-align: left; }
      .page-footer .footer-menu,
      .page-footer .copyright {
        float: left; }
      .page-footer .developer {
        float: right; }
      .page-footer .footer-logo,
      .page-footer .footer-menu,
      .page-footer .copyright,
      .page-footer .developer {
        display: block;
        margin-left: 15px;
        margin-right: 15px; } }

.footer-logo {
  display: inline; }
  .footer-logo .mef-mef-full {
    display: block;
    font-size: 10rem;
    line-height: 0;
    margin: .2em 0 .3em 0; }
  @media screen and (min-width: 64em) {
    .footer-logo {
      margin: 3em 0 4em 0; }
      .footer-logo .mef-mef-full {
        margin: 0; } }

.footer-menu ul {
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-right: 30px; }
  .footer-menu ul a {
    display: block;
    padding-bottom: .5em; }
  .footer-menu ul.footer-menu--main a {
    font-weight: bold; }

.developer {
  padding-top: 1.5em;
  text-align: center; }
  .developer a {
    display: inline-block;
    margin-top: 1em; }
  .developer .mef-mw {
    font-size: 6em;
    line-height: 0; }
  @media screen and (min-width: 64em) {
    .developer {
      padding-top: 0; } }

.page-title {
  position: relative;
  height: 3.125rem;
  background-color: #ffffff;
  text-align: center;
  padding-top: .2em;
  margin-bottom: 15px; }
  @media screen and (min-width: 40em) {
    .page-title {
      text-align: left;
      padding-top: 1.875rem;
      padding-bottom: 90px;
      background-color: transparent; } }
  @media screen and (min-width: 64em) {
    .page-title {
      padding-bottom: 120px; } }
  .page-title h1 {
    margin: 0; }
  .page-title h1, .page-title h2, .page-title h3, .page-title h4 {
    color: #231F20; }

.intro {
  padding-top: 60px;
  padding-bottom: 60px; }
  .intro h1, .intro h2, .intro h3, .intro h4, .intro h5, .intro h6 {
    color: #231F20; }
  .intro p:last-child {
    margin: 0; }

.sell .intro {
  padding-top: 0;
  padding-bottom: 60px; }
  @media screen and (min-width: 64em) {
    .sell .intro {
      padding-bottom: 120px; } }

.index .intro {
  text-align: center; }
  .index .intro .logo {
    padding-bottom: 1em;
    display: inline-block; }
  .index .intro .icon {
    font-size: 15.6em;
    line-height: .35em; }
    .index .intro .icon::before, .index .intro .icon::after {
      content: ' ';
      display: table; }
    .index .intro .icon::after {
      clear: both; }
  @media screen and (min-width: 64em) {
    .index .intro {
      text-align: left; }
      .index .intro .logo {
        float: left;
        padding-bottom: 1em;
        margin-right: 1.875rem; } }

.feature-products {
  padding-top: 60px; }
  .feature-products .section-title {
    color: #ffffff; }

.replacement-parts {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  text-align: center;
  color: #ffffff;
  z-index: 4;
  padding: 0.625rem; }
  .replacement-parts .row {
    padding-top: 60px; }
  .replacement-parts .svg {
    z-index: -1; }
  .replacement-parts .triangle {
    fill: #4F86A0; }
  .replacement-parts .button {
    margin-top: 15px; }
    @media screen and (min-width: 64em) {
      .replacement-parts .button {
        margin-bottom: 0; } }

.sell-equipment {
  text-align: center; }
  .sell-equipment .top,
  .sell-equipment .bottom {
    position: relative;
    display: block;
    margin: 0;
    padding: 0; }
  .sell-equipment .svg {
    z-index: -1; }
  .sell-equipment .top {
    background-color: #DD0031;
    color: #ffffff;
    z-index: 2; }
    .sell-equipment .top .triangle {
      fill: #DD0031; }
    .sell-equipment .top h3 {
      line-height: normal;
      padding: 9% 30px 0.625rem 30px;
      margin: 0; }
      @media screen and (min-width: 40em) {
        .sell-equipment .top h3 {
          padding-top: 7%; } }
      @media screen and (min-width: 64em) {
        .sell-equipment .top h3 {
          padding-bottom: 0; } }
  .sell-equipment .bottom {
    padding: 10% 0 30px 0;
    background-image: url(../img/sell-your-equipment-md.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 1; }
    @media screen and (min-width: 40em) {
      .sell-equipment .bottom {
        padding: 8% 0 60px 0;
        background-image: url(../img/sell-your-equipment-lg.jpg); } }
    .sell-equipment .bottom p {
      font-size: 125%;
      padding: 0 15px;
      color: #231F20; }
    .sell-equipment .bottom .button {
      margin-top: 30px; }

.follow-us {
  display: none;
  background-color: #DAE4E9;
  padding: 45px 0;
  text-align: center; }
  @media screen and (min-width: 64em) {
    .follow-us {
      display: block;
      position: relative;
      padding: 60px 0; } }
  .follow-us h3 {
    display: inline-block;
    margin: 0;
    font-size: 100%;
    font-weight: bold;
    color: #4F86A0; }
    .follow-us h3 span {
      position: relative;
      display: block;
      z-index: 2; }
    .follow-us h3:before {
      content: " ";
      position: relative;
      display: block;
      width: 100%;
      height: 1.5rem;
      box-sizing: content-box;
      padding: 0 1.25rem;
      margin-left: -1.25rem;
      margin-bottom: -1.5rem;
      background-color: #DAE4E9;
      z-index: 1; }
    .follow-us h3:after {
      content: " ";
      position: absolute;
      left: 0;
      width: 100%;
      top: 0;
      margin-top: 72px;
      padding: 0;
      height: 1px;
      background-color: #4F86A0;
      z-index: 0; }
  .follow-us ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .follow-us ul li {
      display: inline-block;
      margin: 0.9375rem 1.875rem 0 1.875rem; }
      .follow-us ul li a {
        display: block; }
        .follow-us ul li a span {
          display: block;
          font-size: 2.5em; }

.index .follow-us {
  display: block;
  background-color: #ffffff; }
  .index .follow-us hr {
    display: none; }
  .index .follow-us h3 {
    display: inline;
    font-size: 1.1875rem;
    font-weight: normal;
    color: #231F20; }
    @media screen and (min-width: 40em) {
      .index .follow-us h3 {
        font-size: 1.9375rem; } }
    .index .follow-us h3 span {
      display: inline; }
    .index .follow-us h3:before, .index .follow-us h3:after {
      display: none; }
  .index .follow-us ul li {
    margin: 0.46875rem; }
    @media screen and (min-width: 64em) {
      .index .follow-us ul li {
        margin: 0.9375rem; } }
    .index .follow-us ul li a {
      display: block;
      background-color: #DAE4E9;
      border: 1px #97B5C5 solid;
      border-radius: 30%; }
      .index .follow-us ul li a span {
        display: block;
        font-size: 2.5em;
        padding: 16.21622px; }

.call-today {
  padding: 30px 0;
  background-color: #231F20;
  background-image: url(../img/call-us.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;
  text-align: center; }
  @media screen and (min-width: 40em) {
    .call-today {
      padding: 60px 0;
      background-position: right center;
      background-size: auto; } }
  .call-today .row > div {
    position: relative;
    height: auto; }
    @media screen and (min-width: 40em) {
      .call-today .row > div {
        height: 8em; } }
    @media screen and (min-width: 64em) {
      .call-today .row > div {
        height: 10em; } }
    .call-today .row > div .inner {
      position: absolute;
      margin: auto 0; }
  .call-today .row .text {
    padding: 30px 0; }
    @media screen and (min-width: 40em) {
      .call-today .row .text {
        padding: 0; } }
  .call-today .logo {
    background-color: #ffffff;
    display: inline-block;
    padding: 1.5em;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); }
    @media screen and (min-width: 64em) {
      .call-today .logo {
        padding: 2em; } }
    .call-today .logo [class*="mef-"] {
      display: block;
      height: 0;
      overflow: hidden;
      padding: 0 0 100% 0;
      font-size: 5em; }
      @media screen and (min-width: 64em) {
        .call-today .logo [class*="mef-"] {
          font-size: 6em; } }
  .call-today p {
    padding: 0;
    margin: 0 0 5px 0;
    line-height: normal; }
    .call-today p.h1 {
      font-size: 2.5em; }
      @media screen and (min-width: 40em) {
        .call-today p.h1 {
          font-size: 3em; } }
      @media screen and (min-width: 64em) {
        .call-today p.h1 {
          font-size: 3.85em; } }
  .call-today .button {
    margin: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); }
    @media screen and (min-width: 40em) {
      .call-today .button {
        margin-top: 2.5em; } }
    @media screen and (min-width: 64em) {
      .call-today .button {
        margin-top: 3.5em;
        padding-left: 2.5em;
        padding-right: 2.5em; } }

.staff {
  text-align: center;
  list-style: none;
  margin: 0;
  padding-right: 0;
  text-align: center; }
  .staff::before, .staff::after {
    content: ' ';
    display: table; }
  .staff::after {
    clear: both; }
  .staff .item {
    text-align: left;
    display: inline-block;
    vertical-align: top;
    width: 100%;
    padding: 0.9375rem;
    margin-left: -0.125rem;
    margin-right: -0.125rem; }
    @media screen and (min-width: 40em) {
      .staff .item {
        width: 50%; } }
    @media screen and (min-width: 64em) {
      .staff .item {
        width: 33.333%; } }
  .staff .thum {
    display: block;
    width: 100%;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); }
    .staff .thum .inner {
      display: block;
      height: 0;
      overflow: hidden;
      padding: 0 0 66.6666% 0; }
  .staff .info {
    display: block;
    padding-bottom: 15px; }
    .staff .info .title,
    .staff .info .subtitle {
      color: #231F20;
      margin: 0;
      padding: 0; }
    .staff .info .subtitle {
      padding-bottom: .5em; }
    .staff .info p {
      margin: 0; }
      .staff .info p.desc {
        color: #808184; }

#ad {
  position: relative;
  display: block;
  height: auto;
  box-sizing: content-box;
  padding: 0;
  border-top: 15px solid #ffffff;
  border-bottom: 15px solid #ffffff;
  overflow: hidden;
  max-height: 250px;
  z-index: 10;
  background-color: #ffffff; }
  #ad .item {
    position: relative;
    float: left; }
  #ad .item {
    text-align: center;
    padding: 0 7.5px;
    width: 300px;
    height: auto;
    max-height: 250px; }
    #ad .item a {
      background: #fff url(../img/ajax-loader.gif) center center no-repeat; }
    #ad .item a, #ad .item img {
      display: block;
      margin: 0;
      padding: 0;
      width: 100%;
      height: 100%; }

.services-list {
  display: block;
  background-color: transparent; }
  @media screen and (min-width: 40em) {
    .services-list {
      margin-top: 3.75rem; } }
  @media screen and (min-width: 64em) {
    .services-list {
      margin-top: 6.25rem; } }
  .services-list .accordion-item {
    display: block;
    margin-bottom: 1em;
    background-color: #ffffff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); }
    @media screen and (min-width: 64em) {
      .services-list .accordion-item .accordion-title {
        padding-left: 1.875rem;
        padding-right: 1.875rem; } }
    .services-list .accordion-item .accordion-title h4 {
      margin: 0;
      padding-right: 2.5rem;
      transition: All 0.4s ease; }
    .services-list .accordion-item.is-active .accordion-title h4 {
      font-size: 1.1875rem; }
      @media screen and (min-width: 40em) {
        .services-list .accordion-item.is-active .accordion-title h4 {
          font-size: 1.9375rem; } }
    @media screen and (min-width: 64em) {
      .services-list .accordion-item .accordion-content {
        padding-left: 1.875rem;
        padding-right: 1.875rem; } }
    .services-list .accordion-item .accordion-content h2, .services-list .accordion-item .accordion-content h3, .services-list .accordion-item .accordion-content h4, .services-list .accordion-item .accordion-content h5 {
      color: #231F20; }
    .services-list .accordion-item .accordion-content ul, .services-list .accordion-item .accordion-content ol {
      margin-bottom: 1.25em;
      list-style: initial; }
  .services-list .thum {
    display: block;
    height: 0;
    overflow: hidden;
    padding: 0 0 100% 0;
    margin-top: .45em;
    margin-bottom: 2em; }

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

.brochures::after {
  clear: both; }

@media screen and (min-width: 40em) {
  .brochures {
    padding-bottom: 30px; } }

.brochures .item {
  padding: 1rem 1rem 0 1rem; }
  @media screen and (min-width: 40em) {
    .brochures .item {
      float: left;
      width: 50%; } }
  @media screen and (min-width: 64em) {
    .brochures .item {
      width: 33.3333%; } }

.about-gallery .section-title {
  position: relative;
  background-color: #DAE4E9;
  margin: 0;
  padding: 0; }
  .about-gallery .section-title .svg {
    z-index: 10; }
  .about-gallery .section-title .triangle {
    fill: #DAE4E9; }

.about-gallery ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  .about-gallery ul::before, .about-gallery ul::after {
    content: ' ';
    display: table; }
  .about-gallery ul::after {
    clear: both; }
  .about-gallery ul .item {
    float: left;
    margin: 0;
    padding: 0;
    width: 50%; }
    @media screen and (min-width: 30em) {
      .about-gallery ul .item {
        width: 33.333%; } }
    @media screen and (min-width: 40em) {
      .about-gallery ul .item {
        width: 25%; } }
    @media screen and (min-width: 64em) {
      .about-gallery ul .item {
        width: 16.6666%; } }
    .about-gallery ul .item .thum {
      display: block;
      height: 0;
      overflow: hidden;
      padding: 0 0 100% 0; }

.product-gallery {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  z-index: 0;
  overflow: hidden; }
  @media screen and (min-width: 40em) {
    .product-gallery {
      border-top: 1px #DAE4E9 solid;
      height: 480px; } }
  @media screen and (min-width: 64em) {
    .product-gallery {
      border-bottom: 1px #DAE4E9 solid;
      margin-bottom: 90px !important; } }
  .product-gallery .item {
    position: relative;
    min-width: 100px; }
    .product-gallery .item a {
      position: relative;
      display: block;
      background: #fff url(../img/ajax-loader.gif) center center no-repeat; }
    .product-gallery .item img {
      display: block;
      height: auto; }
      @media screen and (min-width: 40em) {
        .product-gallery .item img {
          height: 480px; } }
    .product-gallery .item.video .icon {
      position: absolute;
      top: 50%;
      left: 50%;
      font-size: 6em;
      margin: -.5em auto auto -.5em;
      color: #ffffff;
      background-color: #4F86A0;
      border-radius: 50%; }

.similar-products h4.title {
  padding-top: 1em; }
  @media screen and (min-width: 64em) {
    .similar-products h4.title {
      padding-top: 0;
      padding-bottom: .5em; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .similar-products {
    padding-bottom: 30px; }
    .similar-products::before, .similar-products::after {
      content: ' ';
      display: table; }
    .similar-products::after {
      clear: both; }
    .similar-products .item {
      padding: 1rem 1rem 0 1rem;
      float: left;
      width: 50%; }
      .similar-products .item:nth-child(odd) {
        padding-left: 0; }
      .similar-products .item:nth-child(even) {
        padding-right: 0; } }

.map-wrapper {
  position: relative;
  display: block;
  height: 0;
  overflow: hidden;
  padding: 0 0 100% 0;
  margin-top: 0.875rem; }
  @media screen and (min-width: 40em) {
    .map-wrapper {
      display: block;
      height: 0;
      overflow: hidden;
      padding: 0 0 66.6666% 0; } }
  @media screen and (min-width: 64em) {
    .map-wrapper {
      display: block;
      height: 0;
      overflow: hidden;
      padding: 0 0 100% 0; } }
  .map-wrapper .map {
    position: absolute;
    width: 100%;
    height: 100%; }

.search {
  position: absolute;
  z-index: 110;
  top: 0;
  right: 0;
  margin: 0;
  left: auto;
  padding: 0.5rem;
  height: 3.125rem; }

.search-box {
  display: none; }
  .search-box.active {
    position: absolute;
    background-color: #365b6d;
    display: block;
    width: 100%;
    min-width: 20rem;
    height: auto;
    top: 3.125rem;
    right: 0;
    padding: 1.25rem 0 1.25rem 0;
    text-align: center;
    z-index: 1000; }
    .search-box.active::before, .search-box.active::after {
      content: ' ';
      display: table; }
    .search-box.active::after {
      clear: both; }
    @media screen and (min-width: 67.5em) {
      .search-box.active {
        top: 6.1875rem;
        width: 37.5rem; } }
    .search-box.active .mef-arrow-down {
      position: absolute;
      top: 0;
      right: 0.75rem;
      margin-top: -0.75rem;
      font-size: 2em;
      color: #4F86A0; }
      @media screen and (min-width: 67.5em) {
        .search-box.active .mef-arrow-down {
          color: #ffffff;
          right: 1.5625rem; } }
    .search-box.active .search-term {
      position: absolute;
      padding: 0 6.875rem 0 0.9375rem;
      width: 100%;
      z-index: 1; }
      .search-box.active .search-term input {
        position: relative;
        width: 100%; }
      @media screen and (min-width: 67.5em) {
        .search-box.active .search-term {
          padding-left: 1.25rem; } }
    .search-box.active .search-btn {
      position: relative;
      float: right;
      margin: 0 0.9375rem 0 0;
      padding: 0.625rem 0 0.6875rem 0;
      width: 5.9375rem;
      min-width: auto;
      z-index: 10;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }

.newsletter {
  position: absolute;
  z-index: 110;
  top: 0;
  right: 0;
  margin: 0;
  margin-right: 2.5rem;
  left: auto;
  padding: 0.5rem;
  height: 3.125rem;
  margin-right: 2.8125rem; }
  @media screen and (min-width: 67.5em) {
    .newsletter {
      margin-right: 3.25rem; } }

.newsletter-form {
  display: none; }
  .newsletter-form.active {
    position: absolute;
    background-color: #365b6d;
    display: block;
    width: 100%;
    min-width: 20rem;
    height: auto;
    top: 3.125rem;
    right: 0;
    padding: 1.25rem 0 1.25rem 0;
    text-align: left;
    z-index: 1000; }
    .newsletter-form.active::before, .newsletter-form.active::after {
      content: ' ';
      display: table; }
    .newsletter-form.active::after {
      clear: both; }
    @media screen and (min-width: 67.5em) {
      .newsletter-form.active {
        top: 6.1875rem;
        width: 37.5rem; } }
    .newsletter-form.active .form-title {
      padding: 0 1.25rem; }
    .newsletter-form.active .mef-arrow-down {
      position: absolute;
      top: 0;
      right: 3.375rem;
      margin-top: -0.75rem;
      font-size: 2em;
      color: #4F86A0; }
      @media screen and (min-width: 67.5em) {
        .newsletter-form.active .mef-arrow-down {
          color: #ffffff;
          right: 5.5rem; } }
    .newsletter-form.active .email-box {
      position: absolute;
      padding: 0 6.875rem 0 0.9375rem;
      width: 100%;
      z-index: 1; }
      .newsletter-form.active .email-box input {
        position: relative;
        width: 100%; }
      @media screen and (min-width: 67.5em) {
        .newsletter-form.active .email-box {
          padding-left: 1.25rem; } }
    .newsletter-form.active .button {
      position: relative;
      float: right;
      margin: 0 0.9375rem 0 0;
      padding: 0.625rem 0 0.6875rem 0;
      width: 5.9375rem;
      min-width: auto;
      z-index: 10;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }

.quote-and-parts {
  overflow: hidden;
  width: 100%;
  left: 0;
  margin-bottom: 30px;
  z-index: 10; }
  .quote-and-parts .button {
    width: 48%;
    top: 0;
    margin: 0;
    padding-left: 0;
    padding-right: 0; }
    .quote-and-parts .button:first-child {
      float: left;
      left: 0;
      margin-left: 0;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
    .quote-and-parts .button:last-child {
      float: right;
      right: 0;
      margin-right: 0;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
  @media screen and (min-width: 40em) {
    .quote-and-parts {
      float: right;
      width: auto; }
      .quote-and-parts::before, .quote-and-parts::after {
        content: ' ';
        display: table; }
      .quote-and-parts::after {
        clear: both; }
      .quote-and-parts .button {
        width: auto;
        top: 0;
        margin: 0.5em 0 0 0.5rem;
        padding: 1em 1.85em; }
        .quote-and-parts .button:first-child, .quote-and-parts .button:last-child {
          float: none;
          left: auto;
          right: auto;
          border-radius: 40px; } }

.product-detail .quote-and-parts {
  margin-top: 3em; }
  @media screen and (min-width: 40em) {
    .product-detail .quote-and-parts {
      float: none;
      display: block;
      text-align: center; } }
  @media screen and (min-width: 64em) {
    .product-detail .quote-and-parts {
      float: right;
      margin-top: 0; }
      .product-detail .quote-and-parts::before, .product-detail .quote-and-parts::after {
        content: ' ';
        display: table; }
      .product-detail .quote-and-parts::after {
        clear: both; } }

.products-catalog {
  text-align: center; }
  .products-catalog .button {
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
    .products-catalog .button .icon {
      color: #DD0031;
      display: inline-block;
      font-size: 2em;
      line-height: 0; }
      .products-catalog .button .icon:before {
        float: left;
        margin-top: -.2em; }

.row-products-filter {
  padding-bottom: 15px; }

.products-filter .filter-item {
  position: relative;
  width: 100%;
  margin: 0 0.9375rem 0.9375rem 0;
  border-radius: 40px;
  background-color: #ffffff;
  padding: 0 0.9375rem 0 0; }
  .products-filter .filter-item .icon {
    position: absolute;
    top: 0.1875rem;
    left: 0.1875rem; }
    .products-filter .filter-item .icon span {
      font-size: 2.85em;
      color: #4F86A0; }
  .products-filter .filter-item.type {
    padding-left: 1.65em; }
  .products-filter .filter-item.no-icon.type {
    padding-left: 0; }

.products-filter select {
  position: relative;
  display: block;
  border: 0;
  background-color: transparent;
  padding: 0 1.875rem;
  margin: 0;
  height: 50px;
  width: 100%;
  text-align: left; }

.pagination {
  text-align: center;
  padding: 0 0 30px 0; }
  @media screen and (min-width: 40em) {
    .pagination {
      padding-top: 30px; } }
  .pagination a {
    display: inline-block; }
    .pagination a span {
      width: 2em;
      height: 2em;
      font-size: 2em;
      padding: .5em;
      background-color: #ffffff;
      border-radius: 50%;
      line-height: 2em; }

[data-visible='false'] {
  position: absolute;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
  margin: -2000em 0 0 -2000em; }

[data-visible='true'] {
  position: relative;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1;
  margin: auto; }

.download-finance-form {
  text-align: center; }
  .download-finance-form .title {
    color: #4F86A0;
    font-size: 1.5rem;
    font-weight: bold; }
    @media screen and (min-width: 40em) {
      .download-finance-form .title {
        font-size: 2rem; } }
  .download-finance-form .button {
    width: 100%;
    padding: 0;
    padding-top: 12.5rem;
    overflow: hidden;
    border: 0;
    background-image: url(../img/download-finance.jpg);
    background-position: center top; }
    @media screen and (min-width: 40em) {
      .download-finance-form .button {
        max-width: 640px; } }
    .download-finance-form .button .white {
      background-color: #ffffff;
      display: block;
      padding: 1em 1.85em; }

.addthis {
  position: relative;
  text-align: center; }
  @media screen and (min-width: 64em) {
    .addthis {
      position: absolute;
      display: table;
      right: 0.9375rem;
      margin-top: 0.9375rem; } }
  .addthis .addthis_sharing_toolbox {
    display: inline-block; }
  @media screen and (min-width: 64em) {
    .addthis .literal,
    .addthis .addthis_sharing_toolbox {
      display: table-cell;
      vertical-align: middle;
      padding-left: 1em; } }

#video {
  position: relative;
  display: inline-block; }
  #video video {
    width: auto;
    height: auto;
    max-width: 100%;
    box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.2); }
  #video .mfp-bottom-bar {
    margin-top: 1.5625rem; }

.about .page-subtitle {
  text-align: center;
  color: #231F20; }
  @media screen and (min-width: 40em) {
    .about .page-subtitle {
      text-align: left; } }

.product-detail .page-title {
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0; }

.product-detail .left-column {
  display: block;
  padding-top: .5em; }
  @media screen and (min-width: 40em) {
    .product-detail .left-column {
      position: absolute;
      display: table-cell;
      vertical-align: middle;
      height: 100%; } }

.product-detail .right-column {
  position: relative; }
  @media screen and (min-width: 40em) {
    .product-detail .right-column {
      border-left: 1px #DAE4E9 solid;
      padding-top: 1.875rem;
      padding-bottom: 1.875rem;
      padding-left: 3.28125rem; } }

.product-detail .back {
  display: block;
  line-height: 2em;
  left: 0; }
  .product-detail .back .literal {
    font-size: 85%; }
  .product-detail .back:hover {
    color: #4F86A0; }
  .product-detail .back .icon {
    position: absolute;
    left: 0;
    margin-left: .25em;
    color: #231F20;
    font-size: 2em; }
  @media screen and (min-width: 40em) {
    .product-detail .back {
      position: absolute;
      top: 50%;
      margin-top: -1em; }
      .product-detail .back .literal {
        font-size: 100%; }
      .product-detail .back .icon {
        position: relative;
        float: left;
        margin: 0; } }

.product-detail .product-type-icon {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -2.34375rem;
  margin-bottom: -4.6875rem;
  width: 4.6875rem;
  height: 4.6875rem;
  background-color: #ffffff;
  border-radius: 50%;
  z-index: 10; }
  .product-detail .product-type-icon span {
    font-size: 4.6875rem;
    color: #4F86A0; }
  @media screen and (min-width: 40em) {
    .product-detail .product-type-icon {
      left: 0;
      bottom: auto;
      top: 50%;
      margin-left: -2.65625rem;
      margin-top: -2.65625rem;
      width: 5.3125rem;
      height: 5.3125rem; }
      .product-detail .product-type-icon span {
        font-size: 5.3125rem; } }

.product-detail .products-catalog {
  margin-top: 0.9375rem; }
  @media screen and (min-width: 40em) {
    .product-detail .products-catalog {
      text-align: left; }
      .product-detail .products-catalog .button {
        width: auto; } }
  @media screen and (min-width: 64em) {
    .product-detail .products-catalog {
      margin-top: 0;
      margin-bottom: 0.9375rem; }
      .product-detail .products-catalog .button {
        width: 100%; } }

.product-detail .product-description h1, .product-detail .product-description h2, .product-detail .product-description h3, .product-detail .product-description h4, .product-detail .product-description h5, .product-detail .product-description h6 {
  display: block;
  color: #231F20;
  padding-top: 1em; }

.product-detail .product-description h1, .product-detail .product-description h2, .product-detail .product-description h3, .product-detail .product-description h4, .product-detail .product-description h5, .product-detail .product-description h6,
.product-detail .product-features h1,
.product-detail .product-features h2,
.product-detail .product-features h3,
.product-detail .product-features h4,
.product-detail .product-features h5,
.product-detail .product-features h6,
.product-detail .product-specifications h1,
.product-detail .product-specifications h2,
.product-detail .product-specifications h3,
.product-detail .product-specifications h4,
.product-detail .product-specifications h5,
.product-detail .product-specifications h6 {
  display: block;
  color: #231F20;
  padding-top: 1em; }
  .product-detail .product-description h1:first-child, .product-detail .product-description h2:first-child, .product-detail .product-description h3:first-child, .product-detail .product-description h4:first-child, .product-detail .product-description h5:first-child, .product-detail .product-description h6:first-child,
  .product-detail .product-features h1:first-child,
  .product-detail .product-features h2:first-child,
  .product-detail .product-features h3:first-child,
  .product-detail .product-features h4:first-child,
  .product-detail .product-features h5:first-child,
  .product-detail .product-features h6:first-child,
  .product-detail .product-specifications h1:first-child,
  .product-detail .product-specifications h2:first-child,
  .product-detail .product-specifications h3:first-child,
  .product-detail .product-specifications h4:first-child,
  .product-detail .product-specifications h5:first-child,
  .product-detail .product-specifications h6:first-child {
    padding-top: 0; }

.contact .contact-info {
  text-align: center; }
  @media screen and (min-width: 40em) {
    .contact .contact-info {
      text-align: left; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJpY29uLXNldC9faWNvbi1zZXQuc2NzcyIsImljb24tc2V0L19pY29uLXNldC12YXIuc2NzcyIsImljb24tc2V0L19pY29uLXNldC1jdXN0b20uc2NzcyIsImNhcm91c2VsL19zbGljay5zY3NzIiwiY2Fyb3VzZWwvX3NsaWNrLXRoZW1lLnNjc3MiLCJtYWduaWZpYy1wb3B1cC9tYWluLnNjc3MiLCJtYWduaWZpYy1wb3B1cC9fc2V0dGluZ3Muc2NzcyIsIm1hZ25pZmljLXBvcHVwL19jdXN0b20uc2NzcyIsImdlbmVyYWwvX3R5cG9ncmFwaHkuc2NzcyIsImdlbmVyYWwvX21peGluLnNjc3MiLCJnZW5lcmFsL19vZmYtY2FudmFzLnNjc3MiLCJnZW5lcmFsL19wYWdlLWJhY2tncm91bmQuc2NzcyIsImdlbmVyYWwvX3NwYWNlci5zY3NzIiwiZ2VuZXJhbC9fYm9keS5zY3NzIiwiZ2VuZXJhbC9fd3JhcHBlci5zY3NzIiwiZ2VuZXJhbC9fZ2VuZXJhbC5zY3NzIiwiZ2VuZXJhbC9fYnV0dG9uLnNjc3MiLCJnZW5lcmFsL19pdGVtLWJsb2NrLnNjc3MiLCJnZW5lcmFsL190YWJzLW5vcm1hbC5zY3NzIiwiZ2VuZXJhbC9fbGlzdHMuc2NzcyIsImdlbmVyYWwvX3RodW1ibmFpbHMuc2NzcyIsImdlbmVyYWwvX2Zvcm1zLnNjc3MiLCJnZW5lcmFsL19tb2RhbC5zY3NzIiwiaGVhZGVyL190aXRsZS1iYXIuc2NzcyIsImhlYWRlci9faGVhZGVyLWxvZ28uc2NzcyIsImhlYWRlci9fbWVudS10b2dnbGUtYnRuLnNjc3MiLCJoZWFkZXIvX21lbnUtaGVhZGVyLnNjc3MiLCJoZWFkZXIvX21lbnUtbWFpbi5zY3NzIiwiaGVhZGVyL19tZW51LWxhbmcuc2NzcyIsImhlYWRlci9fbWVudS1zb2NpYWwuc2NzcyIsImhlYWRlci9fbWVudS1sZWdhbC5zY3NzIiwiaGVhZGVyL19pY29uLWxpbmsuc2NzcyIsImZvb3Rlci9fcGFnZS1mb290ZXIuc2NzcyIsImZvb3Rlci9fZm9vdGVyLWxvZ28uc2NzcyIsImZvb3Rlci9fZm9vdGVyLW1lbnUuc2NzcyIsImZvb3Rlci9fZGV2ZWxvcGVyLnNjc3MiLCJzZWN0aW9ucy9fcGFnZS10aXRsZS5zY3NzIiwic2VjdGlvbnMvX2ludHJvLnNjc3MiLCJzZWN0aW9ucy9fZmVhdHVyZS1wcm9kdWN0cy5zY3NzIiwic2VjdGlvbnMvX3JlcGxhY2VtZW50LXBhcnRzLnNjc3MiLCJzZWN0aW9ucy9fc2VsbC1lcXVpcG1lbnQuc2NzcyIsInNlY3Rpb25zL19mb2xsb3ctdXMuc2NzcyIsInNlY3Rpb25zL19jYWxsLXRvZGF5LnNjc3MiLCJzZWN0aW9ucy9fc3RhZmYuc2NzcyIsInNlY3Rpb25zL19hZC5zY3NzIiwic2VjdGlvbnMvX3NlcnZpY2VzLnNjc3MiLCJzZWN0aW9ucy9fYnJvY2h1cmVzLnNjc3MiLCJzZWN0aW9ucy9fYWJvdXQtZ2FsbGVyeS5zY3NzIiwic2VjdGlvbnMvX3Byb2R1Y3QtZ2FsbGVyeS5zY3NzIiwic2VjdGlvbnMvX3NpbWlsYXItcHJvZHVjdHMuc2NzcyIsInNlY3Rpb25zL19tYXAuc2NzcyIsInNlY3Rpb25zL19zZWFyY2guc2NzcyIsInNlY3Rpb25zL19uZXdzbGV0dGVyLnNjc3MiLCJtaXNjL19xdW90ZS1hbmQtcGFydHMuc2NzcyIsIm1pc2MvX3Byb2R1Y3RzLWNhdGFsb2cuc2NzcyIsIm1pc2MvX3Byb2R1Y3RzLWZpbHRlci5zY3NzIiwibWlzYy9fcGFnaW5hdGlvbi5zY3NzIiwibWlzYy9fZG93bmxvYWQtZmluYW5jZS1mb3JtLnNjc3MiLCJtaXNjL19hZGR0aGlzLnNjc3MiLCJtaXNjL192aWRlby5zY3NzIiwicGFnZS9fYWJvdXQuc2NzcyIsInBhZ2UvX3Byb2R1Y3QtZGV0YWlsLnNjc3MiLCJwYWdlL19jb250YWN0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCLDRFQUE0RTtBQUU1RTs7OztHQUlHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTyxFQUN6Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsVUFBVSxFQUNYOztBQUVEO2dGQUNnRjtBQUVoRjs7Ozs7R0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBZSxFQUNoQjs7QUFFRDs7O0dBR0c7QUFFSDs7OztFQUlFLHNCQUFzQjtFQUFFLE9B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RnVCLEVDOUNtQixFQUFBO0VLaUZ4QztJTDFHRjtNSWhCQSxnQkFBZ0I7TUFDaEIsaUJBQWlCLEVKb0N1QjtJQXJCeEM7TUlWQSxtQkxpRnVCO01LaEZ2QixvQkxnRnVCLEVDOUNtQixFQUFBO0VBekIxQztJQWdDSSxnQkFBZ0IsRUFDakI7O0FBSUg7RU1qREEsWUNlc0I7RUFvQ3RCLFlUMkN5RDtFUzFDekQsd0JBSGlCO0VBSWpCLHlCQUppQixFUE1oQjtFQU5EO0lPT0UsYVR1Q3dELEVTdEN6RDtFUFJEO0lRbkJFLFlWZ0V1RCxFVS9EeEQ7O0FSNEJEO0VBQ0UsWUFBWSxFQUNiOztBQU1LO0VNbkVOLGdCQ2VzQixFUHNEZjs7QUFJQztFUXpFTixtQkFBbUI7RUFDbkIsZUFIbUIsRVI2RVo7O0FBRUQ7RVE3RU4sbUJBQW1CO0VBQ25CLGdCQUhtQixFUmlGWjs7QUFNSDtFUTlETixnQkRYc0IsRVAyRWY7O0FBcEJEO0VNbkVOLGlCQ2VzQixFUHNEZjs7QUFJQztFUXpFTixtQkFBbUI7RUFDbkIsZ0JBSG1CLEVSNkVaOztBQUVEO0VRN0VOLG1CQUFtQjtFQUNuQixpQkFIbUIsRVJpRlo7O0FBTUg7RVE5RE4sc0JEUnNCLEVQd0VmOztBQXBCRDtFTW5FTixXQ2VzQixFUHNEZjs7QUFJQztFUXpFTixtQkFBbUI7RUFDbkIsVUFIbUIsRVI2RVo7O0FBRUQ7RVE3RU4sbUJBQW1CO0VBQ25CLFdBSG1CLEVSaUZaOztBQU1IO0VROUROLHVCRFJzQixFUHdFZjs7QUFwQkQ7RU1uRU4saUJDZXNCLEVQc0RmOztBQUlDO0VRekVOLG1CQUFtQjtFQUNuQixnQkFIbUIsRVI2RVo7O0FBRUQ7RVE3RU4sbUJBQW1CO0VBQ25CLGlCQUhtQixFUmlGWjs7QUFNSDtFUTlETixpQkRSc0IsRVB3RWY7O0FBcEJEO0VNbkVOLGlCQ2VzQixFUHNEZjs7QUFJQztFUXpFTixtQkFBbUI7RUFDbkIsZ0JBSG1CLEVSNkVaOztBQUVEO0VRN0VOLG1CQUFtQjtFQUNuQixpQkFIbUIsRVJpRlo7O0FBTUg7RVE5RE4sdUJEUnNCLEVQd0VmOztBQXBCRDtFTW5FTixXQ2VzQixFUHNEZjs7QUFJQztFUXpFTixtQkFBbUI7RUFDbkIsVUFIbUIsRVI2RVo7O0FBRUQ7RVE3RU4sbUJBQW1CO0VBQ25CLFdBSG1CLEVSaUZaOztBQU1IO0VROUROLHVCRFJzQixFUHdFZjs7QUFwQkQ7RU1uRU4saUJDZXNCLEVQc0RmOztBQUlDO0VRekVOLG1CQUFtQjtFQUNuQixnQkFIbUIsRVI2RVo7O0FBRUQ7RVE3RU4sbUJBQW1CO0VBQ25CLGlCQUhtQixFUmlGWjs7QUFNSDtFUTlETixpQkRSc0IsRVB3RWY7O0FBcEJEO0VNbkVOLGlCQ2VzQixFUHNEZjs7QUFJQztFUXpFTixtQkFBbUI7RUFDbkIsZ0JBSG1CLEVSNkVaOztBQUVEO0VRN0VOLG1CQUFtQjtFQUNuQixpQkFIbUIsRVJpRlo7O0FBTUg7RVE5RE4sdUJEUnNCLEVQd0VmOztBQXBCRDtFTW5FTixXQ2VzQixFUHNEZjs7QUFJQztFUXpFTixtQkFBbUI7RUFDbkIsVUFIbUIsRVI2RVo7O0FBRUQ7RVE3RU4sbUJBQW1CO0VBQ25CLFdBSG1CLEVSaUZaOztBQU1IO0VROUROLHVCRFJzQixFUHdFZjs7QUFwQkQ7RU1uRU4saUJDZXNCLEVQc0RmOztBQUlDO0VRekVOLG1CQUFtQjtFQUNuQixnQkFIbUIsRVI2RVo7O0FBRUQ7RVE3RU4sbUJBQW1CO0VBQ25CLGlCQUhtQixFUmlGWjs7QUFNSDtFUTlETixpQkRSc0IsRVB3RWY7O0FBcEJEO0VNbkVOLGlCQ2VzQixFUHNEZjs7QUFJQztFUXpFTixtQkFBbUI7RUFDbkIsZ0JBSG1CLEVSNkVaOztBQUVEO0VRN0VOLG1CQUFtQjtFQUNuQixpQkFIbUIsRVJpRlo7O0FBTUg7RVE5RE4sdUJEUnNCLEVQd0VmOztBQXBCRDtFTW5FTixZQ2VzQixFUHNEZjs7QUFnQkQ7RVE5RE4sdUJEUnNCLEVQd0VmOztBQUtEO0VTMUZKLFlBQWlCO0VBQ2pCLFlYMkZ1RCxFVzlFeEQ7RVQ0RUs7SVN0RkYsWUFBWSxFQUNiO0VUcUZHO0lTbEZGLFlBQVksRUFDYjtFVGlGRztJUzlFRixZQUFZLEVBQ2I7O0FUNkVHO0VTMUZKLFdBQWlCO0VBQ2pCLFlYMkZ1RCxFVzlFeEQ7RVQ0RUs7SVN0RkYsWUFBWSxFQUNiO0VUcUZHO0lTbEZGLFlBQVksRUFDYjtFVGlGRztJUzlFRixZQUFZLEVBQ2I7O0FUNkVHO0VTMUZKLGlCQUFpQjtFQUNqQixZWDJGdUQsRVc5RXhEO0VUNEVLO0lTdEZGLFlBQVksRUFDYjtFVHFGRztJU2xGRixZQUFZLEVBQ2I7RVRpRkc7SVM5RUYsWUFBWSxFQUNiOztBVDZFRztFUzFGSixXQUFpQjtFQUNqQixZWDJGdUQsRVc5RXhEO0VUNEVLO0lTdEZGLFlBQVksRUFDYjtFVHFGRztJU2xGRixZQUFZLEVBQ2I7RVRpRkc7SVM5RUYsWUFBWSxFQUNiOztBVDZFRztFUzFGSixXQUFpQjtFQUNqQixZWDJGdUQsRVc5RXhEO0VUNEVLO0lTdEZGLFlBQVksRUFDYjtFVHFGRztJU2xGRixZQUFZLEVBQ2I7RVRpRkc7SVM5RUYsWUFBWSxFQUNiOztBVDZFRztFUzFGSixpQkFBaUI7RUFDakIsWVgyRnVELEVXOUV4RDtFVDRFSztJU3RGRixZQUFZLEVBQ2I7RVRxRkc7SVNsRkYsWUFBWSxFQUNiO0VUaUZHO0lTOUVGLFlBQVksRUFDYjs7QVRtRkM7RVE5RkYsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixtQkFBbUIsRVI4RmhCOztBQUdEOzs7RVF4RkosaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixnQkFBZ0IsRVJ3Rlg7O0FLYUg7RUxuREk7SU1uRU4sZ0JDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLGVBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUmlGWjtFQU1IO0lROUROLGdCRFhzQixFUDJFZjtFQXBCRDtJTW5FTixpQkNlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLGlCQUhtQixFUmlGWjtFQU1IO0lROUROLHNCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixXQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixVQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixXQUhtQixFUmlGWjtFQU1IO0lROUROLHVCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixpQkNlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLGlCQUhtQixFUmlGWjtFQU1IO0lROUROLGlCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixpQkNlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLGlCQUhtQixFUmlGWjtFQU1IO0lROUROLHVCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixXQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixVQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixXQUhtQixFUmlGWjtFQU1IO0lROUROLHVCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixpQkNlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLGlCQUhtQixFUmlGWjtFQU1IO0lROUROLGlCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixpQkNlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLGlCQUhtQixFUmlGWjtFQU1IO0lROUROLHVCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixXQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixVQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixXQUhtQixFUmlGWjtFQU1IO0lROUROLHVCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixpQkNlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLGlCQUhtQixFUmlGWjtFQU1IO0lROUROLGlCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixpQkNlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLGlCQUhtQixFUmlGWjtFQU1IO0lROUROLHVCRFJzQixFUHdFZjtFQXBCRDtJTW5FTixZQ2VzQixFUHNEZjtFQWdCRDtJUTlETix1QkRSc0IsRVB3RWY7RUFLRDtJUzFGSixZQUFpQjtJQUNqQixZWDJGdUQsRVc5RXhEO0lUNEVLO01TdEZGLFlBQVksRUFDYjtJVHFGRztNU2xGRixZQUFZLEVBQ2I7SVRpRkc7TVM5RUYsWUFBWSxFQUNiO0VUNkVHO0lTMUZKLFdBQWlCO0lBQ2pCLFlYMkZ1RCxFVzlFeEQ7SVQ0RUs7TVN0RkYsWUFBWSxFQUNiO0lUcUZHO01TbEZGLFlBQVksRUFDYjtJVGlGRztNUzlFRixZQUFZLEVBQ2I7RVQ2RUc7SVMxRkosaUJBQWlCO0lBQ2pCLFlYMkZ1RCxFVzlFeEQ7SVQ0RUs7TVN0RkYsWUFBWSxFQUNiO0lUcUZHO01TbEZGLFlBQVksRUFDYjtJVGlGRztNUzlFRixZQUFZLEVBQ2I7RVQ2RUc7SVMxRkosV0FBaUI7SUFDakIsWVgyRnVELEVXOUV4RDtJVDRFSztNU3RGRixZQUFZLEVBQ2I7SVRxRkc7TVNsRkYsWUFBWSxFQUNiO0lUaUZHO01TOUVGLFlBQVksRUFDYjtFVDZFRztJUzFGSixXQUFpQjtJQUNqQixZWDJGdUQsRVc5RXhEO0lUNEVLO01TdEZGLFlBQVksRUFDYjtJVHFGRztNU2xGRixZQUFZLEVBQ2I7SVRpRkc7TVM5RUYsWUFBWSxFQUNiO0VUNkVHO0lTMUZKLGlCQUFpQjtJQUNqQixZWDJGdUQsRVc5RXhEO0lUNEVLO01TdEZGLFlBQVksRUFDYjtJVHFGRztNU2xGRixZQUFZLEVBQ2I7SVRpRkc7TVM5RUYsWUFBWSxFQUNiO0VUbUZDO0lROUZGLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsbUJBQW1CLEVSOEZoQjtFQUdEOzs7SVF4RkosaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixnQkFBZ0IsRVJ3RlgsRUFBQTs7QUthSDtFTG5ESTtJTW5FTixnQkNlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsZUFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVSaUZaO0VBTUg7SVE5RE4sZ0JEWHNCLEVQMkVmO0VBcEJEO0lNbkVOLGlCQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVSaUZaO0VBTUg7SVE5RE4sc0JEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLFdDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLFVBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLFdBSG1CLEVSaUZaO0VBTUg7SVE5RE4sdUJEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLGlCQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVSaUZaO0VBTUg7SVE5RE4saUJEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLGlCQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVSaUZaO0VBTUg7SVE5RE4sdUJEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLFdDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLFVBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLFdBSG1CLEVSaUZaO0VBTUg7SVE5RE4sdUJEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLGlCQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVSaUZaO0VBTUg7SVE5RE4saUJEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLGlCQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVSaUZaO0VBTUg7SVE5RE4sdUJEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLFdDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLFVBSG1CLEVSNkVaO0VBRUQ7SVE3RU4sbUJBQW1CO0lBQ25CLFdBSG1CLEVSaUZaO0VBTUg7SVE5RE4sdUJEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLGlCQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVSaUZaO0VBTUg7SVE5RE4saUJEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLGlCQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVSaUZaO0VBTUg7SVE5RE4sdUJEUnNCLEVQd0VmO0VBcEJEO0lNbkVOLFlDZXNCLEVQc0RmO0VBZ0JEO0lROUROLHVCRFJzQixFUHdFZjtFQUtEO0lTMUZKLFlBQWlCO0lBQ2pCLFlYMkZ1RCxFVzlFeEQ7SVQ0RUs7TVN0RkYsWUFBWSxFQUNiO0lUcUZHO01TbEZGLFlBQVksRUFDYjtJVGlGRztNUzlFRixZQUFZLEVBQ2I7RVQ2RUc7SVMxRkosV0FBaUI7SUFDakIsWVgyRnVELEVXOUV4RDtJVDRFSztNU3RGRixZQUFZLEVBQ2I7SVRxRkc7TVNsRkYsWUFBWSxFQUNiO0lUaUZHO01TOUVGLFlBQVksRUFDYjtFVDZFRztJUzFGSixpQkFBaUI7SUFDakIsWVgyRnVELEVXOUV4RDtJVDRFSztNU3RGRixZQUFZLEVBQ2I7SVRxRkc7TVNsRkYsWUFBWSxFQUNiO0lUaUZHO01TOUVGLFlBQVksRUFDYjtFVDZFRztJUzFGSixXQUFpQjtJQUNqQixZWDJGdUQsRVc5RXhEO0lUNEVLO01TdEZGLFlBQVksRUFDYjtJVHFGRztNU2xGRixZQUFZLEVBQ2I7SVRpRkc7TVM5RUYsWUFBWSxFQUNiO0VUNkVHO0lTMUZKLFdBQWlCO0lBQ2pCLFlYMkZ1RCxFVzlFeEQ7SVQ0RUs7TVN0RkYsWUFBWSxFQUNiO0lUcUZHO01TbEZGLFlBQVksRUFDYjtJVGlGRztNUzlFRixZQUFZLEVBQ2I7RVQ2RUc7SVMxRkosaUJBQWlCO0lBQ2pCLFlYMkZ1RCxFVzlFeEQ7SVQ0RUs7TVN0RkYsWUFBWSxFQUNiO0lUcUZHO01TbEZGLFlBQVksRUFDYjtJVGlGRztNUzlFRixZQUFZLEVBQ2I7RVRtRkM7SVE5RkYsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixtQkFBbUIsRVI4RmhCO0VBR0Q7OztJUXhGSixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdCQUFnQixFUndGWCxFQUFBOztBS2FIO0VMbkRJO0lNbkVOLGdCQ2VzQixFUHNEZjtFQUlDO0lRekVOLG1CQUFtQjtJQUNuQixlQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVJpRlo7RUFNSDtJUTlETixnQkRYc0IsRVAyRWY7RUFwQkQ7SU1uRU4saUJDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVJpRlo7RUFNSDtJUTlETixzQkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4sV0Nlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsVUFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsV0FIbUIsRVJpRlo7RUFNSDtJUTlETix1QkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4saUJDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVJpRlo7RUFNSDtJUTlETixpQkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4saUJDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVJpRlo7RUFNSDtJUTlETix1QkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4sV0Nlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsVUFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsV0FIbUIsRVJpRlo7RUFNSDtJUTlETix1QkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4saUJDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVJpRlo7RUFNSDtJUTlETixpQkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4saUJDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVJpRlo7RUFNSDtJUTlETix1QkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4sV0Nlc0IsRVBzRGY7RUFJQztJUXpFTixtQkFBbUI7SUFDbkIsVUFIbUIsRVI2RVo7RUFFRDtJUTdFTixtQkFBbUI7SUFDbkIsV0FIbUIsRVJpRlo7RUFNSDtJUTlETix1QkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4saUJDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVJpRlo7RUFNSDtJUTlETixpQkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4saUJDZXNCLEVQc0RmO0VBSUM7SVF6RU4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUjZFWjtFQUVEO0lRN0VOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVJpRlo7RUFNSDtJUTlETix1QkRSc0IsRVB3RWY7RUFwQkQ7SU1uRU4sWUNlc0IsRVBzRGY7RUFnQkQ7SVE5RE4sdUJEUnNCLEVQd0VmO0VBS0Q7SVMxRkosWUFBaUI7SUFDakIsWVgyRnVELEVXOUV4RDtJVDRFSztNU3RGRixZQUFZLEVBQ2I7SVRxRkc7TVNsRkYsWUFBWSxFQUNiO0lUaUZHO01TOUVGLFlBQVksRUFDYjtFVDZFRztJUzFGSixXQUFpQjtJQUNqQixZWDJGdUQsRVc5RXhEO0lUNEVLO01TdEZGLFlBQVksRUFDYjtJVHFGRztNU2xGRixZQUFZLEVBQ2I7SVRpRkc7TVM5RUYsWUFBWSxFQUNiO0VUNkVHO0lTMUZKLGlCQUFpQjtJQUNqQixZWDJGdUQsRVc5RXhEO0lUNEVLO01TdEZGLFlBQVksRUFDYjtJVHFGRztNU2xGRixZQUFZLEVBQ2I7SVRpRkc7TVM5RUYsWUFBWSxFQUNiO0VUNkVHO0lTMUZKLFdBQWlCO0lBQ2pCLFlYMkZ1RCxFVzlFeEQ7SVQ0RUs7TVN0RkYsWUFBWSxFQUNiO0lUcUZHO01TbEZGLFlBQVksRUFDYjtJVGlGRztNUzlFRixZQUFZLEVBQ2I7RVQ2RUc7SVMxRkosV0FBaUI7SUFDakIsWVgyRnVELEVXOUV4RDtJVDRFSztNU3RGRixZQUFZLEVBQ2I7SVRxRkc7TVNsRkYsWUFBWSxFQUNiO0lUaUZHO01TOUVGLFlBQVksRUFDYjtFVDZFRztJUzFGSixpQkFBaUI7SUFDakIsWVgyRnVELEVXOUV4RDtJVDRFSztNU3RGRixZQUFZLEVBQ2I7SVRxRkc7TVNsRkYsWUFBWSxFQUNiO0lUaUZHO01TOUVGLFlBQVksRUFDYjtFVG1GQztJUTlGRixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLG1CQUFtQixFUjhGaEI7RUFHRDs7O0lReEZKLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCLEVSd0ZYLEVBQUE7O0FVZ0hMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVU7RUFDVixXQUFXLEVBQ1o7O0FBR0Q7RUFDRSxtQkFBbUI7RUFDbkIsaUJYOUhzQjtFVytIdEIsb0JYOUgwQjtFVytIMUIsbUNYOUh5QyxFVytIMUM7O0FBR0Q7O0VBRUUsbUJBQW1CO0VBQ25CLHFCQUFxQixFQUN0Qjs7QUFHRDs7RUFFRSxrQlg5TXFCO0VXK01yQixxQkFBcUIsRUFDdEI7O0FBR0Q7RUFDRSxlWHJKaUI7RVdzSmpCLHFCQUFxQixFQUN0Qjs7QUFHRDs7Ozs7O0VBTUUsb0VYck9xRTtFV3NPckUsb0JYak95QjtFV2tPekIsbUJYMUxzQjtFVzJMdEIsZVh2S2tCO0VXd0tsQixtQ1hyS3NDO0VXc0t0QyxjQUFjO0VBQ2Qsc0JYeEt5QjtFV3lLekIsaUJYMUttQixFV2dMcEI7RUFuQkQ7Ozs7OztJQWdCSSxlWHJQZTtJV3NQZixlQUFlLEVBQ2hCOztBQU9HO0VBQUUsb0JSclBZLEVRcVB1Qjs7QUFBckM7RUFBRSxtQlJyUFksRVFxUHVCOztBQUFyQztFQUFFLHFCUnJQWSxFUXFQdUI7O0FBQXJDO0VBQUUsb0JSclBZLEVRcVB1Qjs7QUFBckM7RUFBRSxxQlJyUFksRVFxUHVCOztBQUFyQztFQUFFLGdCUnJQWSxFUXFQdUI7O0FMaEx6QztFS2dMSTtJQUFFLGdCUnJQWSxFUXFQdUI7RUFBckM7SUFBRSxrQlJyUFksRVFxUHVCO0VBQXJDO0lBQUUsZ0JSclBZLEVRcVB1QjtFQUFyQztJQUFFLHFCUnJQWSxFUXFQdUI7RUFBckM7SUFBRSxtQlJyUFksRVFxUHVCO0VBQXJDO0lBQUUsZ0JSclBZLEVRcVB1QixFQUFBOztBQU0zQztFQUNFLGVYM1FtQjtFVzRRbkIsc0JYOUt5QjtFVytLekIscUJBQXFCO0VBQ3JCLGdCQUFnQixFQWFqQjtFQWpCRDtJQVFJLGVYckwwQixFV3lMM0I7RUFaSDtJQWVJLFVBQVUsRUFDWDs7QUFJSDtFQUNFLGlCUmhSa0I7RVFpUmxCLFVBQVU7RUFDVixjQUFjO0VBQ2QsaUNYNVJpQjtFVzZSakIscUJYak15QjtFV2tNekIsWUFBWSxFQUNiOztBQUdEOzs7RUFHRSxpQlh4TnNCO0VXeU50QixvQlh4TjBCO0VXeU4xQiw2Qlh2TXlCLEVXd00xQjs7QUFHRDtFQUNFLG1CQUFtQixFQUNwQjs7QUFHRDtFQUNFLHNCWGxOa0I7RVdtTmxCLHFCWGpOc0IsRVdrTnZCOztBQUdEO0VBQ0UscUJYdE5zQixFV3VOdkI7O0FBR0Q7RUFFSSxxQlgzTjJCO0VXNE4zQixpQkFBaUI7RUFDakIseUJBQXlCLEVBQzFCOztBQUlIO0VBQ0Usb0JYbE95QixFV3dPMUI7RUFQRDtJQUlJLHNCWG5POEI7SVdvTzlCLGtCWDdUbUIsRVc4VHBCOztBQUlIO0VBQ0UsaUJYalEwQjtFV2tRMUIsdUNSdlVrQjtFUXdVbEIsK0JYalZpQixFV3VWbEI7RUFURDtJQU1JLGlCWHZRb0I7SVd3UXBCLGVYcFZhLEVXcVZkOztBQUlIO0VBQ0UsZUFBZTtFQUNmLHFCUm5Wa0I7RVFvVmxCLGVYNVZlLEVXaVdoQjtFQVJEO0lBTUksdUJBQXVCLEVBQ3hCOztBQUlIO0VBQ0UsZVhyV2U7RVdzV2YsYUFBYTtFQUNiLGtDWHRXVyxFV3VXWjs7QUFHRDtFQUNFLDZEWHpUbUU7RVcwVG5FLG9CWG5XeUI7RVdvV3pCLGVYN1dXO0VXOFdYLDBCWGpYZ0I7RVdrWGhCLDBCWGpYaUI7RVdrWGpCLHNDUnpXa0IsRVEwV25COztBQUdEO0VBQ0UsNEJSM1c4QjtFUTRXOUIsVUFBVTtFQUNWLDBCWDFYZ0I7RVcyWGhCLGVYeFhXO0VXeVhYLDZEWHZVbUUsRVd3VXBFOztBQ25ZRDtFQUNFLG1CWmdJeUI7RVkvSHpCLHNCWmdJNEI7RVkvSDVCLG9CWmV5QjtFWWR6QixpQlowSHNCO0VZekh0QixlWkdlLEVZRmhCOztBQUdEO0VBQ0UsZ0Jaa0g4QjtFWWpIOUIsaUJaa0hpQixFWWpIbEI7O0FBR0Q7RUFDRSxrQlptSG1CO0VZbEhuQixlQUFlLEVBS2hCO0VBSEM7SUFDRSxrQkFBa0IsRUFDbkI7O0FBSUg7RUFDRSxlQUFpQztFQUNqQyxpQkFBaUIsRUFDbEI7O0FDckVDO0VBQ0UsaUJBRmlCLEVBR2xCOztBUDRIRDtFT3ZITTtJQUNFLGlCQVRXLEVBVVosRUFBQTs7QVBxSFA7RU92SE07SUFDRSxpQkFUVyxFQVVaLEVBQUE7O0FQcUhQO0VPdkhNO0lBQ0UsaUJBVFcsRUFVWixFQUFBOztBQVRQO0VBQ0Usa0JBRndCLEVBR3pCOztBUDRIRDtFT3ZITTtJQUNFLGtCQVRrQixFQVVuQixFQUFBOztB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NEIsRUNSM0I7O0F4Q1BIO0VzQ3FDRSxvQ0FGaUI7TUFFakIsZ0NBRmlCO1VBRWpCLDRCQUZpQixFRWhCaEI7O0F4Q2xCSDtFc0NvQ0UsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUN2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBeENOSDtFc0NvQ0UscUNBRmlCO01BRWpCLGlDQUZpQjtVQUVqQiw2QkFGaUIsRUVoQmhCOztBeENqQkg7RXNDbUNFLGlDQUZpQjtNQUVqQiw2QkFGaUI7VUFFakIseUJBRmlCO0VDdkJmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QXhDTEg7RXNDbUNFLHFDQUZpQjtNQUVqQixpQ0FGaUI7VUFFakIsNkJBRmlCLEVFaEJoQjs7QXhDZEg7RXNDZ0NFLFd0Q2hDa0M7RXlDQWxDLDZCQUE2QixFREU1Qjs7QXhDRkg7RXNDZ0NFLFd0Q2hDcUMsRXdDY3BDOztBeENiSDtFc0MrQkUsV3RDL0JrQztFeUNEbEMsNkJBQTZCLEVERTVCOztBeENESDtFc0MrQkUsV3RDL0JxQyxFd0NhcEM7O0F4Q1ZIO0VzQzRCRSx1RElyQ1k7VUpxQ1osK0NJckNZO0VKcUNaLDhCQUZpQjtNQUVqQiwwQkFGaUI7VUFFakIsc0JBRmlCO0VLdkJmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0F4Q0VIO0VzQzRCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBeENUSDtFc0MyQkUsdURJcENjO1VKb0NkLCtDSXBDYztFSm9DZCxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBeENHSDtFc0MyQkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QXhDUkg7RXNDMEJFLHNESW5DZTtVSm1DZiw4Q0luQ2U7RUptQ2YsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QXhDSUg7RXNDMEJFLG9ESVZzQztVSlV0Qyw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0F4Q1BIO0VzQ3lCRSxzRElsQ2E7VUprQ2IsOENJbENhO0VKa0NiLCtCQUZpQjtNQUVqQiwyQkFGaUI7VUFFakIsdUJBRmlCO0VLdkJmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0F4Q0tIO0VzQ3lCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBeENOSDtFc0N3QkUsdURJckNZO1VKcUNaLCtDSXJDWTtFSnFDWixpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBeENNSDtFc0N3QkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QXhDTEg7RXNDdUJFLHVESXBDYztVSm9DZCwrQ0lwQ2M7RUpvQ2QsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QXhDT0g7RXNDdUJFLG9ESVZzQztVSlV0Qyw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0F4Q0pIO0VzQ3NCRSxvRElSd0M7VUpReEMsNENJUndDO0VKUXhDLDhCQUZpQjtNQUVqQiwwQkFGaUI7VUFFakIsc0JBRmlCO0VLdkJmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0F4Q1FIO0VzQ3NCRSx1RElyQ1k7VUpxQ1osK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBeENISDtFc0NxQkUsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBeENTSDtFc0NxQkUsdURJcENjO1VKb0NkLCtDSXBDYztFQ3NCWixXQUE4QixFSEovQjs7QXhDRkg7RXNDb0JFLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QXhDVUg7RXNDb0JFLHNESW5DZTtVSm1DZiw4Q0luQ2U7RUNxQmIsV0FBOEIsRUhKL0I7O0F4Q0RIO0VzQ21CRSxvRElSd0M7VUpReEMsNENJUndDO0VKUXhDLCtCQUZpQjtNQUVqQiwyQkFGaUI7VUFFakIsdUJBRmlCO0VLdkJmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0F4Q1dIO0VzQ21CRSxzRElsQ2E7VUprQ2IsOENJbENhO0VDb0JYLFdBQThCLEVISi9COztBeENBSDtFc0NrQkUsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBeENZSDtFc0NrQkUsdURJckNZO1VKcUNaLCtDSXJDWTtFQ3VCVixXQUE4QixFSEovQjs7QXhDQ0g7RXNDaUJFLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QXhDYUg7RXNDaUJFLHVESXBDYztVSm9DZCwrQ0lwQ2M7RUNzQlosV0FBOEIsRUhKL0I7O0F4Q0lIO0VzQ2NFLDhCQUZpQjtNQUVqQiwwQkFGaUI7VUFFakIsc0JBRmlCO0VNM0JmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBMkIsRUpGNUI7O0F4Q2dCSDtFc0NjRSw0QkFGaUI7TUFFakIsd0JBRmlCO1VBRWpCLG9CQUZpQjtFTWhCZixXQUEy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RUksYUM5SHdCO0VEK0h4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUNwSXdCO0VEcUl4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUMxSXdCO0VEMkl4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUNoSndCO0VEaUp4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUN0SndCO0VEdUp4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUM1SndCO0VENkp4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUNsS3dCO0VEbUt4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUN4S3dCO0VEeUt4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUM5S3dCO0VEK0t4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUNwTHdCO0VEcUx4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUMxTHdCO0VEMkx4QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUNoTXdCO0VEaU14QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUN0TXdCO0VEdU14QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUM1TXdCO0VENk14QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUNsTndCO0VEbU54QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUN4TndCO0VEeU54QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUM5TndCO0VEK054QixrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUNwT2EsRUFBTzs7QUR1T3hCO0VBRUksYUN4T1csRUFBTzs7QUQyT3RCO0VBRUksYUM1T08sRUFBTzs7QUQrT2xCO0VBRUksYUNoUFMsRUFBTzs7QURtUHBCO0VBRUksYUNwUE0sRUFBTzs7QUR1UGpCO0VBRUksYUN4UFEsRUFBTzs7QUQyUG5CO0VBRUksYUM1UE8sRUFBTzs7QUQrUGxCO0VBRUksYUNoUU8sRUFBTzs7QURtUWxCO0VBRUksYUNwUVEsRUFBTzs7QUR1UW5CO0VBRUksYUN4UU0sRUFBTzs7QUQyUWpCO0VBRUksYUM1UU0sRUFBTzs7QUQrUWpCO0VBRUksYUNoUlUsRUFBTzs7QURtUnJCO0VBRUksYUNwUlcsRUFBTzs7QUR1UnRCO0VBRUksYUN4UlUsRUFBTzs7QUQyUnJCO0VBRUksYUM1UlcsRUFBTzs7QUQrUnRCO0VBRUksYUNoU1MsRUFBTzs7QURtU3BCO0VBRUksYUNwU1UsRUFBTzs7QUR1U3JCO0VBRUksYUN4U1ksRUFBTzs7QUQyU3ZCO0VBRUksYUM1U1ksRUFBTzs7QUQrU3ZCO0VBRUksYUNoVFksRUFBTzs7QURtVHZCO0VBRUksYUNwVE8sRUFBTzs7QUR1VGxCO0VBRUksYUN4VE0sRUFBTzs7QUQyVGpCO0VBRUksYUM1VFc7RUQ2VFgsZUFBVSxFQUNYOztBQUVIO0VBRUksYUNqVVc7RURrVVgsa0JBQWtCO0VBQ2xCLGVBQVUsRUFDWDs7QUFFSDtFQUVJLGFDdlVXO0VEd1VYLGtCQUFrQjtFQUNsQixlQUFVLEVBQ1g7O0FBRUg7RUFFSSxhQzdVVztFRDhVWCxhQUFVLEVBQ1g7O0FBRUg7RUFFSSxhQ2xWVztFRG1WWCxrQkFBa0I7RUFDbEIsZUFBVSxFQUNYOztBQUVIO0VBRUksYUN4Vlc7RUR5Vlgsa0JBQWtCO0VBQ2xCLGFBQVUsRUFDWDs7QUFFSDtFQUVJLGFDOVZXO0VEK1ZYLGtCQUFrQjtFQUNsQixhQUFVLEVBQ1g7O0FBRUg7RUFFSSxhQ3BXVztFRHFXWCxrQkFBa0I7RUFDbEIsYUFBVSxFQUNYOztBQUVIO0VBRUksYUMxV1c7RUQyV1gsa0JBQWtCO0VBQ2xCLGFBQVUsRUFDWDs7QUFFSDtFQUVJLGFDaFhXO0VEaVhYLGtCQUFrQjtFQUNsQixhQUFVLEVBQ1g7O0FBRUg7RUFFSSxhQ3RYVztFRHVYWCxrQkFBa0I7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LGVBQWUsRUFDZjs7QUNqSko7RUFFRSxtQkFBbUIsRUFLbkI7RXBHMEhFO0lvR2pJSjtNQUtHLGlCQUFpQixFQUVsQixFQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIsIC5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciwgLnNsaWRlLWluLXVwLm11aS1lbnRlciwgLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciwgLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSwgLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUsIC5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLCAuc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLCAuZmFkZS1pbi5tdWktZW50ZXIsIC5mYWRlLW91dC5tdWktbGVhdmUsIC5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLCAuaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSwgLnNjYWxlLWluLXVwLm11aS1lbnRlciwgLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLCAuc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSwgLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSwgLnNwaW4taW4ubXVpLWVudGVyLCAuc3Bpbi1vdXQubXVpLWxlYXZlLCAuc3Bpbi1pbi1jY3cubXVpLWVudGVyLCAuc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM4MDgxODQ7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5yb3c6OmJlZm9yZSwgLnJvdzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cbiAgICAucm93IC5yb3cuY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucm93Lm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5yb3cubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAucm93LmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5yb3cueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLnJvdy54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG4gIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jb2x1bW4uZW5kOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTsgfVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1wdXNoLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtcHVsbC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1wdXNoLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtcHVsbC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xIC5jb2x1bW4sIC5zbWFsbC11cC0xIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC0xIC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xIC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbWFsbC11cC0xIC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMSAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xIC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0yIC5jb2x1bW4sIC5zbWFsbC11cC0yIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtYWxsLXVwLTIgLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0yIC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTIgLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0yIC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgLmNvbHVtbiwgLnNtYWxsLXVwLTMgLmNvbHVtbnMge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtMyAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMyAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAuc21hbGwtdXAtMyAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNCAuY29sdW1uLCAuc21hbGwtdXAtNCAuY29sdW1ucyB7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC00IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbWFsbC11cC00IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNCAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC01IC5jb2x1bW4sIC5zbWFsbC11cC01IC5jb2x1bW5zIHtcbiAgd2lkdGg6IDIwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtYWxsLXVwLTUgLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC01IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTUgLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC01IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgLmNvbHVtbiwgLnNtYWxsLXVwLTYgLmNvbHVtbnMge1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAuc21hbGwtdXAtNiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uY29sdW1uLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5zbWFsbC11bmNlbnRlcixcbi5zbWFsbC1wdXNoLTAsXG4uc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgLmNvbHVtbiwgLm1lZGl1bS11cC0xIC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5tZWRpdW0tdXAtMSAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xIC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMSAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTEgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTIgLmNvbHVtbiwgLm1lZGl1bS11cC0yIC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0yIC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yIC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMyAuY29sdW1uLCAubWVkaXVtLXVwLTMgLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTMgLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMyAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTMgLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zIC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0zIC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0zIC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5tZWRpdW0tdXAtNCAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNCAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTQgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTUgLmNvbHVtbiwgLm1lZGl1bS11cC01IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC01IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNSAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNiAuY29sdW1uLCAubWVkaXVtLXVwLTYgLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTYgLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTYgLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC02IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC02IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbHVtbi5tZWRpdW0tY2VudGVyZWQsIC5tZWRpdW0tY2VudGVyZWQuY29sdW1ucyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tdW5jZW50ZXIsXG4gIC5tZWRpdW0tcHVzaC0wLFxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5sYXJnZS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5sYXJnZS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5sYXJnZS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS11cC0xIC5jb2x1bW4sIC5sYXJnZS11cC0xIC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC0xIC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMSAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0xIC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMiAuY29sdW1uLCAubGFyZ2UtdXAtMiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC0yIC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0yIC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTIgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyAuY29sdW1uLCAubGFyZ2UtdXAtMyAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC0zIC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMyAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGFyZ2UtdXAtMyAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zIC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNCAuY29sdW1uLCAubGFyZ2UtdXAtNCAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC00IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNCAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC00IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNSAuY29sdW1uLCAubGFyZ2UtdXAtNSAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC01IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNSAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC01IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTUgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiAuY29sdW1uLCAubGFyZ2UtdXAtNiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC02IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sdW1uLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQuY29sdW1ucyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS11bmNlbnRlcixcbiAgLmxhcmdlLXB1c2gtMCxcbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAueGxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAueGxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTEgLmNvbHVtbiwgLnhsYXJnZS11cC0xIC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54bGFyZ2UtdXAtMSAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC0xIC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtMSAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAueGxhcmdlLXVwLTEgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTEgLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTEgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTIgLmNvbHVtbiwgLnhsYXJnZS11cC0yIC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnhsYXJnZS11cC0yIC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTIgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC0yIC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC54bGFyZ2UtdXAtMiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtMiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtMiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtdXAtMyAuY29sdW1uLCAueGxhcmdlLXVwLTMgLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueGxhcmdlLXVwLTMgLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtMyAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTMgLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnhsYXJnZS11cC0zIC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC0zIC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC0zIC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC00IC5jb2x1bW4sIC54bGFyZ2UtdXAtNCAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54bGFyZ2UtdXAtNCAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC00IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtNCAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAueGxhcmdlLXVwLTQgLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTQgLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTQgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTUgLmNvbHVtbiwgLnhsYXJnZS11cC01IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnhsYXJnZS11cC01IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTUgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC01IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC54bGFyZ2UtdXAtNSAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtNSAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtNSAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtdXAtNiAuY29sdW1uLCAueGxhcmdlLXVwLTYgLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueGxhcmdlLXVwLTYgLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtNiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTYgLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnhsYXJnZS11cC02IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC02IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC02IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbHVtbi54bGFyZ2UtY2VudGVyZWQsIC54bGFyZ2UtY2VudGVyZWQuY29sdW1ucyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC54bGFyZ2UtdW5jZW50ZXIsXG4gIC54bGFyZ2UtcHVzaC0wLFxuICAueGxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGNvbG9yOiAjRDBEMkQzO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGNvbG9yOiAjNEY4NkEwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICM0NDczOGE7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEMEQyRDM7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBjbGVhcjogYm90aDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlOyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogaW5oZXJpdDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0QwRDJEMzsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4MDgxODQ7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM4MDgxODQ7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJzsgfVxuXG5hYmJyIHtcbiAgY29sb3I6ICM4MDgxODQ7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMjMxRjIwOyB9XG5cbmNvZGUge1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMyMzFGMjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEMEQyRDM7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxua2JkIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjI7XG4gIGNvbG9yOiAjMjMxRjIwO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjODA4MTg0OyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAxZW0gMS44NWVtO1xuICBtYXJnaW46IDAgMXJlbSAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYmFja2dyb3VuZDogIzRGODZBMDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDM3Mjg4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNEY4NkEwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzNmNmI4MDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjREQwMDMxO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNiMTAwMjc7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI0REMDAzMTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2IxMDAyNztcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI0REODgwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNiMTZkMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzRGODZBMDtcbiAgICBjb2xvcjogIzRGODZBMDsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjg0MzUwO1xuICAgICAgY29sb3I6ICMyODQzNTA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0Rjg2QTA7XG4gICAgICBjb2xvcjogIzRGODZBMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzI4NDM1MDtcbiAgICAgICAgY29sb3I6ICMyODQzNTA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0REMDAzMTtcbiAgICAgIGNvbG9yOiAjREQwMDMxOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZmMDAxOTtcbiAgICAgICAgY29sb3I6ICM2ZjAwMTk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjREQwMDMxO1xuICAgICAgY29sb3I6ICNERDAwMzE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZmMDAxOTtcbiAgICAgICAgY29sb3I6ICM2ZjAwMTk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNERDg4MDA7XG4gICAgICBjb2xvcjogI0REODgwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZmNDQwMDtcbiAgICAgICAgY29sb3I6ICM2ZjQ0MDA7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjg1ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogMC4yZW07IH1cblxuW3R5cGU9XCJ0ZXh0XCJdLCBbdHlwZT1cInBhc3N3b3JkXCJdLCBbdHlwZT1cImRhdGVcIl0sIFt0eXBlPVwiZGF0ZXRpbWVcIl0sIFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sIFt0eXBlPVwibW9udGhcIl0sIFt0eXBlPVwid2Vla1wiXSwgW3R5cGU9XCJlbWFpbFwiXSwgW3R5cGU9XCJudW1iZXJcIl0sIFt0eXBlPVwic2VhcmNoXCJdLCBbdHlwZT1cInRlbFwiXSwgW3R5cGU9XCJ0aW1lXCJdLCBbdHlwZT1cInVybFwiXSwgW3R5cGU9XCJjb2xvclwiXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDBEMkQzO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzgwODE4NDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMzUsIDMxLCAzMiwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPVwidGV4dFwiXTpmb2N1cywgW3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cywgW3R5cGU9XCJkYXRlXCJdOmZvY3VzLCBbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLCBbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLCBbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLCBbdHlwZT1cIndlZWtcIl06Zm9jdXMsIFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsIFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLCBbdHlwZT1cInNlYXJjaFwiXTpmb2N1cywgW3R5cGU9XCJ0ZWxcIl06Zm9jdXMsIFt0eXBlPVwidGltZVwiXTpmb2N1cywgW3R5cGU9XCJ1cmxcIl06Zm9jdXMsIFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4MTg0O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNEMEQyRDM7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFGMUYyO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuW3R5cGU9XCJzdWJtaXRcIl0sXG5bdHlwZT1cImJ1dHRvblwiXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPVwiZmlsZVwiXSxcblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG5bdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbmxhYmVsID4gW3R5cGU9XCJjaGVja2JveFwiXSxcbmxhYmVsID4gW3R5cGU9XCJsYWJlbFwiXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPVwiZmlsZVwiXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMyMzFGMjA7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzMzMzsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBtYXJnaW46IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjRjFGMUYyO1xuICBjb2xvcjogIzIzMUYyMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QwRDJEMzsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxJTsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDBEMkQzO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBtYXJnaW46IDEuMTI1cmVtIDA7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QwRDJEMztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM4MDgxODQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6IHJnYig1MSwgNTEsIDUxKVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YxRjFGMjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIxLCAwLCA0OSwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjREQwMDMxOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNERDAwMzE7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0REMDAzMTsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFjY29yZGlvbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICM0Rjg2QTA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmN2Y4OyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4oCTJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cblxuLmNhbGxvdXQge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzUsIDMxLCAzMiwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlZGYyOyB9XG4gICAgLmNhbGxvdXQucHJpbWFyeSBhIHtcbiAgICAgIGNvbG9yOiAjMzc1ZTcwOyB9XG4gICAgICAuY2FsbG91dC5wcmltYXJ5IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzFlMzMzZDsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmQ0ZGQ7IH1cbiAgICAuY2FsbG91dC5zZWNvbmRhcnkgYSB7XG4gICAgICBjb2xvcjogIzliMDAyMjsgfVxuICAgICAgLmNhbGxvdXQuc2Vjb25kYXJ5IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzRlMDAxMTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhOyB9XG4gICAgLmNhbGxvdXQuc3VjY2VzcyBhIHtcbiAgICAgIGNvbG9yOiAjMWVhNDUwOyB9XG4gICAgICAuY2FsbG91dC5zdWNjZXNzIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzEyNjMzMDsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDRkZDsgfVxuICAgIC5jYWxsb3V0LmFsZXJ0IGEge1xuICAgICAgY29sb3I6ICM5YjAwMjI7IH1cbiAgICAgIC5jYWxsb3V0LmFsZXJ0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzRlMDAxMTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWQ0OyB9XG4gICAgLmNhbGxvdXQud2FybmluZyBhIHtcbiAgICAgIGNvbG9yOiAjOWI1ZjAwOyB9XG4gICAgICAuY2FsbG91dC53YXJuaW5nIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzRlMzAwMDsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICM0Rjg2QTA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNERDAwMzE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjREQwMDMxO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjREQ4ODAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KCArICY6Zmlyc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24uYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmJlZm9yZSwgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgzNSwgMzEsIDMyLCAwLjUpOyB9XG5cbi5qcy1vZmYtY2FudmFzLWV4aXQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZTsgfVxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIC5qcy1vZmYtY2FudmFzLWV4aXQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjRjFGMUYyO1xuICB6LWluZGV4OiAtMTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgbGVmdDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1sZWZ0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHJpZ2h0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC5pcy1vcGVuLXJpZ2h0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIGxlZnQ6IDA7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIGxlZnQ6IDA7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzUsIDMxLCAzMiwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QwRDJEMztcbiAgbWFyZ2luOiAxMDBweCBhdXRvIDAgYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG50YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIGNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgY29sb3I6ICM4MDgxODQ7IH1cbiAgICB0aGVhZCB0cixcbiAgICB0Zm9vdCB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIHRoZWFkIHRoLFxuICAgIHRoZWFkIHRkLFxuICAgIHRmb290IHRoLFxuICAgIHRmb290IHRkIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxudGFibGUuaG92ZXIgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbnRhYmxlLmhvdmVyIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYyOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC50YWJzLnZlcnRpY2FsID4gbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICM0Rjg2QTA7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzRiN2Y5ODsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjNEY4NkEwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyLCAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjFGMUYyOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRjFGMUYyO1xuICBib3JkZXItdG9wOiAwOyB9XG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGMUYxRjI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICMyMzFGMjA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRpdGxlLWJhcjo6YmVmb3JlLCAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCB3aGl0ZSwgMCAxNHB4IDAgd2hpdGU7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNEMEQyRDM7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjRDBEMkQzLCAwIDE0cHggMCAjRDBEMkQzOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgYmxhY2ssIDAgMTRweCAwIGJsYWNrOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM2NjY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjNjY2LCAwIDE0cHggMCAjNjY2OyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ21lZic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbWVmLmVvdD9kYWczbDNcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbWVmLmVvdD9kYWczbDMjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL21lZi50dGY/ZGFnM2wzXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tZWYud29mZj9kYWczbDNcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvbWVmLnN2Zz9kYWczbDMjbWVmXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltjbGFzc149XCJtZWYtXCJdLCBbY2xhc3MqPVwiIG1lZi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJ21lZicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5tZWYtbXc6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIBcIjsgfVxuXG4ubWVmLW1lZi1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSBXCI7IH1cblxuLm1lZi1tZWY6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIJcIjsgfVxuXG4ubWVmLW1lZi1jb2xvciAucGF0aDE6YmVmb3JlIHtcbiAgY29udGVudDogXCLupINcIjtcbiAgY29sb3I6ICM0Zjg2YTA7IH1cblxuLm1lZi1tZWYtY29sb3IgLnBhdGgyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSEXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogIzRmODZhMDsgfVxuXG4ubWVmLW1lZi1jb2xvciAucGF0aDM6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIVcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjZGQwMDMxOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSGXCI7XG4gIGNvbG9yOiAjNGY4NmEwOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSHXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogIzRmODZhMDsgfVxuXG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kiFwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICM0Zjg2YTA7IH1cblxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIlcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjNGY4NmEwOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGg1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSKXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogIzRmODZhMDsgfVxuXG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoNjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ki1wiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICM0Zjg2YTA7IH1cblxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDc6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIxcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjNGY4NmEwOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGg4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSNXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogIzRmODZhMDsgfVxuXG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoOTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kjlwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICM0Zjg2YTA7IH1cblxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDEwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSPXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogIzRmODZhMDsgfVxuXG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMTE6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJBcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjNGY4NmEwOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgxMjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kkVwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDEzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSSXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJNcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjZGQwMDMxOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgxNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6klFwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDE2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSVXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMTc6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJZcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjZGQwMDMxOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgxODpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kl1wiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDE5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSYXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMjA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJlcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjZGQwMDMxOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgyMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kmlwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDIyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSbXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMjM6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJxcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjZGQwMDMxOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgyNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6knVwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDI1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSeXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMjY6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJ9cIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjZGQwMDMxOyB9XG5cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgyNzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6koFwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDI4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qShXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLupKJcIjsgfVxuXG4ubWVmLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSjXCI7IH1cblxuLm1lZi1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSkXCI7IH1cblxuLm1lZi1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCLupKVcIjsgfVxuXG4ubWVmLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kplwiOyB9XG5cbi5tZWYtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupKdcIjsgfVxuXG4ubWVmLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupKhcIjsgfVxuXG4ubWVmLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLupKlcIjsgfVxuXG4ubWVmLWNyb3NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSqXCI7IH1cblxuLm1lZi1tZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupKtcIjsgfVxuXG4ubWVmLXZldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6krFwiOyB9XG5cbi5tZWYtbWVkLXZldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6krVwiOyB9XG5cbi5tZWYtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLupLBcIjsgfVxuXG4ubWVmLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLupLFcIjsgfVxuXG4ubWVmLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSyXCI7IH1cblxuLm1lZi1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupLNcIjsgfVxuXG4ubWVmLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupLRcIjsgfVxuXG4ubWVmLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ktVwiOyB9XG5cbi5tZWYtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qS2XCI7IH1cblxuLm1lZi13b3JkcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLupLdcIjsgfVxuXG4ubWVmLXllbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupLhcIjsgfVxuXG4ubWVmLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kuVwiOyB9XG5cbi5tZWYtZXMgLnBhdGgxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qS6XCI7XG4gIGNvbG9yOiAjZjllMTAwOyB9XG5cbi5tZWYtZXMgLnBhdGgyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qS7XCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLWVzIC5wYXRoMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kvFwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1lbiAucGF0aDE6YmVmb3JlIHtcbiAgY29udGVudDogXCLupL1cIjtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5tZWYtZW4gLnBhdGgyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qS+XCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogIzFkMjk5MDsgfVxuXG4ubWVmLWVuIC5wYXRoMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kv1wiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5tZWYtZW4gLnBhdGg0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWAXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLm1lZi1lbiAucGF0aDU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupYFcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubWVmLWVuIC5wYXRoNjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6lglwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5tZWYtZW4gLnBhdGg3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWDXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLm1lZi1lbiAucGF0aDg6YmVmb3JlIHtcbiAgY29udGVudDogXCLupYRcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubWVmLWVuIC5wYXRoOTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6lhVwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5tZWYtZW4gLnBhdGgxMDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6lhlwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5tZWYtZW4gLnBhdGgxMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6lh1wiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1lbiAucGF0aDEyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWIXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLWVuIC5wYXRoMTM6YmVmb3JlIHtcbiAgY29udGVudDogXCLupYlcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjZGQwMDMxOyB9XG5cbi5tZWYtZW4gLnBhdGgxNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6lilwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1lbiAucGF0aDE1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWLXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLWVuIC5wYXRoMTY6YmVmb3JlIHtcbiAgY29udGVudDogXCLupYxcIjtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIGNvbG9yOiAjZGQwMDMxOyB9XG5cbi5tZWYtZW4gLnBhdGgxNzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ljVwiO1xuICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgY29sb3I6ICNkZDAwMzE7IH1cblxuLm1lZi1lbiAucGF0aDE4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWOXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBjb2xvcjogI2RkMDAzMTsgfVxuXG4ubWVmLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6lj1wiOyB9XG5cbi5tZWYtY2lyY2xlLXNtYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWQXCI7IH1cblxuLm1lZi1yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWRXCI7IH1cblxuLm1lZi1yaW5nLXNtYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWSXCI7IH1cblxuLm1lZi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLupK5cIjsgfVxuXG4ubWVmLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLupK9cIjsgfVxuXG4ubWVmLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qWTXCI7IH1cblxuW2NsYXNzXj1cIm1lZi1cIl0gW2NsYXNzKj1cInBhdGhcIl0sIFtjbGFzcyo9XCIgbWVmLVwiXSBbY2xhc3MqPVwicGF0aFwiXSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAubWVmLW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupKpcIjsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnbWVmJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9tZWYuZW90P2RhZzNsM1wiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9tZWYuZW90P2RhZzNsMyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbWVmLnR0Zj9kYWczbDNcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL21lZi53b2ZmP2RhZzNsM1wiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9tZWYuc3ZnP2RhZzNsMyNtZWZcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kpVwiO1xuICBmb250LXNpemU6IDJlbTtcbiAgY29sb3I6ICMyMzFGMjA7IH1cblxuLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLupKZcIjsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stdHJhY2s6YmVmb3JlLCAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcIi4uL2ltZy9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMy4xMjVyZW07XG4gIHdpZHRoOiAzLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBmb250LXNpemU6IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB6LWluZGV4OiAxMDA7IH1cbiAgLnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLFxuICAuc2xpY2stbmV4dDpob3ZlcixcbiAgLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLCAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIm1lZlwiO1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgIGNvbG9yOiAjNEY4NkEwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDA7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qSoXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6kp1wiOyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDA7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qSnXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6kqFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgMCAtMmVtIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgei1pbmRleDogMTAxOyB9XG4gIC5zbGljay1kb3RzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMC45Mzc1cmVtO1xuICAgIHdpZHRoOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luOiAwIC4yNWVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHdpZHRoOiAwLjkzNzVyZW07XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiBcIu6lj1wiO1xuICAgICAgICB3aWR0aDogMC45Mzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibWVmXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjOTdCNUM1O1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0Rjg2QTA7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5ia2ctYmx1ZSAuc2xpY2stcHJldjpiZWZvcmUsXG4uYmtnLWJsdWUgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgY29sb3I6ICNEQUU0RTk7IH1cblxuLmJrZy1ibHVlIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogI0RBRTRFOTsgfVxuXG4uYmtnLWJsdWUgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4vKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDkwMTI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgb3BhY2l0eTogMC45NTsgfVxuXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDkwMTM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgMS44NzVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiA5MDE1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICM0Rjg2QTA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiA5MDE0OyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjNEY4NkEwOyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzRGODZBMDsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsIGJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiA5MDE2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAxO1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogIzRGODZBMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuICAubWZwLWNsb3NlOmhvdmVyLCAubWZwLWNsb3NlOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZnAtY2xvc2U6YWN0aXZlIHtcbiAgICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICM0Rjg2QTA7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICM0Rjg2QTA7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjNEY4NkEwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDE7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWZwLWFycm93OmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgLm1mcC1hcnJvdzpob3ZlciwgLm1mcC1hcnJvdzpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ubWZwLWFycm93LWxlZnQ6YmVmb3JlLFxuLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ21lZic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbWVmLmVvdD9kYWczbDNcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbWVmLmVvdD9kYWczbDMjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL21lZi50dGY/ZGFnM2wzXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tZWYud29mZj9kYWczbDNcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvbWVmLnN2Zz9kYWczbDMjbWVmXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDMuMTI1cmVtO1xuICB3aWR0aDogNS42MjVyZW07XG4gIGhlaWdodDogNi44NzVyZW07XG4gIGNvbG9yOiAjNEY4NkEwOyB9XG5cbi5tZnAtYXJyb3ctbGVmdDpob3ZlcjpiZWZvcmUsXG4ubWZwLWFycm93LXJpZ2h0OmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjNDQ3MzhhOyB9XG5cbi5tZnAtYXJyb3ctbGVmdCB7XG4gIGxlZnQ6IDA7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLupKhcIjsgfVxuXG4ubWZwLWFycm93LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cbiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qSnXCI7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTAwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogLTQwcHg7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMTVweCAwIDE1cHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxNXB4O1xuICAgIGJvdHRvbTogMTVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgYm94LXNoYWRvdzogMCAwIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgY29sb3I6ICMyMzFGMjA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0xMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjMjMxRjIwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG5cdFx0XHQgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG5cdFx0XHQgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLm1mcC1iZyB7XG4gIG1pbi13aWR0aDogMjByZW07IH1cblxuLm1mcC1jb250ZW50IHtcbiAgbWluLXdpZHRoOiAxOC4xMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubWZwLWJvdHRvbS1iYXIge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgLm1mcC1ib3R0b20tYmFyIC5tZnAtdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubWZwLWJvdHRvbS1iYXIgLm1mcC10aXRsZSAudGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAubWZwLWJvdHRvbS1iYXIgLm1mcC10aXRsZSBzbWFsbCB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5tZnAtY2xvc2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwIDAgMCAtMS41NjI1cmVtO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMy4xMjVyZW0gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1mcC1jbG9zZSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG4gIC5tZnAtY2xvc2U6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRGODZBMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1mcC1jbG9zZTpob3ZlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDczOGE7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaDEge1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cblxuLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaDIge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuXG4uaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9IH1cblxuLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9IH1cblxuLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oNSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG4uaDYge1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oNiB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi50aXRsZSB7XG4gIGNvbG9yOiAjMjMxRjIwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gIGEgLnRpdGxlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4udGV4dC1ibGFjayB7XG4gIGNvbG9yOiAjMjMxRjIwOyB9XG5cbi50ZXh0LWJsdWUge1xuICBjb2xvcjogIzRGODZBMDsgfVxuXG4udGV4dC1yZWQge1xuICBjb2xvcjogI0REMDAzMTsgfVxuXG4uaGVhZGVyLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgICAuaGVhZGVyLW1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLm9mZi1jYW52YXMge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgLW1vei1ib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wOyB9XG5cbi5wcm9kdWN0cyAub2ZmLWNhbnZhcy1jb250ZW50LFxuLnNlcnZpY2VzIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREFFNEU5OyB9XG5cbi5hYm91dCAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hYm91dC1ia2ctc20uanBnKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0cyAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3Byb2R1Y3RzLWJrZy1sZy5wbmcpOyB9XG4gIC5zZXJ2aWNlcyAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3NlcnZpY2VzLWJrZy1sZy5wbmcpOyB9XG4gIC5hYm91dCAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Fib3V0LWJrZy1tZC5qcGcpOyB9XG4gIC5zZWxsIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2VsbC1ia2ctbWQuanBnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNTUwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDsgfVxuICAuY29udGFjdCAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2NvbnRhY3QtYmtnLW1kLmpwZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYWJvdXQgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9hYm91dC1ia2ctbGcuanBnKTsgfVxuICAuZmluYW5jaW5nIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZmluYW5jaW5nLWJrZy1sZy5qcGcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA1NTBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7IH1cbiAgLnNlbGwgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZWxsLWJrZy1sZy5qcGcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7IH1cbiAgLnF1b3RlIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcXVvdGUtYmtnLWxnLmpwZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDMyMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDsgfVxuICAucGFydHMgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9wYXJ0cy1ia2ctbGcuanBnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNDAwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wOyB9XG4gIC5jb250YWN0IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY29udGFjdC1ia2ctbGcuanBnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wOyB9IH1cblxuLnNwYWNlci10b3Atc21hbGxlciB7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbi5zcGFjZXItdG9wLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7IH1cblxuLnNwYWNlci10b3Atbm9ybWFsIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cblxuLnNwYWNlci10b3AtbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogNjBweDsgfVxuXG4uc3BhY2VyLXRvcC1sYXJnZXIge1xuICBwYWRkaW5nLXRvcDogOTBweDsgfVxuXG4uc3BhY2VyLXJpZ2h0LXNtYWxsZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG5cbi5zcGFjZXItcmlnaHQtc21hbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG5cbi5zcGFjZXItcmlnaHQtbm9ybWFsIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDsgfVxuXG4uc3BhY2VyLXJpZ2h0LWxhcmdlIHtcbiAgcGFkZGluZy1yaWdodDogNjBweDsgfVxuXG4uc3BhY2VyLXJpZ2h0LWxhcmdlciB7XG4gIHBhZGRpbmctcmlnaHQ6IDkwcHg7IH1cblxuLnNwYWNlci1ib3R0b20tc21hbGxlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi5zcGFjZXItYm90dG9tLXNtYWxsIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLnNwYWNlci1ib3R0b20tbm9ybWFsIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cblxuLnNwYWNlci1ib3R0b20tbGFyZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuXG4uc3BhY2VyLWJvdHRvbS1sYXJnZXIge1xuICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfVxuXG4uc3BhY2VyLWxlZnQtc21hbGxlciB7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuXG4uc3BhY2VyLWxlZnQtc21hbGwge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cblxuLnNwYWNlci1sZWZ0LW5vcm1hbCB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4uc3BhY2VyLWxlZnQtbGFyZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cblxuLnNwYWNlci1sZWZ0LWxhcmdlciB7XG4gIHBhZGRpbmctbGVmdDogOTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zcGFjZXItdG9wLXNtYWxsZXIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIC5zcGFjZXItdG9wLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAuc3BhY2VyLXRvcC1ub3JtYWwge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9XG4gIC5zcGFjZXItdG9wLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7IH1cbiAgLnNwYWNlci10b3AtbGFyZ2VyIHtcbiAgICBwYWRkaW5nLXRvcDogMTgwcHg7IH1cbiAgLnNwYWNlci1yaWdodC1zbWFsbGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIC5zcGFjZXItcmlnaHQtc21hbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgLnNwYWNlci1yaWdodC1ub3JtYWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH1cbiAgLnNwYWNlci1yaWdodC1sYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTIwcHg7IH1cbiAgLnNwYWNlci1yaWdodC1sYXJnZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE4MHB4OyB9XG4gIC5zcGFjZXItYm90dG9tLXNtYWxsZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gIC5zcGFjZXItYm90dG9tLXNtYWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAuc3BhY2VyLWJvdHRvbS1ub3JtYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gIC5zcGFjZXItYm90dG9tLWxhcmdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgLnNwYWNlci1ib3R0b20tbGFyZ2VyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7IH1cbiAgLnNwYWNlci1sZWZ0LXNtYWxsZXIge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAuc3BhY2VyLWxlZnQtc21hbGwge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDsgfVxuICAuc3BhY2VyLWxlZnQtbm9ybWFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cbiAgLnNwYWNlci1sZWZ0LWxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9XG4gIC5zcGFjZXItbGVmdC1sYXJnZXIge1xuICAgIHBhZGRpbmctbGVmdDogMTgwcHg7IH0gfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmJmYztcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBtaW4td2lkdGg6IDIwcmVtOyB9XG4gIGJvZHkubm8tc2Nyb2xsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ud3JhcHBlciB7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG5bZGF0YS1ia2ddLFxuW2JrZ211bHRpXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uYmtnLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEY4NkEwOyB9XG5cbi5ia2ctYmx1ZS1saWdodGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RBRTRFOTsgfVxuXG4uYmtnLXJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERDAwMzE7IH1cblxuLmJrZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLnRyYW5zaXRpb24ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IEFsbCAwLjRzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogQWxsIDAuNHMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogQWxsIDAuNHMgZWFzZTtcbiAgdHJhbnNpdGlvbjogQWxsIDAuNHMgZWFzZTsgfVxuXG4ub3BhY2l0eSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgLW1vei1vcGFjaXR5OiAxO1xuICAta2h0bWwtb3BhY2l0eTogMTtcbiAgb3BhY2l0eTogMTsgfVxuXG5hLm9wYWNpdHk6aG92ZXIge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTUwKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICAtbW96LW9wYWNpdHk6IDAuNTtcbiAgLWtodG1sLW9wYWNpdHk6IDAuNTtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5zY2FsZSB7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuc2NhbGU6aG92ZXIge1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuXG4uYWxwaGEge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG5cbmlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBjaGVja2JveDsgfVxuXG5pbnB1dFt0eXBlPXJhZGlvXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogcmFkaW87IH1cblxuLnNlY3Rpb24tdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMjMxRjIwOyB9XG5cbioge1xuICBvdXRsaW5lOiAwIG5vbmUgIWltcG9ydGFudDsgfVxuXG4uc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmJ1dHRvbiB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjVweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAyNXB4O1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5idXR0b24ud2hpdGUtcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjREQwMDMxOyB9XG4gIC5idXR0b24ud2hpdGUtYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzRGODZBMDsgfVxuICAgIC5idXR0b24ud2hpdGUtYmx1ZSAubWVmLXBkZiB7XG4gICAgICBjb2xvcjogI0REMDAzMTsgfVxuICAuYnV0dG9uLmxpZ2h0LWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5N0I1QzU7XG4gICAgY29sb3I6ICM0Rjg2QTA7IH1cbiAgLmJ1dHRvbi5saWdodGVyLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQUU0RTk7XG4gICAgY29sb3I6ICM0Rjg2QTA7IH1cbiAgLmJ1dHRvbiAuaWNvbiB7XG4gICAgY29sb3I6ICNERDAwMzE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG4gICAgLmJ1dHRvbiAuaWNvbjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tdG9wOiAtLjJlbTsgfVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogMjVweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyNXB4O1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjVweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogMjVweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyNXB4OyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNXB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogMjVweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjVweDtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyNXB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogMjVweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjVweDsgfVxuXG4uYWRkdGhpcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hZGR0aGlzIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuYWRkdGhpcyAubGl0ZXJhbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtOyB9XG4gICAgICAuYWRkdGhpcyAuYWRkdGhpc19zaGFyaW5nX3Rvb2xib3gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAuYWRkdGhpcyAuYXQtc2hhcmUtdGJ4LWVsZW1lbnQgLmF0LXNoYXJlLWJ0biB7XG4gICAgbWFyZ2luOiAwIC41ZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYWRkdGhpcyAuYXQtc2hhcmUtdGJ4LWVsZW1lbnQgLmF0LXNoYXJlLWJ0biB7XG4gICAgICAgIG1hcmdpbjogMWVtIDAgMCAuNWVtOyB9IH1cblxuLml0ZW0tYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICAuc2xpY2stc2xpZGVyIC5pdGVtLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5pdGVtLWJsb2NrIC50aHVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDAgMzQuNzgyJSAwOyB9XG4gIC5pdGVtLWJsb2NrIC5pbmZvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC5pdGVtLWJsb2NrIC5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGNvbG9yOiAjMjMxRjIwOyB9XG4gIC5pdGVtLWJsb2NrIC50aXRsZSxcbiAgLml0ZW0tYmxvY2sgLmRlc2Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLml0ZW0tYmxvY2sgLnRpdGxlIHtcbiAgICBjb2xvcjogIzIzMUYyMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTsgfVxuICAuaXRlbS1ibG9jayAuZGVzYyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogIzgwODE4NDtcbiAgICBoZWlnaHQ6IDEuNTYyNXJlbTsgfVxuXG4udGFicyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7IH1cbiAgLnRhYnMgLnRhYnMtdGl0bGUge1xuICAgIGJvcmRlcjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC50YWJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRGODZBMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAgIC50YWJzIC50YWJzLXRpdGxlIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM3Mjg4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAxMS4yNXJlbTsgfSB9XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RBRTRFOTtcbiAgICAgIGNvbG9yOiAjNEY4NkEwO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQUU0RTk7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7IH1cblxuLmRlZmF1bHQtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuZGVmYXVsdC1saXN0IC50aHVtLXNtYWxsIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDBEMkQzOyB9XG4gIC5kZWZhdWx0LWxpc3QgLmluZm8ge1xuICAgIG1pbi1oZWlnaHQ6IDVyZW07IH1cbiAgICAuZGVmYXVsdC1saXN0IC5pbmZvIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gICAgLmRlZmF1bHQtbGlzdCAuaW5mbyBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmRlZmF1bHQtbGlzdCAuaW5mbyBwLmRlc2Mge1xuICAgICAgICBjb2xvcjogIzgwODE4NDsgfVxuXG4udGFibGUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgLnRhYmxlLWxpc3QgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNEQUU0RTk7IH1cblxuLnRhYmxlLWxpc3QtLTIgbGkge1xuICB3aWR0aDogNTAlOyB9XG5cbi50YWJsZS1saXN0LS0zIGxpIHtcbiAgd2lkdGg6IDMzLjMzMyU7IH1cblxuLnRhYmxlLWxpc3QtLTQgbGkge1xuICB3aWR0aDogMjUlOyB9XG5cbi50YWJsZS1saXN0LS01IGxpIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4udGFibGUtbGlzdC0tNiBsaSB7XG4gIHdpZHRoOiAxNi42NjYlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwZW0pIHtcbiAgLnRhYmxlLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC50YWJsZS1saXN0LS00IGxpLFxuICAudGFibGUtbGlzdC0tNSBsaSxcbiAgLnRhYmxlLWxpc3QtLTYgbGkge1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gIC50YWJsZS1saXN0LS0yIGxpLFxuICAudGFibGUtbGlzdC0tMyBsaSxcbiAgLnRhYmxlLWxpc3QtLTQgbGksXG4gIC50YWJsZS1saXN0LS01IGxpLFxuICAudGFibGUtbGlzdC0tNiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4udGh1bS1zbWFsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMzAlO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDMwJTtcbiAgYm9yZGVyLXJhZGl1czogMzAlOyB9XG4gIC50aHVtLXNtYWxsIC5pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAwIDEwMCUgMDsgfVxuXG4ubWVkaWEtb2JqZWN0IC50aHVtIHtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICB3aWR0aDogOTVweDtcbiAgYm9yZGVyOiAxcHggI0QwRDJEMyBzb2xpZDsgfVxuICAubWVkaWEtb2JqZWN0IC50aHVtIC5pbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAwIDEwMCUgMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5mb3JtIGlucHV0W3R5cGU9XCJidXRvblwiXSwgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBmb3JtIGlucHV0W3R5cGU9XCJyZXNldFwiXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBmb3JtIGlucHV0W3R5cGU9XCJidXRvblwiXSwgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBmb3JtIGlucHV0W3R5cGU9XCJyZXNldFwiXSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogNy41cmVtOyB9IH1cblxuLnJldmVhbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmV2ZWFsIC5idXR0b24ge1xuICAgIG1hcmdpbjogMCAwIDFlbSAwOyB9XG5cbltkYXRhLXN1Ym1pdD1cInN1Y2Nlc3NcIl0gLnJldmVhbCAuY29udGVudC1zdWNjZXNzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuW2RhdGEtc3VibWl0PVwic3VjY2Vzc1wiXSAucmV2ZWFsIC5jb250ZW50LWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS1zdWJtaXQ9XCJlcnJvclwiXSAucmV2ZWFsIC5jb250ZW50LXN1Y2Nlc3Mge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLXN1Ym1pdD1cImVycm9yXCJdIC5yZXZlYWwgLmNvbnRlbnQtZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGl0bGUtYmFyIHtcbiAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRGODZBMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAgIC50aXRsZS1iYXIge1xuICAgICAgaGVpZ2h0OiA2LjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCAjREFFNEU5IHNvbGlkOyB9IH1cblxuLmhlYWRlci1sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0b3A6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB6LWluZGV4OiAxMjA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gICAgLmhlYWRlci1sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDEuMjVyZW07IH0gfVxuICAuaGVhZGVyLWxvZ28gLmljb24ge1xuICAgIG1hcmdpbjogMS4wNjI1cmVtIDAgMCAwO1xuICAgIGZvbnQtc2l6ZTogNi44NzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAuaGVhZGVyLWxvZ28gLm1lZi1tZWYtZnVsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhlYWRlci1sb2dvIC5tZWYtbWVmLWZ1bGwtY29sb3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gICAgLmhlYWRlci1sb2dvIC5pY29uIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDogMC44NzVyZW07IH1cbiAgICAuaGVhZGVyLWxvZ28gLmljb24ge1xuICAgICAgbGluZS1oZWlnaHQ6IC40NWVtO1xuICAgICAgZm9udC1zaXplOiAxMHJlbTsgfVxuICAgIC5oZWFkZXItbG9nbyAubWVmLW1lZi1mdWxsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaGVhZGVyLWxvZ28gLm1lZi1tZWYtZnVsbC1jb2xvciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5tZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREQwMDMxO1xuICB3aWR0aDogMy4xMjVyZW07XG4gIGhlaWdodDogMy4xMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBBbGwgMC40cyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IEFsbCAwLjRzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IEFsbCAwLjRzIGVhc2U7XG4gIHRyYW5zaXRpb246IEFsbCAwLjRzIGVhc2U7XG4gIHotaW5kZXg6IDkwMDE7IH1cbiAgLm1lbnUtdG9nZ2xlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTEwMDIwOyB9XG4gIC5tZW51LXRvZ2dsZSAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhlYWRlci1tZW51IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuaGVhZGVyLW1lbnUgdWwgbGkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE1MSwgMTgxLCAxOTcsIDAuMjUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5oZWFkZXItbWVudSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gIC5oZWFkZXItbWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oZWFkZXItbWVudSAubWVudS10aXRsZSB7XG4gIGJvcmRlcjogMDtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM5N0I1QzU7IH1cblxuLmhlYWRlci1tZW51IC5tZW51LW1haW4gYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAuaGVhZGVyLW1lbnUgLm1lbnUtbWFpbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgICAuaGVhZGVyLW1lbnUgLm1lbnUtbWFpbiBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5oZWFkZXItbWVudSAubWVudS1tYWluIGEge1xuICAgICAgbGluZS1oZWlnaHQ6IDUuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH0gfVxuXG4uaGVhZGVyLW1lbnUgLmxhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICM0Rjg2QTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gICAgW2xhbmc9XCJlblwiXSAuaGVhZGVyLW1lbnUgLmxhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcuNjI1cmVtOyB9XG4gICAgW2xhbmc9XCJlc1wiXSAuaGVhZGVyLW1lbnUgLmxhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDYuMzc1cmVtOyB9IH1cbiAgLmhlYWRlci1tZW51IC5sYW4gYSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuaGVhZGVyLW1lbnUgLmxhbiAubGl0ZXJhbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmhlYWRlci1tZW51IC5sYW4gLm1lZi1lcyxcbiAgLmhlYWRlci1tZW51IC5sYW4gLm1lZi1lbiB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLS4zMmVtOyB9XG4gICAgLmhlYWRlci1tZW51IC5sYW4gLm1lZi1lcyBzcGFuLFxuICAgIC5oZWFkZXItbWVudSAubGFuIC5tZWYtZW4gc3BhbiB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgICAuaGVhZGVyLW1lbnUgLmxhbiAubGFuLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS41NjI1cmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuaHRtbFtsYW5nPVwiZW5cIl0gLm1lZi1lbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbFtsYW5nPVwiZW5cIl0gLm1lZi1lcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5odG1sW2xhbmc9XCJlc1wiXSAubWVmLWVzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sW2xhbmc9XCJlc1wiXSAubWVmLWVuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5oZWFkZXItbWVudSAubWVudS1zb2NpYWwge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNTEsIDE4MSwgMTk3LCAwLjI1KTsgfVxuICAuaGVhZGVyLW1lbnUgLm1lbnUtc29jaWFsOjpiZWZvcmUsIC5oZWFkZXItbWVudSAubWVudS1zb2NpYWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmhlYWRlci1tZW51IC5tZW51LXNvY2lhbDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5oZWFkZXItbWVudSAubWVudS1zb2NpYWwgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5oZWFkZXItbWVudSAubWVudS1zb2NpYWwgbGkgYSB7XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gICAgLmhlYWRlci1tZW51IC5tZW51LXNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gIC5oZWFkZXItbWVudSAubWVudS1sZWdhbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5pY29uLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzk3QjVDNTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pY29uLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAgIC5pY29uLWxpbmsge1xuICAgICAgbWFyZ2luOiAxLjVyZW0gMC45Mzc1cmVtIDAgMDtcbiAgICAgIGNvbG9yOiAjNEY4NkEwOyB9XG4gICAgICAuaWNvbi1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM0NDczOGE7IH0gfVxuICAuaWNvbi1saW5rIC5pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDIuMDYyNXJlbTtcbiAgICBoZWlnaHQ6IDIuMDYyNXJlbTsgfVxuICAuaWNvbi1saW5rIC5sYW4tbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgICAgIC5pY29uLWxpbmsgLmxhbi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC4wNjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuXG4ucGFnZS1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEY4NkEwO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIGZvbnQtc2l6ZTogODUlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlLWZvb3RlciBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5wYWdlLWZvb3RlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjREFFNEU5OyB9XG4gIC5wYWdlLWZvb3RlciAuZm9vdGVyLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLWZvb3RlciB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAucGFnZS1mb290ZXIgLmZvb3Rlci1tZW51LFxuICAgICAgLnBhZ2UtZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLnBhZ2UtZm9vdGVyIC5kZXZlbG9wZXIge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLWxvZ28sXG4gICAgICAucGFnZS1mb290ZXIgLmZvb3Rlci1tZW51LFxuICAgICAgLnBhZ2UtZm9vdGVyIC5jb3B5cmlnaHQsXG4gICAgICAucGFnZS1mb290ZXIgLmRldmVsb3BlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9IH1cblxuLmZvb3Rlci1sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5mb290ZXItbG9nbyAubWVmLW1lZi1mdWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEwcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogLjJlbSAwIC4zZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3Rlci1sb2dvIHtcbiAgICAgIG1hcmdpbjogM2VtIDAgNGVtIDA7IH1cbiAgICAgIC5mb290ZXItbG9nbyAubWVmLW1lZi1mdWxsIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmZvb3Rlci1tZW51IHVsIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gIC5mb290ZXItbWVudSB1bCBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVlbTsgfVxuICAuZm9vdGVyLW1lbnUgdWwuZm9vdGVyLW1lbnUtLW1haW4gYSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmRldmVsb3BlciB7XG4gIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5kZXZlbG9wZXIgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuICAuZGV2ZWxvcGVyIC5tZWYtbXcge1xuICAgIGZvbnQtc2l6ZTogNmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZGV2ZWxvcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLnBhZ2UtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMy4xMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IC4yZW07XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfSB9XG4gIC5wYWdlLXRpdGxlIGgxIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBhZ2UtdGl0bGUgaDEsIC5wYWdlLXRpdGxlIGgyLCAucGFnZS10aXRsZSBoMywgLnBhZ2UtdGl0bGUgaDQge1xuICAgIGNvbG9yOiAjMjMxRjIwOyB9XG5cbi5pbnRybyB7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuICAuaW50cm8gaDEsIC5pbnRybyBoMiwgLmludHJvIGgzLCAuaW50cm8gaDQsIC5pbnRybyBoNSwgLmludHJvIGg2IHtcbiAgICBjb2xvcjogIzIzMUYyMDsgfVxuICAuaW50cm8gcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnNlbGwgLmludHJvIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VsbCAuaW50cm8ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9IH1cblxuLmluZGV4IC5pbnRybyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW5kZXggLmludHJvIC5sb2dvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuaW5kZXggLmludHJvIC5pY29uIHtcbiAgICBmb250LXNpemU6IDE1LjZlbTtcbiAgICBsaW5lLWhlaWdodDogLjM1ZW07IH1cbiAgICAuaW5kZXggLmludHJvIC5pY29uOjpiZWZvcmUsIC5pbmRleCAuaW50cm8gLmljb246OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmluZGV4IC5pbnRybyAuaWNvbjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pbmRleCAuaW50cm8ge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmluZGV4IC5pbnRybyAubG9nbyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtOyB9IH1cblxuLmZlYXR1cmUtcHJvZHVjdHMge1xuICBwYWRkaW5nLXRvcDogNjBweDsgfVxuICAuZmVhdHVyZS1wcm9kdWN0cyAuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnJlcGxhY2VtZW50LXBhcnRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB6LWluZGV4OiA0O1xuICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICAucmVwbGFjZW1lbnQtcGFydHMgLnJvdyB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7IH1cbiAgLnJlcGxhY2VtZW50LXBhcnRzIC5zdmcge1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5yZXBsYWNlbWVudC1wYXJ0cyAudHJpYW5nbGUge1xuICAgIGZpbGw6ICM0Rjg2QTA7IH1cbiAgLnJlcGxhY2VtZW50LXBhcnRzIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmVwbGFjZW1lbnQtcGFydHMgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uc2VsbC1lcXVpcG1lbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNlbGwtZXF1aXBtZW50IC50b3AsXG4gIC5zZWxsLWVxdWlwbWVudCAuYm90dG9tIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnNlbGwtZXF1aXBtZW50IC5zdmcge1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5zZWxsLWVxdWlwbWVudCAudG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREQwMDMxO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAuc2VsbC1lcXVpcG1lbnQgLnRvcCAudHJpYW5nbGUge1xuICAgICAgZmlsbDogI0REMDAzMTsgfVxuICAgIC5zZWxsLWVxdWlwbWVudCAudG9wIGgzIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBwYWRkaW5nOiA5JSAzMHB4IDAuNjI1cmVtIDMwcHg7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlbGwtZXF1aXBtZW50IC50b3AgaDMge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA3JTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zZWxsLWVxdWlwbWVudCAudG9wIGgzIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5zZWxsLWVxdWlwbWVudCAuYm90dG9tIHtcbiAgICBwYWRkaW5nOiAxMCUgMCAzMHB4IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZWxsLXlvdXItZXF1aXBtZW50LW1kLmpwZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlbGwtZXF1aXBtZW50IC5ib3R0b20ge1xuICAgICAgICBwYWRkaW5nOiA4JSAwIDYwcHggMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZWxsLXlvdXItZXF1aXBtZW50LWxnLmpwZyk7IH0gfVxuICAgIC5zZWxsLWVxdWlwbWVudCAuYm90dG9tIHAge1xuICAgICAgZm9udC1zaXplOiAxMjUlO1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgY29sb3I6ICMyMzFGMjA7IH1cbiAgICAuc2VsbC1lcXVpcG1lbnQgLmJvdHRvbSAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLmZvbGxvdy11cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQUU0RTk7XG4gIHBhZGRpbmc6IDQ1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9sbG93LXVzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogNjBweCAwOyB9IH1cbiAgLmZvbGxvdy11cyBoMyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICM0Rjg2QTA7IH1cbiAgICAuZm9sbG93LXVzIGgzIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmZvbGxvdy11cyBoMzpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQUU0RTk7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmZvbGxvdy11cyBoMzphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDcycHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEY4NkEwO1xuICAgICAgei1pbmRleDogMDsgfVxuICAuZm9sbG93LXVzIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmZvbGxvdy11cyB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAuOTM3NXJlbSAxLjg3NXJlbSAwIDEuODc1cmVtOyB9XG4gICAgICAuZm9sbG93LXVzIHVsIGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuZm9sbG93LXVzIHVsIGxpIGEgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjVlbTsgfVxuXG4uaW5kZXggLmZvbGxvdy11cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5pbmRleCAuZm9sbG93LXVzIGhyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5pbmRleCAuZm9sbG93LXVzIGgzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzIzMUYyMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pbmRleCAuZm9sbG93LXVzIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH0gfVxuICAgIC5pbmRleCAuZm9sbG93LXVzIGgzIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLmluZGV4IC5mb2xsb3ctdXMgaDM6YmVmb3JlLCAuaW5kZXggLmZvbGxvdy11cyBoMzphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5pbmRleCAuZm9sbG93LXVzIHVsIGxpIHtcbiAgICBtYXJnaW46IDAuNDY4NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaW5kZXggLmZvbGxvdy11cyB1bCBsaSB7XG4gICAgICAgIG1hcmdpbjogMC45Mzc1cmVtOyB9IH1cbiAgICAuaW5kZXggLmZvbGxvdy11cyB1bCBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RBRTRFOTtcbiAgICAgIGJvcmRlcjogMXB4ICM5N0I1QzUgc29saWQ7XG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwJTtcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMzAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMzAlOyB9XG4gICAgICAuaW5kZXggLmZvbGxvdy11cyB1bCBsaSBhIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgICAgcGFkZGluZzogMTYuMjE2MjJweDsgfVxuXG4uY2FsbC10b2RheSB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMUYyMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jYWxsLXVzLmpwZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNhbGwtdG9kYXkge1xuICAgICAgcGFkZGluZzogNjBweCAwO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvOyB9IH1cbiAgLmNhbGwtdG9kYXkgLnJvdyA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jYWxsLXRvZGF5IC5yb3cgPiBkaXYge1xuICAgICAgICBoZWlnaHQ6IDhlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhbGwtdG9kYXkgLnJvdyA+IGRpdiB7XG4gICAgICAgIGhlaWdodDogMTBlbTsgfSB9XG4gICAgLmNhbGwtdG9kYXkgLnJvdyA+IGRpdiAuaW5uZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgLmNhbGwtdG9kYXkgLnJvdyAudGV4dCB7XG4gICAgcGFkZGluZzogMzBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNhbGwtdG9kYXkgLnJvdyAudGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuY2FsbC10b2RheSAubG9nbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMS41ZW07XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYWxsLXRvZGF5IC5sb2dvIHtcbiAgICAgICAgcGFkZGluZzogMmVtOyB9IH1cbiAgICAuY2FsbC10b2RheSAubG9nbyBbY2xhc3MqPVwibWVmLVwiXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwIDAgMTAwJSAwO1xuICAgICAgZm9udC1zaXplOiA1ZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNhbGwtdG9kYXkgLmxvZ28gW2NsYXNzKj1cIm1lZi1cIl0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNmVtOyB9IH1cbiAgLmNhbGwtdG9kYXkgcCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgLmNhbGwtdG9kYXkgcC5oMSB7XG4gICAgICBmb250LXNpemU6IDIuNWVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jYWxsLXRvZGF5IHAuaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogM2VtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNhbGwtdG9kYXkgcC5oMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjg1ZW07IH0gfVxuICAuY2FsbC10b2RheSAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNhbGwtdG9kYXkgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNWVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FsbC10b2RheSAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMy41ZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNWVtOyB9IH1cblxuLnN0YWZmIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc3RhZmY6OmJlZm9yZSwgLnN0YWZmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zdGFmZjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zdGFmZiAuaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGFmZiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdGFmZiAuaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMlOyB9IH1cbiAgLnN0YWZmIC50aHVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICAgIC5zdGFmZiAudGh1bSAuaW5uZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMCAwIDY2LjY2NjYlIDA7IH1cbiAgLnN0YWZmIC5pbmZvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgIC5zdGFmZiAuaW5mbyAudGl0bGUsXG4gICAgLnN0YWZmIC5pbmZvIC5zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogIzIzMUYyMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc3RhZmYgLmluZm8gLnN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuNWVtOyB9XG4gICAgLnN0YWZmIC5pbmZvIHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc3RhZmYgLmluZm8gcC5kZXNjIHtcbiAgICAgICAgY29sb3I6ICM4MDgxODQ7IH1cblxuI2FkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXRvcDogMTVweCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItYm90dG9tOiAxNXB4IHNvbGlkICNmZmZmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAjYWQgLml0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAjYWQgLml0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDcuNXB4O1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMjUwcHg7IH1cbiAgICAjYWQgLml0ZW0gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWcvYWpheC1sb2FkZXIuZ2lmKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuICAgICNhZCAuaXRlbSBhLCAjYWQgLml0ZW0gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zZXJ2aWNlcy1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VydmljZXMtbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZXJ2aWNlcy1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDYuMjVyZW07IH0gfVxuICAuc2VydmljZXMtbGlzdCAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZXJ2aWNlcy1saXN0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07IH0gfVxuICAgIC5zZXJ2aWNlcy1saXN0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIGg0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogQWxsIDAuNHMgZWFzZTtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogQWxsIDAuNHMgZWFzZTtcbiAgICAgIC1vLXRyYW5zaXRpb246IEFsbCAwLjRzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uOiBBbGwgMC40cyBlYXNlOyB9XG4gICAgLnNlcnZpY2VzLWxpc3QgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zZXJ2aWNlcy1saXN0IC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZXJ2aWNlcy1saXN0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gICAgLnNlcnZpY2VzLWxpc3QgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBoMiwgLnNlcnZpY2VzLWxpc3QgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBoMywgLnNlcnZpY2VzLWxpc3QgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBoNCwgLnNlcnZpY2VzLWxpc3QgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBoNSB7XG4gICAgICBjb2xvcjogIzIzMUYyMDsgfVxuICAgIC5zZXJ2aWNlcy1saXN0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdWwsIC5zZXJ2aWNlcy1saXN0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuICAgICAgbGlzdC1zdHlsZTogaW5pdGlhbDsgfVxuICAuc2VydmljZXMtbGlzdCAudGh1bSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAwIDEwMCUgMDtcbiAgICBtYXJnaW4tdG9wOiAuNDVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cblxuLmJyb2NodXJlczo6YmVmb3JlLCAuYnJvY2h1cmVzOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmJyb2NodXJlczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5icm9jaHVyZXMge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuLmJyb2NodXJlcyAuaXRlbSB7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbSAwIDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icm9jaHVyZXMgLml0ZW0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5icm9jaHVyZXMgLml0ZW0ge1xuICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9IH1cblxuLmFib3V0LWdhbGxlcnkgLnNlY3Rpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQUU0RTk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuYWJvdXQtZ2FsbGVyeSAuc2VjdGlvbi10aXRsZSAuc3ZnIHtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAuYWJvdXQtZ2FsbGVyeSAuc2VjdGlvbi10aXRsZSAudHJpYW5nbGUge1xuICAgIGZpbGw6ICNEQUU0RTk7IH1cblxuLmFib3V0LWdhbGxlcnkgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmFib3V0LWdhbGxlcnkgdWw6OmJlZm9yZSwgLmFib3V0LWdhbGxlcnkgdWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmFib3V0LWdhbGxlcnkgdWw6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYWJvdXQtZ2FsbGVyeSB1bCAuaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5hYm91dC1nYWxsZXJ5IHVsIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hYm91dC1nYWxsZXJ5IHVsIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFib3V0LWdhbGxlcnkgdWwgLml0ZW0ge1xuICAgICAgICB3aWR0aDogMTYuNjY2NiU7IH0gfVxuICAgIC5hYm91dC1nYWxsZXJ5IHVsIC5pdGVtIC50aHVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMDAlIDA7IH1cblxuLnByb2R1Y3QtZ2FsbGVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWdhbGxlcnkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4ICNEQUU0RTkgc29saWQ7XG4gICAgICBoZWlnaHQ6IDQ4MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcm9kdWN0LWdhbGxlcnkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICNEQUU0RTkgc29saWQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4ICFpbXBvcnRhbnQ7IH0gfVxuICAucHJvZHVjdC1nYWxsZXJ5IC5pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAxMDBweDsgfVxuICAgIC5wcm9kdWN0LWdhbGxlcnkgLml0ZW0gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9hamF4LWxvYWRlci5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0OyB9XG4gICAgLnByb2R1Y3QtZ2FsbGVyeSAuaXRlbSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtZ2FsbGVyeSAuaXRlbSBpbWcge1xuICAgICAgICAgIGhlaWdodDogNDgwcHg7IH0gfVxuICAgIC5wcm9kdWN0LWdhbGxlcnkgLml0ZW0udmlkZW8gLmljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBmb250LXNpemU6IDZlbTtcbiAgICAgIG1hcmdpbjogLS41ZW0gYXV0byBhdXRvIC0uNWVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEY4NkEwO1xuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4uc2ltaWxhci1wcm9kdWN0cyBoNC50aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAxZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaW1pbGFyLXByb2R1Y3RzIGg0LnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IC41ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaW1pbGFyLXByb2R1Y3RzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAgIC5zaW1pbGFyLXByb2R1Y3RzOjpiZWZvcmUsIC5zaW1pbGFyLXByb2R1Y3RzOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5zaW1pbGFyLXByb2R1Y3RzOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5zaW1pbGFyLXByb2R1Y3RzIC5pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwIDFyZW07XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5zaW1pbGFyLXByb2R1Y3RzIC5pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuc2ltaWxhci1wcm9kdWN0cyAuaXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLm1hcC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDAgMTAwJSAwO1xuICBtYXJnaW4tdG9wOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hcC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDAgMCA2Ni42NjY2JSAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYXAtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwIDAgMTAwJSAwOyB9IH1cbiAgLm1hcC13cmFwcGVyIC5tYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLnNlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTEwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgaGVpZ2h0OiAzLjEyNXJlbTsgfVxuXG4uc2VhcmNoLWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlYXJjaC1ib3guYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM2NWI2ZDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDIwcmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0b3A6IDMuMTI1cmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAxLjI1cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAuc2VhcmNoLWJveC5hY3RpdmU6OmJlZm9yZSwgLnNlYXJjaC1ib3guYWN0aXZlOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5zZWFyY2gtYm94LmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgICAgIC5zZWFyY2gtYm94LmFjdGl2ZSB7XG4gICAgICAgIHRvcDogNi4xODc1cmVtO1xuICAgICAgICB3aWR0aDogMzcuNXJlbTsgfSB9XG4gICAgLnNlYXJjaC1ib3guYWN0aXZlIC5tZWYtYXJyb3ctZG93biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMC43NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICBjb2xvcjogIzRGODZBMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gICAgICAgIC5zZWFyY2gtYm94LmFjdGl2ZSAubWVmLWFycm93LWRvd24ge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuICAgIC5zZWFyY2gtYm94LmFjdGl2ZSAuc2VhcmNoLXRlcm0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcGFkZGluZzogMCA2Ljg3NXJlbSAwIDAuOTM3NXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLnNlYXJjaC1ib3guYWN0aXZlIC5zZWFyY2gtdGVybSBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAgICAgICAuc2VhcmNoLWJveC5hY3RpdmUgLnNlYXJjaC10ZXJtIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAgIC5zZWFyY2gtYm94LmFjdGl2ZSAuc2VhcmNoLWJ0biB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAgMC42ODc1cmVtIDA7XG4gICAgICB3aWR0aDogNS45Mzc1cmVtO1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLm5ld3NsZXR0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDExMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbiAgbGVmdDogYXV0bztcbiAgcGFkZGluZzogMC41cmVtO1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDIuODEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgICAubmV3c2xldHRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMuMjVyZW07IH0gfVxuXG4ubmV3c2xldHRlci1mb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAubmV3c2xldHRlci1mb3JtLmFjdGl2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNjViNmQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAyMHJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdG9wOiAzLjEyNXJlbTtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDAgMS4yNXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgei1pbmRleDogMTAwMDsgfVxuICAgIC5uZXdzbGV0dGVyLWZvcm0uYWN0aXZlOjpiZWZvcmUsIC5uZXdzbGV0dGVyLWZvcm0uYWN0aXZlOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5uZXdzbGV0dGVyLWZvcm0uYWN0aXZlOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAgICAgLm5ld3NsZXR0ZXItZm9ybS5hY3RpdmUge1xuICAgICAgICB0b3A6IDYuMTg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDM3LjVyZW07IH0gfVxuICAgIC5uZXdzbGV0dGVyLWZvcm0uYWN0aXZlIC5mb3JtLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTsgfVxuICAgIC5uZXdzbGV0dGVyLWZvcm0uYWN0aXZlIC5tZWYtYXJyb3ctZG93biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMy4zNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC43NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgY29sb3I6ICM0Rjg2QTA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAgICAgICAubmV3c2xldHRlci1mb3JtLmFjdGl2ZSAubWVmLWFycm93LWRvd24ge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHJpZ2h0OiA1LjVyZW07IH0gfVxuICAgIC5uZXdzbGV0dGVyLWZvcm0uYWN0aXZlIC5lbWFpbC1ib3gge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcGFkZGluZzogMCA2Ljg3NXJlbSAwIDAuOTM3NXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLm5ld3NsZXR0ZXItZm9ybS5hY3RpdmUgLmVtYWlsLWJveCBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAgICAgICAubmV3c2xldHRlci1mb3JtLmFjdGl2ZSAuZW1haWwtYm94IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAgIC5uZXdzbGV0dGVyLWZvcm0uYWN0aXZlIC5idXR0b24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAwIDA7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwIDAuNjg3NXJlbSAwO1xuICAgICAgd2lkdGg6IDUuOTM3NXJlbTtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDA7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5xdW90ZS1hbmQtcGFydHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgei1pbmRleDogMTA7IH1cbiAgLnF1b3RlLWFuZC1wYXJ0cyAuYnV0dG9uIHtcbiAgICB3aWR0aDogNDglO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAucXVvdGUtYW5kLXBhcnRzIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgICAucXVvdGUtYW5kLXBhcnRzIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnF1b3RlLWFuZC1wYXJ0cyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnF1b3RlLWFuZC1wYXJ0czo6YmVmb3JlLCAucXVvdGUtYW5kLXBhcnRzOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5xdW90ZS1hbmQtcGFydHM6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5xdW90ZS1hbmQtcGFydHMgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG1hcmdpbjogMC41ZW0gMCAwIDAuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMWVtIDEuODVlbTsgfVxuICAgICAgICAucXVvdGUtYW5kLXBhcnRzIC5idXR0b246Zmlyc3QtY2hpbGQsIC5xdW90ZS1hbmQtcGFydHMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDsgfSB9XG5cbi5wcm9kdWN0LWRldGFpbCAucXVvdGUtYW5kLXBhcnRzIHtcbiAgbWFyZ2luLXRvcDogM2VtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1kZXRhaWwgLnF1b3RlLWFuZC1wYXJ0cyB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcm9kdWN0LWRldGFpbCAucXVvdGUtYW5kLXBhcnRzIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5wcm9kdWN0LWRldGFpbCAucXVvdGUtYW5kLXBhcnRzOjpiZWZvcmUsIC5wcm9kdWN0LWRldGFpbCAucXVvdGUtYW5kLXBhcnRzOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5wcm9kdWN0LWRldGFpbCAucXVvdGUtYW5kLXBhcnRzOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLnByb2R1Y3RzLWNhdGFsb2cge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnByb2R1Y3RzLWNhdGFsb2cgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnByb2R1Y3RzLWNhdGFsb2cgLmJ1dHRvbiAuaWNvbiB7XG4gICAgICBjb2xvcjogI0REMDAzMTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgICAgIC5wcm9kdWN0cy1jYXRhbG9nIC5idXR0b24gLmljb246YmVmb3JlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0uMmVtOyB9XG5cbi5yb3ctcHJvZHVjdHMtZmlsdGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLnByb2R1Y3RzLWZpbHRlciAuZmlsdGVyLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMC45Mzc1cmVtIDAuOTM3NXJlbSAwO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW0gMCAwOyB9XG4gIC5wcm9kdWN0cy1maWx0ZXIgLmZpbHRlci1pdGVtIC5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjE4NzVyZW07XG4gICAgbGVmdDogMC4xODc1cmVtOyB9XG4gICAgLnByb2R1Y3RzLWZpbHRlciAuZmlsdGVyLWl0ZW0gLmljb24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDIuODVlbTtcbiAgICAgIGNvbG9yOiAjNEY4NkEwOyB9XG4gIC5wcm9kdWN0cy1maWx0ZXIgLmZpbHRlci1pdGVtLnR5cGUge1xuICAgIHBhZGRpbmctbGVmdDogMS42NWVtOyB9XG4gIC5wcm9kdWN0cy1maWx0ZXIgLmZpbHRlci1pdGVtLm5vLWljb24udHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5wcm9kdWN0cy1maWx0ZXIgc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMCAxLjg3NXJlbTtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDAgMzBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDsgfSB9XG4gIC5wYWdpbmF0aW9uIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5wYWdpbmF0aW9uIGEgc3BhbiB7XG4gICAgICB3aWR0aDogMmVtO1xuICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIHBhZGRpbmc6IC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyZW07IH1cblxuW2RhdGEtdmlzaWJsZT0nZmFsc2UnXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIC1tb3otb3BhY2l0eTogMDtcbiAgLWtodG1sLW9wYWNpdHk6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG1hcmdpbjogLTIwMDBlbSAwIDAgLTIwMDBlbTsgfVxuXG5bZGF0YS12aXNpYmxlPSd0cnVlJ10ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgLW1vei1vcGFjaXR5OiAxO1xuICAta2h0bWwtb3BhY2l0eTogMTtcbiAgb3BhY2l0eTogMTtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5kb3dubG9hZC1maW5hbmNlLWZvcm0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmRvd25sb2FkLWZpbmFuY2UtZm9ybSAudGl0bGUge1xuICAgIGNvbG9yOiAjNEY4NkEwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmRvd25sb2FkLWZpbmFuY2UtZm9ybSAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuICAuZG93bmxvYWQtZmluYW5jZS1mb3JtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy10b3A6IDEyLjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9kb3dubG9hZC1maW5hbmNlLmpwZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5kb3dubG9hZC1maW5hbmNlLWZvcm0gLmJ1dHRvbiB7XG4gICAgICAgIG1heC13aWR0aDogNjQwcHg7IH0gfVxuICAgIC5kb3dubG9hZC1maW5hbmNlLWZvcm0gLmJ1dHRvbiAud2hpdGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMWVtIDEuODVlbTsgfVxuXG4uYWRkdGhpcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWRkdGhpcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH0gfVxuICAuYWRkdGhpcyAuYWRkdGhpc19zaGFyaW5nX3Rvb2xib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFkZHRoaXMgLmxpdGVyYWwsXG4gICAgLmFkZHRoaXMgLmFkZHRoaXNfc2hhcmluZ190b29sYm94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxZW07IH0gfVxuXG4jdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAjdmlkZW8gdmlkZW8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgI3ZpZGVvIC5tZnAtYm90dG9tLWJhciB7XG4gICAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9XG5cbi5hYm91dCAucGFnZS1zdWJ0aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMyMzFGMjA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hYm91dCAucGFnZS1zdWJ0aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLnByb2R1Y3QtZGV0YWlsIC5wYWdlLXRpdGxlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wcm9kdWN0LWRldGFpbCAubGVmdC1jb2x1bW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IC41ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWRldGFpbCAubGVmdC1jb2x1bW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4ucHJvZHVjdC1kZXRhaWwgLnJpZ2h0LWNvbHVtbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZGV0YWlsIC5yaWdodC1jb2x1bW4ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCAjREFFNEU5IHNvbGlkO1xuICAgICAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjI4MTI1cmVtOyB9IH1cblxuLnByb2R1Y3QtZGV0YWlsIC5iYWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIGxlZnQ6IDA7IH1cbiAgLnByb2R1Y3QtZGV0YWlsIC5iYWNrIC5saXRlcmFsIHtcbiAgICBmb250LXNpemU6IDg1JTsgfVxuICAucHJvZHVjdC1kZXRhaWwgLmJhY2s6aG92ZXIge1xuICAgIGNvbG9yOiAjNEY4NkEwOyB9XG4gIC5wcm9kdWN0LWRldGFpbCAuYmFjayAuaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC4yNWVtO1xuICAgIGNvbG9yOiAjMjMxRjIwO1xuICAgIGZvbnQtc2l6ZTogMmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1kZXRhaWwgLmJhY2sge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMWVtOyB9XG4gICAgICAucHJvZHVjdC1kZXRhaWwgLmJhY2sgLmxpdGVyYWwge1xuICAgICAgICBmb250LXNpemU6IDEwMCU7IH1cbiAgICAgIC5wcm9kdWN0LWRldGFpbCAuYmFjayAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC10eXBlLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIuMzQzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IC00LjY4NzVyZW07XG4gIHdpZHRoOiA0LjY4NzVyZW07XG4gIGhlaWdodDogNC42ODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgei1pbmRleDogMTA7IH1cbiAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXR5cGUtaWNvbiBzcGFuIHtcbiAgICBmb250LXNpemU6IDQuNjg3NXJlbTtcbiAgICBjb2xvcjogIzRGODZBMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXR5cGUtaWNvbiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTIuNjU2MjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMi42NTYyNXJlbTtcbiAgICAgIHdpZHRoOiA1LjMxMjVyZW07XG4gICAgICBoZWlnaHQ6IDUuMzEyNXJlbTsgfVxuICAgICAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXR5cGUtaWNvbiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiA1LjMxMjVyZW07IH0gfVxuXG4ucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3RzLWNhdGFsb2cge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdHMtY2F0YWxvZyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3RzLWNhdGFsb2cgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdHMtY2F0YWxvZyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3RzLWNhdGFsb2cgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRlc2NyaXB0aW9uIGgxLCAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZGVzY3JpcHRpb24gaDIsIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kZXNjcmlwdGlvbiBoMywgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRlc2NyaXB0aW9uIGg0LCAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZGVzY3JpcHRpb24gaDUsIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kZXNjcmlwdGlvbiBoNiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzIzMUYyMDtcbiAgcGFkZGluZy10b3A6IDFlbTsgfVxuXG4ucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZGVzY3JpcHRpb24gaDEsIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kZXNjcmlwdGlvbiBoMiwgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRlc2NyaXB0aW9uIGgzLCAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZGVzY3JpcHRpb24gaDQsIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kZXNjcmlwdGlvbiBoNSwgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRlc2NyaXB0aW9uIGg2LFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWZlYXR1cmVzIGgxLFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWZlYXR1cmVzIGgyLFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWZlYXR1cmVzIGgzLFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWZlYXR1cmVzIGg0LFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWZlYXR1cmVzIGg1LFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWZlYXR1cmVzIGg2LFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIGgxLFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIGgyLFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIGgzLFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIGg0LFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIGg1LFxuLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIGg2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMjMxRjIwO1xuICBwYWRkaW5nLXRvcDogMWVtOyB9XG4gIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kZXNjcmlwdGlvbiBoMTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRlc2NyaXB0aW9uIGgyOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZGVzY3JpcHRpb24gaDM6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1kZXNjcmlwdGlvbiBoNDpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWRlc2NyaXB0aW9uIGg1OmZpcnN0LWNoaWxkLCAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZGVzY3JpcHRpb24gaDY6Zmlyc3QtY2hpbGQsXG4gIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1mZWF0dXJlcyBoMTpmaXJzdC1jaGlsZCxcbiAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWZlYXR1cmVzIGgyOmZpcnN0LWNoaWxkLFxuICAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZmVhdHVyZXMgaDM6Zmlyc3QtY2hpbGQsXG4gIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1mZWF0dXJlcyBoNDpmaXJzdC1jaGlsZCxcbiAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LWZlYXR1cmVzIGg1OmZpcnN0LWNoaWxkLFxuICAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3QtZmVhdHVyZXMgaDY6Zmlyc3QtY2hpbGQsXG4gIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1zcGVjaWZpY2F0aW9ucyBoMTpmaXJzdC1jaGlsZCxcbiAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIGgyOmZpcnN0LWNoaWxkLFxuICAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMgaDM6Zmlyc3QtY2hpbGQsXG4gIC5wcm9kdWN0LWRldGFpbCAucHJvZHVjdC1zcGVjaWZpY2F0aW9ucyBoNDpmaXJzdC1jaGlsZCxcbiAgLnByb2R1Y3QtZGV0YWlsIC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIGg1OmZpcnN0LWNoaWxkLFxuICAucHJvZHVjdC1kZXRhaWwgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMgaDY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jb250YWN0IC5jb250YWN0LWluZm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb250YWN0IC5jb250YWN0LWluZm8ge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIE9mZnNldCBmcm9tIHRoZSB0b3Agb2YgdGhlIHdpbmRvdyB3aGVuIGEgbW9kYWwgaXMgYWRkZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW9mZnNldDogcmVtLWNhbGMoMTAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgLy8gbWFyZ2luOiAxMDBweCBhdXRvIDAgMTAwcHg7XG4gIG1hcmdpbjogMTAwcHggYXV0byAwIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cbiAgfVxufVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBUaGlyZC1wYXJ0eSBsaWJyYXJpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gPG1ldGE+IHRhZ3MsIHdoaWNoIGFyZSByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwiI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9XCI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuJW11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgYm90dG9tKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgYm90dG9tKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHRvcCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gUHJpbWFyeSBjb2xvciBmb3IgaW50ZXJhY3RpdmUgY29tcG9uZW50cyBsaWtlIGxpbmtzIGFuZCBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJpbWFyeS1jb2xvcjogIzIxOTllOCAhZGVmYXVsdDtcblxuLy8vIFNlY29uZGFyeSBjb2xvciwgdXNlZCB3aXRoIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IHRoZSBgLnNlY29uZGFyeWAgY2xhc3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWNvbmRhcnktY29sb3I6ICM3NzcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byBpbmRpY2F0ZSBhIHBvc2l0aXZlIHN0YXR1cyBvciBhY3Rpb24sIHVzZWQgd2l0aCB0aGUgYC5zdWNjZXNzYCBjbGFzcy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byBpbmRpY2F0ZSBhIGNhdXRpb24gc3RhdHVzIG9yIGFjdGlvbiwgdXNlZCB3aXRoIHRoZSBgLndhcm5pbmdgIGNsYXNzLlxuLy8vIEB0eXBlIENvbG9yXG4kd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIGluZGljYXRlIGEgbmVnYXRpdmUgc3RhdHVzIG9yIGFjdGlvbiwgdXNlZCB3aXRoIHRoZSBgLmFsZXJ0YCBjbGFzcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFsZXJ0LWNvbG9yOiAjZWM1ODQwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGRpcmVjdGlvbiBmb3IgdGhlIGRvY3VtZW50LiBTZXQgdG8gYHJ0bGAgdG8gcmV2ZXJzZSB0aGUgb3JpZW50YXRpb24gYW5kIGRpcmVjdGlvbiBvZiBhbGwgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gYmV0d2VlbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWFwIHVzZWQgdG8gaXRlcmF0ZSB0aHJvdWdoIGNvbG9ycywgdG8gZ2VuZXJhdGUgQ1NTIGNsYXNzZXMgd2l0aCBsZXNzIGNvZGVcbiRmb3VuZGF0aW9uLWNvbG9yczogKFxuICBwcmltYXJ5OiAkcHJpbWFyeS1jb2xvcixcbiAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LWNvbG9yLFxuICBzdWNjZXNzOiAkc3VjY2Vzcy1jb2xvcixcbiAgYWxlcnQ6ICRhbGVydC1jb2xvcixcbiAgd2FybmluZzogJHdhcm5pbmctY29sb3IsXG4pO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgaHRtbCxcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE9mZi1jYW52YXNcbi8vICAyNC4gT3JiaXRcbi8vICAyNS4gUGFnaW5hdGlvblxuLy8gIDI2LiBQcm9ncmVzcyBCYXJcbi8vICAyNy4gUmV2ZWFsXG4vLyAgMjguIFNsaWRlclxuLy8gIDI5LiBTd2l0Y2hcbi8vICAzMC4gVGFibGVcbi8vICAzMS4gVGFic1xuLy8gIDMyLiBUaHVtYm5haWxcbi8vICAzMy4gVG9vbHRpcFxuLy8gIDM0LiBUb3AgQmFyXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRwcmltYXJ5LWNvbG9yOiAjNEY4NkEwO1xuJHNlY29uZGFyeS1jb2xvcjogI0REMDAzMTtcbiRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2O1xuJHdhcm5pbmctY29sb3I6ICNERDg4MDA7XG4kYWxlcnQtY29sb3I6ICNERDAwMzE7XG4kbGlnaHQtZ3JheTogI0YxRjFGMjtcbiRtZWRpdW0tZ3JheTogI0QwRDJEMztcbiRkYXJrLWdyYXk6ICM4MDgxODQ7XG4kYmxhY2s6ICMyMzFGMjA7XG4kd2hpdGU6ICNmZmZmZmY7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkZGFyay1ncmF5O1xuJGJvZHktZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kcmVtLWJhc2U6IDE2cHg7XG5cbi8vLyBDdXN0b20gY29sb3IgdmFyaWFibGVzXG5cbiRibHVlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRibHVlLWxpZ2h0LWNvbG9yOiAjOTdCNUM1O1xuJGJsdWUtbGlnaHRlci1jb2xvcjogI0RBRTRFOTtcbiRyZWQtY29sb3I6ICRhbGVydC1jb2xvcjtcbiRyZWQtbGlnaHQtY29sb3I6ICNGNzgyN0M7XG4kcmVkLWxpZ2h0ZXItY29sb3I6ICNGRkNFQzg7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IDMwcHg7XG4kYmxvY2stZ3JpZC1tYXg6IDY7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDMwLFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiA0MCxcbiAgICAnaDMnOiAzMixcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbik7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6ICRhbGVydC1jb2xvcjtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6ICRhbGVydC1jb2xvcjtcbiRpbnB1dC1lcnJvci1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IGxpZ2h0ZW4oJGJsdWUtbGlnaHRlci1jb2xvciwgOCUpO1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwO1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IDFlbSAxLjg1ZW07XG4kYnV0dG9uLW1hcmdpbjogMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAjZmZmO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICMwMDA7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW07XG4kY2xvc2VidXR0b24tc2l6ZTogMmVtO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTUuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMTZyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTcuIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyAxOC4gRmxleCBWaWRlb1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGZsZXh2aWRlby1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICMzMzM7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICNmYWZhZmE7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAjMzMzO1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkZGFyay1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtZXhwYW5kLW1heDogNjtcblxuLy8gMjMuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMzIwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRibHVlLWxpZ2h0ZXItY29sb3I7XG4kb2ZmY2FudmFzLXppbmRleDogLTE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjRzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuJG1haW5jb250ZW50LXNoYWRvdzogMDsgLy8wIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcblxuLy8gMjQuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNS4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI2LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLW9mZnNldDogcmVtLWNhbGMoMTAwKTtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDI4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6ICRzbGlkZXItaGVpZ2h0O1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbi8vIDI5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDA7XG5cbi8vIDMyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMy4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXBpcC1vZmZzZXQ6IDEuMjVyZW07XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNC4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICNlZWU7XG4kdG9wYmFyLWxpbmstY29sb3I6ICNmZmY7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcblxuLy8gMzUuIEN1c3RvbSBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBUZXh0IFNpemVcblxuJHRleHQtbGFyZ2VyOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuNTtcbiR0ZXh0LWxhcmdlOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kdGV4dC1ub3JtYWw6ICRnbG9iYWwtZm9udC1zaXplO1xuJHRleHQtc21hbGw6ICRnbG9iYWwtZm9udC1zaXplICogLjg1O1xuJHRleHQtc21hbGxlcjogJGdsb2JhbC1mb250LXNpemUgKiAuNztcblxuLy8vIFNwYWNlclxuXG4kc3BhY2VyLW5vcm1hbDogJGdyaWQtY29sdW1uLWd1dHRlcjtcbiRzcGFjZXItc21hbGxlcjogJHNwYWNlci1ub3JtYWwgLyAzO1xuJHNwYWNlci1zbWFsbDogJHNwYWNlci1ub3JtYWwgLyAyO1xuJHNwYWNlci1sYXJnZTogJHNwYWNlci1ub3JtYWwgKiAyO1xuJHNwYWNlci1sYXJnZXI6ICRzcGFjZXItbm9ybWFsICogMztcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludC1jbGFzc2VzXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAmIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCwgJGNmOiBmYWxzZSk7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0IGNvbGxhcHNlLCAkY2Y6IGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgJi4jeyRzaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRzaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLXVuY29sbGFwc2U7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgICYuI3skZW5kfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAgIC4jeyRzaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKCRpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tI3skcHVsbH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT2Zmc2V0c1xuICAgICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAgIC4jeyRzaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEJsb2NrIGdyaWRcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JHNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUG9zaXRpb25pbmdcbiAgICAgIC4jeyRjb2x1bW59LiN7JHNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAgIC4jeyRzaXplfS0jeyR1bmNlbnRlcn0sXG4gICAgICAuI3skc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAgIC4jeyRzaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicge1xuICAgIC5jb2x1bW5zIHtcbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFBsYWNlaG9sZGVySW5FeHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFtfSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zO1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWVcbikge1xuICAkYmVoYXZpb3I6IC16Zi1nZXQtb3B0aW9ucygkYmVoYXZpb3IsIG5lc3QgY29sbGFwc2UpO1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBtYXAtZ2V0KCRiZWhhdmlvciwgbmVzdCkge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCRncmlkLWNvbHVtbi1ndXR0ZXIpIC8gMiAqIC0xO1xuXG4gICAgQGlmIG1hcC1nZXQoJGJlaGF2aW9yLCBjb2xsYXBzZSkge1xuICAgICAgJG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBEZWZpbmVzIHRoZSBiYXNlIGZvbnQgc2l6ZSBvZiB0aGUgcGFnZSwgd2hpY2ggaXMgdGhlIHZhbHVlIGAxcmVtYCBpcyBlcXVhbCB0by5cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgWyRyZW0tYmFzZV0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiAkcmVtLWJhc2UpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRyZW0tYmFzZTtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXQoJHZhbHVlKSA9PSAnJyB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkcmVtLWJhc2VgIHZhcmlhYmxlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiAkcmVtLWJhc2UpIHtcbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmICh1bml0KCR2YWx1ZSkgIT0gJ3JlbScpIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9XG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogIzY2NixcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGZsb29yKCgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSkpO1xuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IoI3tyZWQoJGNvbG9yKX0sICN7Z3JlZW4oJGNvbG9yKX0sICN7Ymx1ZSgkY29sb3IpfSknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogI3skcmdifVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA1MCUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1NcbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5IGNlbnRlcnMgYW4gZWxlbWVudCB1c2luZyBgdHJhbnNmb3JtYC5cbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIGFuIGVsZW1lbnQgdXNpbmcgYHRyYW5zZm9ybWAuXG5AbWl4aW4gdi1hbGlnbi1taWRkbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSgpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB7XG4gIHBhZGRpbmctbGVmdDogJGdyaWQtY29sdW1uLWd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGdyaWQtY29sdW1uLWd1dHRlcjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlKCkge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCkge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6IHNtYWxsKSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJG5leHQtYnA6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG5cbiAgICAgICAgQGlmICRuZXh0LWJwID09IG51bGwge1xuICAgICAgICAgICRicC1tYXg6IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICRicC1tYXg6ICRuZXh0LWJwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiB0aGUgaW5wdXQgaXMgXCIwIHVwXCIgb3IgXCIwIGRvd25cIlxuICBAaWYgJGJwID4gMCBvciAkZGlyID09ICdvbmx5JyB7XG4gICAgLy8gXCJPbmx5XCIgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IFwiKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pXCJcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBcIkRvd25cIiByYW5nZXMgdXNlIHRoZSBmb3JtYXQgXCIobWF4LXdpZHRoOiBuKVwiXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogMDtcblxuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzLCBzdWJ0cmFjdCB0aGUgYnJlYWtwb2ludCB2YWx1ZSBieSBvbmUgXCJwaXhlbFwiLCBvciAxLzE2ZW0uXG4gICAgICBAaWYgJG5hbWVkIHtcbiAgICAgICAgJG1heDogJGJwLW1heDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG1heDogJGJwO1xuICAgICAgfVxuXG4gICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICB9XG5cbiAgICAvLyBcIlVwXCIgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IFwiKG1pbi13aWR0aDogbilcIlxuICAgIEBlbHNlIGlmIHN0cmlwLXVuaXQoJGJwKSA+IDAge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkcmVtLWJhc2VgLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vLyBAY29udGVudFxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcblxuICAvLyBHaGV0dG8gZm9yIGxvb3BcbiAgJGk6IDE7XG4gICRmb3VuZDogZmFsc2U7XG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xuICAgIEBpZiAkZm91bmQgPT0gZmFsc2Uge1xuICAgICAgQGlmICgka2V5ID09ICR2YWwpIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfVxuICAgICAgJGk6ICRpICsgMTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAkaSA+IGxlbmd0aCgkbWFwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIHN0cmluZyBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaWYgKCRjb2x1bW5zIDw9ICRncmlkLWNvbHVtbi1jb3VudCkge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICB9XG5cbiAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuXG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcblxuICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcbiAgXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24oKSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kKCkge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcygpIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCgpIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiwgLmNvbHVtbnMnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgb2YgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyNCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogNDAsXG4gICAgJ2gzJzogMzEsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHNpemVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICAgI3skaGVhZGVyfSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICdzbWFsbCcge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLCBpZiB0aGUgYmFja2dyb3VuZCBpcyBsaWdodC5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogIzAwMCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbjtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBpc2l0bGlnaHQoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTIwJSk7XG4gIH1cblxuICBAaWYgbGlnaHRuZXNzKCRiYWNrZ3JvdW5kKSA+PSA3MCUge1xuICAgICRjb2xvcjogJGJ1dHRvbi1jb2xvci1hbHQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICRjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICAmLnRpbnkgICAgIHsgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIHRpbnkpOyB9XG4gICAgJi5zbWFsbCAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBzbWFsbCk7IH1cbiAgICAmLmxhcmdlICAgIHsgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGxhcmdlKTsgfVxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLWNvbG9ycyB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdG9wOiAwLjJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9XCJudW1iZXJcIj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuXG4gIEBpZiBoYXN2YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXN2YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPVwic3VibWl0XCJdLFxuICBbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QoJGlucHV0LW51bWJlci1zcGlubmVycykge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPVwiZmlsZVwiXSxcbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLFxuICBbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGxhYmVsID4gW3R5cGU9XCJsYWJlbFwiXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT1cImZpbGVcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuXG4gICAgQGlmIGhhc3ZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDElO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogI2ZhZmFmYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoJGZvcm0tc3BhY2luZyAvIDIpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkYWxlcnQtY29sb3Jcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLCAwLjEpO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxLzE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxLzE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiAkbG93ZXItYm91bmQtc2l6ZSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9IHNtYWxsIHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj1cInRydWVcIiB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiB0aGUgbGFzdCB0aXRsZVxuICA6bGFzdC1jaGlsZCA+ICYge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KAkyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBuZWVkIHN0eWxlcyFcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZ1YWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLiBJZiBgJGNhbGxvdXQtbGluay10aW50YCBpcyBlbmFibGVkLCBsaW5rcyB3aXRoaW4gY29sb3JlZCBwYW5lbHMgd2lsbCBiZSBhIGRhcmtlciB2ZXJzaW9uIG9mIHRoZSBiYWNrZ3JvdW5kLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcbiAgJGxpbmstY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLSRjYWxsb3V0LWxpbmstdGludCk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgQGlmICRjYWxsb3V0LWxpbmstdGludCBhbmQgaHVlKCRiYWNrZ3JvdW5kKSA+IDBkZWcge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSguNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLWNvbG9ycyB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoKyAmOmZpcnN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICAmLm1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAmLmJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXppbmRleDogLTE7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIG1lbnUgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgYm9keS5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vLyBCb3ggc2hhZG93IHRvIHBsYWNlIHVuZGVyIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhpcyBzaGFkb3cgb3ZlcmxhcHMgdGhlIG9mZi1jYW52YXMgbWVudXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG4gIC8vIEV4dHJhIHByb3BlcnRpZXMgbmVlZGVkIG9uIDxodG1sPiBhbmQgPGJvZHk+IHRvIG1ha2Ugb2ZmLWNhbnZhcyB3b3JrXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaWYgaGFzdmFsdWUoJG1haW5jb250ZW50LXNoYWRvdykge1xuICAgICAgYm94LXNoYWRvdzogJG1haW5jb250ZW50LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBDbGljay10by1leGl0IG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgLmlzLW9mZi1jYW52YXMtb3BlbiAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgbWVudS5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kO1xuICB6LWluZGV4OiAkb2ZmY2FudmFzLXppbmRleDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG59XG5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRzaXplOiAkb2ZmY2FudmFzLXNpemUsXG4gICRmaXhlZDogZmFsc2Vcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG5cbiAgLy8gR2VuZXJhdGVzIGFuIG9wZW4gc3RhdGUgY2xhc3MgdGhhdCBtYXRjaGVzIHRoZSB3aWR0aCBvZiB0aGUgbWVudVxuICBAYXQtcm9vdCB7XG4gICAgLmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbbGVmdF0gLSBQb3NpdGlvbiBvZiB0aGUgb2ZmLWNhbnZhcyBtZW51IGJlaW5nIHJldmVhbGVkLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuICAkcG9zaXRpb246IGxlZnRcbikge1xuICAjeyRwb3NpdGlvbn06IDA7XG5cbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxuICAgICYucG9zaXRpb24tcmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCk7IH1cbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIG1lbnUgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3IsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZnVhbHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZnVhbHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZ1YWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZnVhbHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZ1YWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueW90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5b3dvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZ1YWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZ1YWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZ1YWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGF0LXJvb3Qge1xuICAgIHRoZWFkLFxuICAgIHRib2R5LFxuICAgIHRmb290IHtcbiAgICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIENhcHRpb25cbiAgICBjYXB0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICAgIHRoZWFkLFxuICAgIHRmb290IHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcblxuICAgICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgICAgdHIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWJsZSByb3dzXG4gICAgdGJvZHkge1xuICAgICAgdHIge1xuICAgICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgICAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgICAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGxpZ2h0bmVzcyBvZiBgJGNvbG9yYCwgYW5kIGlmIGl0IHBhc3NlcyB0aGUgYCR0aHJlc2hvbGRgIG9mIGxpZ2h0bmVzcywgaXQgcmV0dXJucyB0aGUgYCR5ZXNgIGNvbG9yLiBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlIGAkbm9gIGNvbG9yLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBvdXRwdXQgYSBmb3JlZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIGEgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsaWdodG5lc3Mgb2YuXG4vLy8gQHBhcmFtIHtjb2xvcn0gJHllcyBbJGJsYWNrXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBsaWdodC5cbi8vLyBAcGFyYW0ge2NvbG9yfSAkbm8gWyR3aGl0ZV0gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgZGFyay5cbi8vLyBAcGFyYW0ge3BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzYwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IFRoZSAkeWVzIGNvbG9yIG9yICRubyBjb2xvci5cbkBmdW5jdGlvbiBmb3JlZ3JvdW5kKCRjb2xvciwgJHllczogJGJsYWNrLCAkbm86ICR3aGl0ZSwgJHRocmVzaG9sZDogNjAlKSB7XG4gIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xuICAgICRjb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJHllcztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkbm87XG4gIH1cbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGxpZ2h0ZXIgaWYgaXQncyBsaWdodCwgb3IgZGFya2VyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge3BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtwZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBhY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW46ICR0YWItbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcmltYXJ5IGNvbG9yXG4gICAgJi5wcmltYXJ5IHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogJHRhYi1pdGVtLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZztcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC4yNXJlbTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC50aXRsZS1iYXItcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogd2hpdGUsICRjb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5KTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzbGlkZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBleHRlbmQgJW11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIkBpbXBvcnQgXCJpY29uLXNldC12YXJcIjtcblxuQG1peGluIG1lZi1mb250LWZhY2UoKSB7XG4gICAgZm9udC1mYW1pbHk6ICdtZWYnO1xuICAgIHNyYzogICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vbWVmLmVvdD9kYWczbDMnKTtcbiAgICBzcmM6ICAgIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9L21lZi5lb3Q/ZGFnM2wzI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vbWVmLnR0Zj9kYWczbDMnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICB1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS9tZWYud29mZj9kYWczbDMnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9L21lZi5zdmc/ZGFnM2wzI21lZicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIEBpbmNsdWRlIG1lZi1mb250LWZhY2U7XG59XG5cbltjbGFzc149XCJtZWYtXCJdLCBbY2xhc3MqPVwiIG1lZi1cIl0ge1xuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gICAgZm9udC1mYW1pbHk6ICdtZWYnICFpbXBvcnRhbnQ7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4ubWVmLW13IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbXc7XG4gIH1cbn1cbi5tZWYtbWVmLWZ1bGwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbDtcbiAgfVxufVxuLm1lZi1tZWYge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWY7XG4gIH1cbn1cbi5tZWYtbWVmLWNvbG9yIC5wYXRoMSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1jb2xvci1wYXRoMTsgIFxuICAgIGNvbG9yOiByZ2IoNzksIDEzNCwgMTYwKTtcbiAgfVxufVxuLm1lZi1tZWYtY29sb3IgLnBhdGgyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVmLWNvbG9yLXBhdGgyOyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDc5LCAxMzQsIDE2MCk7XG4gIH1cbn1cbi5tZWYtbWVmLWNvbG9yIC5wYXRoMyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1jb2xvci1wYXRoMzsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyMjEsIDAsIDQ5KTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDEge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMTsgIFxuICAgIGNvbG9yOiByZ2IoNzksIDEzNCwgMTYwKTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMjsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYig3OSwgMTM0LCAxNjApO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgzOyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDc5LCAxMzQsIDE2MCk7XG4gIH1cbn1cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGg0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDQ7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoNzksIDEzNCwgMTYwKTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoNTsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYig3OSwgMTM0LCAxNjApO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoNiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGg2OyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDc5LCAxMzQsIDE2MCk7XG4gIH1cbn1cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGg3IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDc7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoNzksIDEzNCwgMTYwKTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDgge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoODsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYig3OSwgMTM0LCAxNjApO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoOSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGg5OyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDc5LCAxMzQsIDE2MCk7XG4gIH1cbn1cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgxMCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgxMDsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYig3OSwgMTM0LCAxNjApO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMTEge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMTE7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoNzksIDEzNCwgMTYwKTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDEyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDEyOyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDIyMSwgMCwgNDkpO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMTMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMTM7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgxNCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgxNDsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyMjEsIDAsIDQ5KTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDE1IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDE1OyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDIyMSwgMCwgNDkpO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMTYge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMTY7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgxNyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgxNzsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyMjEsIDAsIDQ5KTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDE4IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDE4OyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDIyMSwgMCwgNDkpO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMTkge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMTk7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgyMCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgyMDsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyMjEsIDAsIDQ5KTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDIxIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDIxOyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDIyMSwgMCwgNDkpO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMjIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMjI7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgyMyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgyMzsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyMjEsIDAsIDQ5KTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDI0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDI0OyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDIyMSwgMCwgNDkpO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMjUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMjU7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtbWVmLWZ1bGwtY29sb3IgLnBhdGgyNiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgyNjsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyMjEsIDAsIDQ5KTtcbiAgfVxufVxuLm1lZi1tZWYtZnVsbC1jb2xvciAucGF0aDI3IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDI3OyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDIyMSwgMCwgNDkpO1xuICB9XG59XG4ubWVmLW1lZi1mdWxsLWNvbG9yIC5wYXRoMjgge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMjg7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtYXJyb3ctZG93biB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLWFycm93LWRvd247XG4gIH1cbn1cbi5tZWYtYXJyb3ctdXAge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1hcnJvdy11cDtcbiAgfVxufVxuLm1lZi1tZW51IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtbWVudTtcbiAgfVxufVxuLm1lZi1ib3R0b20ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1ib3R0b207XG4gIH1cbn1cbi5tZWYtdG9wIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtdG9wO1xuICB9XG59XG4ubWVmLXJpZ2h0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtcmlnaHQ7XG4gIH1cbn1cbi5tZWYtbGVmdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLWxlZnQ7XG4gIH1cbn1cbi5tZWYtcGx1cyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLXBsdXM7XG4gIH1cbn1cbi5tZWYtY3Jvc3Mge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1jcm9zcztcbiAgfVxufVxuLm1lZi1tZWQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWQ7XG4gIH1cbn1cbi5tZWYtdmV0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtdmV0O1xuICB9XG59XG4ubWVmLW1lZC12ZXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1tZWQtdmV0O1xuICB9XG59XG4ubWVmLWZhY2Vib29rIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtZmFjZWJvb2s7XG4gIH1cbn1cbi5tZWYtdHdpdHRlciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLXR3aXR0ZXI7XG4gIH1cbn1cbi5tZWYtbGlua2VkaW4ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1saW5rZWRpbjtcbiAgfVxufVxuLm1lZi1nb29nbGUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1nb29nbGU7XG4gIH1cbn1cbi5tZWYteW91dHViZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLXlvdXR1YmU7XG4gIH1cbn1cbi5tZWYtaW5zdGFncmFtIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtaW5zdGFncmFtO1xuICB9XG59XG4ubWVmLXBpbnRlcmVzdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLXBpbnRlcmVzdDtcbiAgfVxufVxuLm1lZi13b3JkcHJlc3Mge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi13b3JkcHJlc3M7XG4gIH1cbn1cbi5tZWYteWVscCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLXllbHA7XG4gIH1cbn1cbi5tZWYtcGRmIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtcGRmO1xuICB9XG59XG4ubWVmLWVzIC5wYXRoMSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLWVzLXBhdGgxOyAgXG4gICAgY29sb3I6IHJnYigyNDksIDIyNSwgMCk7XG4gIH1cbn1cbi5tZWYtZXMgLnBhdGgyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtZXMtcGF0aDI7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtZXMgLnBhdGgzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtZXMtcGF0aDM7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtZW4gLnBhdGgxIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtZW4tcGF0aDE7ICBcbiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICB9XG59XG4ubWVmLWVuIC5wYXRoMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLWVuLXBhdGgyOyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDI5LCA0MSwgMTQ0KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoMzsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoNDsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoNTsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDYge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoNjsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoNzsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDgge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoODsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDkge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoOTsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDEwIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtZW4tcGF0aDEwOyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICB9XG59XG4ubWVmLWVuIC5wYXRoMTEge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoMTE7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtZW4gLnBhdGgxMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLWVuLXBhdGgxMjsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyMjEsIDAsIDQ5KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDEzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtZW4tcGF0aDEzOyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDIyMSwgMCwgNDkpO1xuICB9XG59XG4ubWVmLWVuIC5wYXRoMTQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoMTQ7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtZW4gLnBhdGgxNSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLWVuLXBhdGgxNTsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyMjEsIDAsIDQ5KTtcbiAgfVxufVxuLm1lZi1lbiAucGF0aDE2IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtZW4tcGF0aDE2OyAgXG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07ICBcbiAgICBjb2xvcjogcmdiKDIyMSwgMCwgNDkpO1xuICB9XG59XG4ubWVmLWVuIC5wYXRoMTcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1lbi1wYXRoMTc7ICBcbiAgICBtYXJnaW4tbGVmdDogLTFlbTsgIFxuICAgIGNvbG9yOiByZ2IoMjIxLCAwLCA0OSk7XG4gIH1cbn1cbi5tZWYtZW4gLnBhdGgxOCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLWVuLXBhdGgxODsgIFxuICAgIG1hcmdpbi1sZWZ0OiAtMWVtOyAgXG4gICAgY29sb3I6IHJnYigyMjEsIDAsIDQ5KTtcbiAgfVxufVxuLm1lZi1jaXJjbGUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1jaXJjbGU7XG4gIH1cbn1cbi5tZWYtY2lyY2xlLXNtYWxsIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtY2lyY2xlLXNtYWxsO1xuICB9XG59XG4ubWVmLXJpbmcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1yaW5nO1xuICB9XG59XG4ubWVmLXJpbmctc21hbGwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJG1lZi1yaW5nLXNtYWxsO1xuICB9XG59XG4ubWVmLXNlYXJjaCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLXNlYXJjaDtcbiAgfVxufVxuLm1lZi1wbGF5IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRtZWYtcGxheTtcbiAgfVxufVxuLm1lZi1lbnZlbG9wZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkbWVmLWVudmVsb3BlO1xuICB9XG59XG4iLCIkaWNvbW9vbi1mb250LXBhdGg6IFwiLi4vZm9udHNcIiAhZGVmYXVsdDtcblxuJG1lZi1tdzogXCJcXGU5MDBcIjtcbiRtZWYtbWVmLWZ1bGw6IFwiXFxlOTAxXCI7XG4kbWVmLW1lZjogXCJcXGU5MDJcIjtcbiRtZWYtbWVmLWNvbG9yLXBhdGgxOiBcIlxcZTkwM1wiO1xuJG1lZi1tZWYtY29sb3ItcGF0aDI6IFwiXFxlOTA0XCI7XG4kbWVmLW1lZi1jb2xvci1wYXRoMzogXCJcXGU5MDVcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDE6IFwiXFxlOTA2XCI7XG4kbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgyOiBcIlxcZTkwN1wiO1xuJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMzogXCJcXGU5MDhcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDQ6IFwiXFxlOTA5XCI7XG4kbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGg1OiBcIlxcZTkwYVwiO1xuJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoNjogXCJcXGU5MGJcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDc6IFwiXFxlOTBjXCI7XG4kbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGg4OiBcIlxcZTkwZFwiO1xuJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoOTogXCJcXGU5MGVcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDEwOiBcIlxcZTkwZlwiO1xuJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMTE6IFwiXFxlOTEwXCI7XG4kbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgxMjogXCJcXGU5MTFcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDEzOiBcIlxcZTkxMlwiO1xuJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMTQ6IFwiXFxlOTEzXCI7XG4kbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgxNTogXCJcXGU5MTRcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDE2OiBcIlxcZTkxNVwiO1xuJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMTc6IFwiXFxlOTE2XCI7XG4kbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgxODogXCJcXGU5MTdcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDE5OiBcIlxcZTkxOFwiO1xuJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMjA6IFwiXFxlOTE5XCI7XG4kbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgyMTogXCJcXGU5MWFcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDIyOiBcIlxcZTkxYlwiO1xuJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMjM6IFwiXFxlOTFjXCI7XG4kbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgyNDogXCJcXGU5MWRcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDI1OiBcIlxcZTkxZVwiO1xuJG1lZi1tZWYtZnVsbC1jb2xvci1wYXRoMjY6IFwiXFxlOTFmXCI7XG4kbWVmLW1lZi1mdWxsLWNvbG9yLXBhdGgyNzogXCJcXGU5MjBcIjtcbiRtZWYtbWVmLWZ1bGwtY29sb3ItcGF0aDI4OiBcIlxcZTkyMVwiO1xuJG1lZi1hcnJvdy1kb3duOiBcIlxcZTkyMlwiO1xuJG1lZi1hcnJvdy11cDogXCJcXGU5MjNcIjtcbiRtZWYtbWVudTogXCJcXGU5MjRcIjtcbiRtZWYtYm90dG9tOiBcIlxcZTkyNVwiO1xuJG1lZi10b3A6IFwiXFxlOTI2XCI7XG4kbWVmLXJpZ2h0OiBcIlxcZTkyN1wiO1xuJG1lZi1sZWZ0OiBcIlxcZTkyOFwiO1xuJG1lZi1wbHVzOiBcIlxcZTkyOVwiO1xuJG1lZi1jcm9zczogXCJcXGU5MmFcIjtcbiRtZWYtbWVkOiBcIlxcZTkyYlwiO1xuJG1lZi12ZXQ6IFwiXFxlOTJjXCI7XG4kbWVmLW1lZC12ZXQ6IFwiXFxlOTJkXCI7XG4kbWVmLWZhY2Vib29rOiBcIlxcZTkzMFwiO1xuJG1lZi10d2l0dGVyOiBcIlxcZTkzMVwiO1xuJG1lZi1saW5rZWRpbjogXCJcXGU5MzJcIjtcbiRtZWYtZ29vZ2xlOiBcIlxcZTkzM1wiO1xuJG1lZi15b3V0dWJlOiBcIlxcZTkzNFwiO1xuJG1lZi1pbnN0YWdyYW06IFwiXFxlOTM1XCI7XG4kbWVmLXBpbnRlcmVzdDogXCJcXGU5MzZcIjtcbiRtZWYtd29yZHByZXNzOiBcIlxcZTkzN1wiO1xuJG1lZi15ZWxwOiBcIlxcZTkzOFwiO1xuJG1lZi1wZGY6IFwiXFxlOTM5XCI7XG4kbWVmLWVzLXBhdGgxOiBcIlxcZTkzYVwiO1xuJG1lZi1lcy1wYXRoMjogXCJcXGU5M2JcIjtcbiRtZWYtZXMtcGF0aDM6IFwiXFxlOTNjXCI7XG4kbWVmLWVuLXBhdGgxOiBcIlxcZTkzZFwiO1xuJG1lZi1lbi1wYXRoMjogXCJcXGU5M2VcIjtcbiRtZWYtZW4tcGF0aDM6IFwiXFxlOTNmXCI7XG4kbWVmLWVuLXBhdGg0OiBcIlxcZTk0MFwiO1xuJG1lZi1lbi1wYXRoNTogXCJcXGU5NDFcIjtcbiRtZWYtZW4tcGF0aDY6IFwiXFxlOTQyXCI7XG4kbWVmLWVuLXBhdGg3OiBcIlxcZTk0M1wiO1xuJG1lZi1lbi1wYXRoODogXCJcXGU5NDRcIjtcbiRtZWYtZW4tcGF0aDk6IFwiXFxlOTQ1XCI7XG4kbWVmLWVuLXBhdGgxMDogXCJcXGU5NDZcIjtcbiRtZWYtZW4tcGF0aDExOiBcIlxcZTk0N1wiO1xuJG1lZi1lbi1wYXRoMTI6IFwiXFxlOTQ4XCI7XG4kbWVmLWVuLXBhdGgxMzogXCJcXGU5NDlcIjtcbiRtZWYtZW4tcGF0aDE0OiBcIlxcZTk0YVwiO1xuJG1lZi1lbi1wYXRoMTU6IFwiXFxlOTRiXCI7XG4kbWVmLWVuLXBhdGgxNjogXCJcXGU5NGNcIjtcbiRtZWYtZW4tcGF0aDE3OiBcIlxcZTk0ZFwiO1xuJG1lZi1lbi1wYXRoMTg6IFwiXFxlOTRlXCI7XG4kbWVmLWNpcmNsZTogXCJcXGU5NGZcIjtcbiRtZWYtY2lyY2xlLXNtYWxsOiBcIlxcZTk1MFwiO1xuJG1lZi1yaW5nOiBcIlxcZTk1MVwiO1xuJG1lZi1yaW5nLXNtYWxsOiBcIlxcZTk1MlwiO1xuJG1lZi1zZWFyY2g6IFwiXFxlOTJlXCI7XG4kbWVmLXBsYXk6IFwiXFxlOTJmXCI7XG4kbWVmLWVudmVsb3BlOiBcIlxcZTk1M1wiO1xuXG4iLCIvLyBJQ09OIFNFVCAtIElOTkVSIFBBVEhcblxuLy8gSW5uZXIgcGF0aCBhbGlnblxuW2NsYXNzXj1cIm1lZi1cIl0sIFtjbGFzcyo9XCIgbWVmLVwiXSB7XG5cdFtjbGFzcyo9XCJwYXRoXCJdIHtcblx0XHRmbG9hdDogbGVmdDtcblx0fVxufVxuXG5cbi8vIEN1c3RvbVxuW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcblx0Lm1lZi1tZW51IHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAkbWVmLWNyb3NzO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIEN1c3RvbSBnZW5lcmFsIHN0eWxlc1xuLmFjY29yZGlvbi10aXRsZSB7XG5cdCY6YmVmb3JlIHtcblx0XHRAaW5jbHVkZSBtZWYtZm9udC1mYWNlO1xuXHR9XG59XG5cblxuLy8gQWNjb3JkaW9uc1xuLmFjY29yZGlvbi10aXRsZSB7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAkbWVmLWJvdHRvbTtcblx0XHRmb250LXNpemU6IDJlbTtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHR9XG5cblx0LmlzLWFjdGl2ZSA+ICY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAkbWVmLXRvcDtcblx0fVxufVxuXG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwie3tyb290fX1hc3NldHMvZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwibWVmXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi4vaW1nL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiAkYmx1ZS1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6ICRibHVlLWxpZ2h0LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRibHVlLWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiAkbWVmLWxlZnQgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6ICRtZWYtcmlnaHQgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogJG1lZi1jaXJjbGUgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1uZXh0LXNpemU6IHJlbS1jYWxjKDUwKSAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC41ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcblx0QGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcblx0XHRAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG5cdH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcblx0QGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuXHRcdEByZXR1cm4gZm9udC11cmwoJHVybCk7XG5cdH1cblx0QGVsc2Uge1xuXHRcdEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcblx0fVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuXHQuc2xpY2stbG9hZGluZyAmIHtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0fVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuXHRAZm9udC1mYWNlIHtcblx0XHRmb250LWZhbWlseTogXCJzbGlja1wiO1xuXHRcdHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG5cdFx0c3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHR9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAkc2xpY2stcHJldi1uZXh0LXNpemU7XG5cdHdpZHRoOiAkc2xpY2stcHJldi1uZXh0LXNpemU7XG5cdGxpbmUtaGVpZ2h0OiAkc2xpY2stcHJldi1uZXh0LXNpemU7XG5cdGZvbnQtc2l6ZTogMHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRvcDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG4gICAgei1pbmRleDogMTAwO1xuXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0Ji5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuXHRcdG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0Zm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcblx0XHRmb250LXNpemU6ICRzbGljay1wcmV2LW5leHQtc2l6ZTtcblx0XHRsaW5lLWhlaWdodDogJHNsaWNrLXByZXYtbmV4dC1zaXplO1xuXHRcdGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG5cdFx0b3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHR9XG59XG5cbi5zbGljay1wcmV2IHtcblx0bGVmdDogMDtcblx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG5cdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3Rlcjtcblx0XHR9XG5cdH1cbn1cblxuLnNsaWNrLW5leHQge1xuXHRyaWdodDogMDtcblx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHR9XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG5cdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3Rlcjtcblx0XHR9XG5cdH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zbGljay1kb3RzIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym90dG9tOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbjogMCAwIC0yZW0gMDtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAwO1xuXHR6LWluZGV4OiAxMDE7XG5cblx0bGkge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0aGVpZ2h0OiAkc2xpY2stZG90LXNpemU7XG5cdFx0d2lkdGg6ICRzbGljay1kb3Qtc2l6ZTtcblx0XHRtYXJnaW46IDAgLjI1ZW07XG5cdFx0cGFkZGluZzogMDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0YnV0dG9uIHtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRoZWlnaHQ6ICRzbGljay1kb3Qtc2l6ZTtcblx0XHRcdHdpZHRoOiAkc2xpY2stZG90LXNpemU7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0XHRmb250LXNpemU6IDA7XG5cdFx0XHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0Y29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG5cdFx0XHRcdHdpZHRoOiAkc2xpY2stZG90LXNpemU7XG5cdFx0XHRcdGhlaWdodDogJHNsaWNrLWRvdC1zaXplO1xuXHRcdFx0XHRmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6ICRzbGljay1kb3Qtc2l6ZTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcblx0XHRcdFx0b3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcblx0XHRcdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0XHRcdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuXHRcdFx0Y29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuXHRcdFx0b3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBDb2xvciBWYXJpYXRpb25zXG5cbi5ia2ctYmx1ZSB7XG5cdC5zbGljay1wcmV2LFxuXHQuc2xpY2stbmV4dCB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29sb3I6ICRibHVlLWxpZ2h0ZXItY29sb3I7XG5cdFx0fVxuXHR9XG5cblx0LnNsaWNrLWRvdHMge1xuXHRcdGxpIHtcblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb2xvcjogJGJsdWUtbGlnaHRlci1jb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cblxuXG5cblxuXG4iLCIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cblxuQGltcG9ydCBcInNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIENvbnRlbnRzOlxuLy9cbi8vIDEuIEdlbmVyYWwgc3R5bGVzXG4vLyAgICAtIFRyYW5zbHVzY2VudCBvdmVybGF5XG4vLyAgICAtIENvbnRhaW5lcnMsIHdyYXBwZXJzXG4vLyAgICAtIEN1cnNvcnNcbi8vICAgIC0gSGVscGVyIGNsYXNzZXNcbi8vIDIuIEFwcGVhcmFuY2Vcbi8vICAgIC0gUHJlbG9hZGVyICYgdGV4dCB0aGF0IGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzXG4vLyAgICAtIENTUyByZXNldCBmb3IgYnV0dG9uc1xuLy8gICAgLSBDbG9zZSBpY29uXG4vLyAgICAtIFwiMSBvZiBYXCIgY291bnRlclxuLy8gICAgLSBOYXZpZ2F0aW9uIChsZWZ0L3JpZ2h0KSBhcnJvd3Ncbi8vICAgIC0gSWZyYW1lIGNvbnRlbnQgdHlwZSBzdHlsZXNcbi8vICAgIC0gSW1hZ2UgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBNZWRpYSBxdWVyeSB3aGVyZSBzaXplIG9mIGFycm93cyBpcyByZWR1Y2VkXG4vLyAgICAtIElFNyBzdXBwb3J0XG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDEuIEdlbmVyYWwgc3R5bGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi5tZnAtYmcge1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgMjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IGZpeGVkO1xuXG5cdGJhY2tncm91bmQ6ICRtZnAtb3ZlcmxheS1jb2xvcjtcblx0b3BhY2l0eTogJG1mcC1vdmVybGF5LW9wYWNpdHk7XG59XG5cbi8vIFdyYXBwZXIgZm9yIHBvcHVwXG4ubWZwLXdyYXAge1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgMztcblx0cG9zaXRpb246IGZpeGVkO1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBmaXhlcyB3ZWJraXQgYnVnIHRoYXQgY2FuIGNhdXNlIFwiZmFsc2VcIiBzY3JvbGxiYXJcbn1cblxuLy8gUm9vdCBjb250YWluZXJcbi5tZnAtY29udGFpbmVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0cGFkZGluZzogMCAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gVmVydGljYWwgY2VudGVyZXIgaGVscGVyXG4ubWZwLWNvbnRhaW5lciB7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cbn1cblxuLy8gUmVtb3ZlIHZlcnRpY2FsIGNlbnRlcmluZyB3aGVuIHBvcHVwIGhhcyBjbGFzcyBgbWZwLWFsaWduLXRvcGBcbi5tZnAtYWxpZ24tdG9wIHtcblx0Lm1mcC1jb250YWluZXIge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi8vIFBvcHVwIGNvbnRlbnQgaG9sZGVyXG4ubWZwLWNvbnRlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNTtcbn1cbi5tZnAtaW5saW5lLWhvbGRlcixcbi5tZnAtYWpheC1ob2xkZXIge1xuXHQubWZwLWNvbnRlbnQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGN1cnNvcjogYXV0bztcblx0fVxufVxuXG4vLyBDdXJzb3JzXG4ubWZwLWFqYXgtY3VyIHtcblx0Y3Vyc29yOiBwcm9ncmVzcztcbn1cbi5tZnAtem9vbS1vdXQtY3VyIHtcblx0JiwgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG5cdFx0Y3Vyc29yOiAtbW96LXpvb20tb3V0O1xuXHRcdGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcblx0XHRjdXJzb3I6IHpvb20tb3V0O1xuXHR9XG59XG4ubWZwLXpvb20ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuXHRjdXJzb3I6IC1tb3otem9vbS1pbjtcblx0Y3Vyc29yOiB6b29tLWluO1xufVxuLm1mcC1hdXRvLWN1cnNvciB7XG5cdC5tZnAtY29udGVudCB7XG5cdFx0Y3Vyc29yOiBhdXRvO1xuXHR9XG59XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuXHQtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLyBIaWRlIHRoZSBpbWFnZSBkdXJpbmcgdGhlIGxvYWRpbmdcbi5tZnAtbG9hZGluZyB7XG5cdCYubWZwLWZpZ3VyZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vLyBIZWxwZXIgY2xhc3MgdGhhdCBoaWRlcyBzdHVmZlxuQGlmICRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuIHtcblx0Ly8gRnJvbSBIVE1MNSBCb2lsZXJwbGF0ZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL3Y0LjIuMC9kb2MvY3NzLm1kI3Zpc3VhbGx5aGlkZGVuXG5cdC5tZnAtaGlkZSB7XG5cdFx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdFx0Y2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0XHR3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG5cdH1cbn0gQGVsc2Uge1xuXHQubWZwLWhpZGUge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIFByZWxvYWRlciBhbmQgdGV4dCB0aGF0IGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzXG4ubWZwLXByZWxvYWRlciB7XG5cdGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdHdpZHRoOiBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IC0wLjhlbTtcblx0bGVmdDogOHB4O1xuXHRyaWdodDogOHB4O1xuXHR6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDQ7XG5cdGEge1xuXHRcdGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyO1xuXHRcdH1cblx0fVxufVxuXG4vLyBIaWRlIHByZWxvYWRlciB3aGVuIGNvbnRlbnQgc3VjY2Vzc2Z1bGx5IGxvYWRlZFxuLm1mcC1zLXJlYWR5IHtcblx0Lm1mcC1wcmVsb2FkZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLy8gSGlkZSBjb250ZW50IHdoZW4gaXQgd2FzIG5vdCBsb2FkZWRcbi5tZnAtcy1lcnJvciB7XG5cdC5tZnAtY29udGVudCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vLyBDU1MtcmVzZXQgZm9yIGJ1dHRvbnNcbmJ1dHRvbiB7XG5cdCYubWZwLWNsb3NlLFxuXHQmLm1mcC1hcnJvdyB7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMDtcblx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNjtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHR9XG5cdCY6Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJvcmRlcjogMFxuXHR9XG59XG5cblxuLy8gQ2xvc2UgaWNvblxuLm1mcC1jbG9zZSB7XG5cdHdpZHRoOiA0NHB4O1xuXHRoZWlnaHQ6IDQ0cHg7XG5cdGxpbmUtaGVpZ2h0OiA0NHB4O1xuXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcblx0cGFkZGluZzogMCAwIDE4cHggMTBweDtcblx0Y29sb3I6ICRtZnAtY29udHJvbHMtY29sb3I7XG5cblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXNpemU6IDI4cHg7XG5cdGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTtcblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0JjphY3RpdmUge1xuXHRcdHRvcDogMXB4O1xuXHR9XG59XG4ubWZwLWNsb3NlLWJ0bi1pbiB7XG5cdC5tZnAtY2xvc2Uge1xuXHRcdGNvbG9yOiAkbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I7XG5cdH1cbn1cbi5tZnAtaW1hZ2UtaG9sZGVyLFxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcblx0Lm1mcC1jbG9zZSB7XG5cdFx0Y29sb3I6ICRtZnAtY29udHJvbHMtY29sb3I7XG5cdFx0cmlnaHQ6IC02cHg7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0cGFkZGluZy1yaWdodDogNnB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi8vIFwiMSBvZiBYXCIgY291bnRlclxuLm1mcC1jb3VudGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHRjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBOYXZpZ2F0aW9uIGFycm93c1xuQGlmICRtZnAtaW5jbHVkZS1hcnJvd3Mge1xuXHQubWZwLWFycm93IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0b3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuXHRcdG1hcmdpbjogMDtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tdG9wOiAtNTVweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHdpZHRoOiA5MHB4O1xuXHRcdGhlaWdodDogMTEwcHg7XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuXHRcdCY6YWN0aXZlIHtcblx0XHRcdG1hcmdpbi10b3A6IC01NHB4O1xuXHRcdH1cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdFx0Ly8gJjpiZWZvcmUsXG5cdFx0Ly8gJjphZnRlciB7XG5cdFx0Ly8gXHQvL2NvbnRlbnQ6ICcnO1xuXHRcdC8vIFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdC8vIFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ly8gXHR3aWR0aDogMDtcblx0XHQvLyBcdGhlaWdodDogMDtcblx0XHQvLyBcdGxlZnQ6IDA7XG5cdFx0Ly8gXHR0b3A6IDA7XG5cdFx0Ly8gXHQvLyBtYXJnaW4tdG9wOiAzNXB4O1xuXHRcdC8vIFx0Ly8gbWFyZ2luLWxlZnQ6IDM1cHg7XG5cdFx0Ly8gXHQvLyBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcblx0XHQvLyB9XG5cblx0XHQvLyAmOmFmdGVyIHtcblx0XHQvLyBcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Ly8gXHQvLyBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuXHRcdC8vIFx0Ly8gYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcblx0XHQvLyBcdC8vIHRvcDo4cHg7XG5cdFx0Ly8gfVxuXG5cdFx0Ly8gJjpiZWZvcmUge1xuXHRcdC8vIFx0Ly8gYm9yZGVyLXRvcC13aWR0aDogMjFweDtcblx0XHQvLyBcdC8vIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG5cdFx0Ly8gXHQvLyBvcGFjaXR5OiAwLjc7XG5cdFx0Ly8gfVxuXG5cdH1cblxuXHQubWZwLWFycm93LWxlZnQsXG5cdC5tZnAtYXJyb3ctcmlnaHQge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdEBpbmNsdWRlIG1lZi1mb250LWZhY2U7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDUwKTtcblx0XHRcdHdpZHRoOiByZW0tY2FsYyg5MCk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDExMCk7XG5cdFx0XHRjb2xvcjogJGJsdWUtY29sb3I7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHQmOmJlZm9yZSB7XG4gXHRcdFx0XHRjb2xvcjogJGFuY2hvci1jb2xvci1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubWZwLWFycm93LWxlZnQge1xuXHRcdGxlZnQ6IDA7XG5cdFx0Ly8gJjphZnRlciB7XG5cdFx0Ly8gICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgJG1mcC1jb250cm9scy1jb2xvcjtcblx0XHQvLyAgIG1hcmdpbi1sZWZ0OiAzMXB4O1xuXHRcdC8vIH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAkbWVmLWxlZnQ7XG5cdFx0XHQvLyBtYXJnaW4tbGVmdDogMjVweDtcblx0XHRcdC8vIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHQubWZwLWFycm93LXJpZ2h0IHtcblx0XHRyaWdodDogMDtcblx0XHQvLyAmOmFmdGVyIHtcblx0XHQvLyAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG5cdFx0Ly8gICBtYXJnaW4tbGVmdDogMzlweFxuXHRcdC8vIH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAkbWVmLXJpZ2h0O1xuXHRcdFx0Ly8gYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG5cdFx0fVxuXHR9XG59XG5cblxuXG4vLyBJZnJhbWUgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlIHtcblx0Lm1mcC1pZnJhbWUtaG9sZGVyIHtcblx0XHRwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG5cdFx0cGFkZGluZy1ib3R0b206ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuXHRcdC5tZnAtY29udGVudCB7XG5cdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XG5cdFx0fVxuXHRcdC5tZnAtY2xvc2Uge1xuXHRcdFx0dG9wOiAtNDBweDtcblx0XHR9XG5cdH1cblx0Lm1mcC1pZnJhbWUtc2NhbGVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcmF0aW8gKiAxMDAlO1xuXHRcdGlmcmFtZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuXHRcdFx0YmFja2dyb3VuZDogJG1mcC1pZnJhbWUtYmFja2dyb3VuZDtcblx0XHR9XG5cdH1cbn1cblxuXG5cbi8vIEltYWdlIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcblxuXHQvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5cdGltZyB7XG5cdFx0Ji5tZnAtaW1nIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuXHQubWZwLWZpZ3VyZSB7XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG5cdFx0XHRib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuXHRcdFx0YmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuXHRcdH1cblx0XHRzbWFsbCB7XG5cdFx0XHRjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTRweDtcblx0XHR9XG5cdFx0ZmlndXJlIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblx0Lm1mcC1ib3R0b20tYmFyIHtcblx0XHRtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGN1cnNvcjogYXV0bztcblx0fVxuXHQubWZwLXRpdGxlIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG5cdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDM2cHg7IC8vIGxlYXZlIHNvbWUgc3BhY2UgZm9yIGNvdW50ZXIgYXQgcmlnaHQgc2lkZVxuXHR9XG5cblx0Lm1mcC1pbWFnZS1ob2xkZXIge1xuXHRcdC5tZnAtY29udGVudCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Lm1mcC1nYWxsZXJ5IHtcblx0XHQubWZwLWltYWdlLWhvbGRlciB7XG5cdFx0XHQubWZwLWZpZ3VyZSB7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXG5cdEBpZiAkbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2Uge1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cblx0XHRcdCAqL1xuXHRcdFx0Lm1mcC1pbWctbW9iaWxlIHtcblx0XHRcdFx0Lm1mcC1pbWFnZS1ob2xkZXIge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0Ji5tZnAtaW1nIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5tZnAtZmlndXJlIHtcblx0XHRcdFx0XHQvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2Vcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0c21hbGwge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Lm1mcC1ib3R0b20tYmFyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHR0b3A6IGF1dG87XG5cdFx0XHRcdFx0cGFkZGluZzogM3B4IDVweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0XHQmOmVtcHR5IHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5tZnAtY291bnRlciB7XG5cdFx0XHRcdFx0cmlnaHQ6IDVweDtcblx0XHRcdFx0XHR0b3A6IDNweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQubWZwLWNsb3NlIHtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDM1cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzNXB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNXB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcblx0XHRcdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG5cbi8vIFNjYWxlIG5hdmlnYXRpb24gYXJyb3dzIGFuZCByZWR1Y2UgcGFkZGluZyBmcm9tIHNpZGVzXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuXHQubWZwLWFycm93IHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcblx0fVxuXHQubWZwLWFycm93LWxlZnQge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuXHR9XG5cdC5tZnAtYXJyb3ctcmlnaHQge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuXHR9XG5cdC5tZnAtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWxlZnQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG5cdH1cbn1cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgIFNldHRpbmdzICAgICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBvdmVybGF5XG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcdFx0Ly8gQ29sb3Igb2Ygb3ZlcmxheSBzY3JlZW5cbiRtZnAtb3ZlcmxheS1vcGFjaXR5OiAgICAgICAgICAgICAgICAgMC45NSAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcdFx0Ly8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgcmVtLWNhbGMoMTUpIHJnYmEoMCwgMCwgMCwgMC4yKSAhZGVmYXVsdDsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcdFx0XHRcdFx0XHQvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcdFx0XHRcdFx0XHQvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICA5MDEwICFkZWZhdWx0O1x0XHRcdFx0XHRcdFx0XHQvLyBCYXNlIHotaW5kZXggb2YgcG9wdXBcblxuLy8gY29udHJvbHNcbiRtZnAtaW5jbHVkZS1hcnJvd3M6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcdFx0Ly8gSW5jbHVkZSBzdHlsZXMgZm9yIG5hdiBhcnJvd3NcbiRtZnAtY29udHJvbHMtb3BhY2l0eTogICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcdFx0XHQvLyBPcGFjaXR5IG9mIGNvbnRyb2xzXG4kbWZwLWNvbnRyb2xzLWNvbG9yOiAgICAgICAgICAgICAgICAgICRibHVlLWNvbG9yICFkZWZhdWx0O1x0XHRcdFx0XHRcdFx0Ly8gQ29sb3Igb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGJsdWUtY29sb3IgIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XHQvLyBCb3JkZXIgY29sb3Igb2YgY29udHJvbHNcbiRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjogICAgICAgICAgJGJsdWUtY29sb3IgIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XHQvLyBDb2xvciBvZiBjbG9zZSBidXR0b24gd2hlbiBpbnNpZGVcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjogICAgICAgICAgICAgJGJsdWUtY29sb3IgIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XHQvLyBDb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICRibHVlLWNvbG9yICFkZWZhdWx0O1x0XHRcdFx0XHRcdFx0Ly8gSG92ZXIgY29sb3Igb2YgcHJlbG9hZGVyIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvclxuXG4vLyBJZnJhbWUtdHlwZSBvcHRpb25zXG4kbWZwLWluY2x1ZGUtaWZyYW1lLXR5cGU6ICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XHRcdC8vIEVuYWJsZSBJZnJhbWUtdHlwZSBwb3B1cHNcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcdFx0Ly8gSWZyYW1lIHBhZGRpbmcgdG9wXG4kbWZwLWlmcmFtZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XHRcdC8vIEJhY2tncm91bmQgY29sb3Igb2YgaWZyYW1lc1xuJG1mcC1pZnJhbWUtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcdFx0Ly8gTWF4aW11bSB3aWR0aCBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1yYXRpbzogICAgICAgICAgICAgICAgICAgIDkvMTYgIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XHRcdC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcdFx0Ly8gRW5hYmxlIEltYWdlLXR5cGUgcG9wdXBzXG4kbWZwLWltYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbWZwLWltYWdlLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XHRcdC8vIEltYWdlIHBhZGRpbmcgdG9wXG4kbWZwLWltYWdlLXBhZGRpbmctYm90dG9tOiAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XHRcdC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWUgIWRlZmF1bHQ7XHRcdFx0XHRcdFx0XHRcdC8vIFJlbW92ZXMgcGFkZGluZ3MgZnJvbSB0b3AgYW5kIGJvdHRvbVxuXG4vLyBJbWFnZSBjYXB0aW9uIG9wdGlvbnNcbiRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1x0XHRcdFx0XHRcdFx0XHQvLyBDYXB0aW9uIHRpdGxlIGNvbG9yXG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcdFx0Ly8gQ2FwdGlvbiBzdWJ0aXRsZSBjb2xvclxuXG4vLyBBMTF5XG4kbWZwLXVzZS12aXN1YWxseWhpZGRlbjogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1x0XHRcdFx0XHRcdFx0XHQvLyBIaWRlIGNvbnRlbnQgZnJvbSBicm93c2VycywgYnV0IG1ha2UgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuIiwiLy8gTWFnbmlmaWMgUG9wdXAgLSBDdXN0b20gU3R5bGVzXG5cblxuLm1mcC1iZyB7XG5cdG1pbi13aWR0aDogcmVtLWNhbGMoMzIwKTtcbn1cblxuLm1mcC1jb250ZW50IHtcblx0bWluLXdpZHRoOiByZW0tY2FsYygyOTApO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuLy8gQm90dG9tIGJhclxuLm1mcC1ib3R0b20tYmFyIHtcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuXG5cdC5tZnAtdGl0bGUge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHQudGl0bGUge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXG5cdFx0c21hbGwge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBDbG9zZSBidXR0b25cbi5tZnAtY2xvc2Uge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luOiAwIDAgMCByZW0tY2FsYygtMjUpO1xuXHRwYWRkaW5nOiAwO1xuXHR3aWR0aDogcmVtLWNhbGMoNTApICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogcmVtLWNhbGMoNTApO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0bGVmdDogMDtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCk7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1jb2xvcjtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIExlZnQgYW5kIFJpZ2h0IEFycm93c1xuXG4vLyBcdC5tZnAtYXJyb3ctbGVmdCxcbi8vIFx0Lm1mcC1hcnJvdy1yaWdodCB7XG5cbi8vIFx0XHQmOmFmdGVyLFxuLy8gXHRcdCY6YmVmb3JlIHtcbi8vIFx0XHRcdGRpc3BsYXk6IG5vbmU7XG4vLyBcdFx0XHRib3JkZXI6IDA7XG4vLyBcdFx0XHRtYXJnaW46IDA7XG4vLyBcdFx0fVxuXG4vLyBcdFx0Lmljb24ge1xuLy8gXHRcdGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuLy8gXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy8gXHRcdFx0ZGlzcGxheTogYmxvY2s7XG4vLyBcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDUwKTtcbi8vIFx0XHRcdHdpZHRoOiByZW0tY2FsYyg5MCk7XG4vLyBcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDExMCk7XG4vLyBcdFx0XHRjb2xvcjogJGJsdWUtY29sb3I7XG4vLyBcdFx0fVxuXG4vLyBcdFx0Jjpob3ZlciB7XG4vLyBcdFx0XHQuaWNvbiB7XG4vLyBcdFx0XHRcdGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0fVxuXG5cbi8vIEN1cnNvcnNcbi5tZnAtem9vbS1vdXQtY3VyIHtcbiAgJiwgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG5cdGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4ubWZwLXpvb20ge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuXG5cbiIsIi8vIFRZUE9HUkFQSFlcblxuXG4uaDEge1xuXHRAaW5jbHVkZSB0ZXh0LWgxO1xufVxuXG4uaDIge1xuXHRAaW5jbHVkZSB0ZXh0LWgyO1xufVxuXG4uaDMge1xuXHRAaW5jbHVkZSB0ZXh0LWgzO1xufVxuXG4uaDQge1xuXHRAaW5jbHVkZSB0ZXh0LWg0O1xufVxuXG4uaDUge1xuXHRAaW5jbHVkZSB0ZXh0LWg1O1xufVxuXG4uaDYge1xuXHRAaW5jbHVkZSB0ZXh0LWg2O1xufVxuXG5cbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSxcbi5oNiB7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi50aXRsZSB7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cblx0YSAmIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0fVxufVxuXG4udGV4dC1ibGFjayB7XG5cdGNvbG9yOiAkYmxhY2s7XG59XG5cbi50ZXh0LWJsdWUge1xuXHRjb2xvcjogJGJsdWUtY29sb3I7XG59XG5cbi50ZXh0LXJlZCB7XG5cdGNvbG9yOiAkcmVkLWNvbG9yO1xufVxuXG4iLCIvLyBNSVhJTlNcbi8vIFthdHRePXZhbF0g4oCTIHRoZSDigJxiZWdpbnMgd2l0aOKAnSBzZWxlY3RvclxuLy8gW2F0dCQ9dmFsXSDigJMgdGhlIOKAnGVuZHMgd2l0aOKAnSBzZWxlY3RvclxuLy8gW2F0dCo9dmFsXSDigJMgdGhlIOKAnGNvbnRhaW5z4oCdIHNlbGVjdG9yXG5cblxuLy8gT3BhY2l0eVxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcblx0LW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT1cIiArICRvcGFjaXR5KjEwMCArIFwiKVwiO1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSAkb3BhY2l0eSoxMDApO1xuXHQtbW96LW9wYWNpdHk6ICRvcGFjaXR5O1xuXHQta2h0bWwtb3BhY2l0eTogJG9wYWNpdHk7XG5cdG9wYWNpdHk6ICRvcGFjaXR5O1xufVxuXG5cbi8vIEdlbmVyaWMgVHJhbnNmb3JtXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG5cdC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcblx0LW8tdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcblx0LW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcblx0dHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuLy8gcm90YXRlXG5AbWl4aW4gcm90YXRlICgkZGVnKSB7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xufVxuXG4vLyBzY2FsZVxuQG1peGluIHNjYWxlICgkc2NhbGUpIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xufSBcblxuLy8gdHJhbnNsYXRlXG5AbWl4aW4gdHJhbnNsYXRlICgkeCwgJHkpIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbn1cblxuLy8gc2tld1xuQG1peGluIHNrZXcgKCR4LCAkeSkge1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygjeyR4fWRlZywgI3skeX1kZWcpKTtcbn1cblxuLy90cmFuc2Zvcm0gb3JpZ2luXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbiAoJG9yaWdpbikge1xuXHQtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG5cdC1vLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG5cdC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG5cdHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvblxuQG1peGluIHRyYW5zaXRpb24oJHRpbWUpIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBBbGwgJHRpbWUgZWFzZTtcblx0LW1vei10cmFuc2l0aW9uOiBBbGwgJHRpbWUgZWFzZTtcblx0LW8tdHJhbnNpdGlvbjogQWxsICR0aW1lIGVhc2U7XG5cdHRyYW5zaXRpb246IEFsbCAkdGltZSBlYXNlO1xufVxuXG5cbi8vIEJvcmRlciByYWRpdXNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXHQtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG5cdC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG5cdC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogJHJhZGl1cztcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcblx0LXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuXHQtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogJHJhZGl1cztcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcblx0LXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcblx0LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiAkcmFkaXVzO1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuXHQtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG5cdC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiAkcmFkaXVzO1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5cbi8vIEFzcGVjdCByYXRpb1xuQG1peGluIHJhdGlvKCkge1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1x0XG59XG5cbi8vKiogQ3VhZHJhZG9cbkBtaXhpbiByYXRpbzEtMSgpIHtcblx0QGluY2x1ZGUgcmF0aW87XG5cdHBhZGRpbmc6MCAwIDEwMCUgMDtcbn1cblxuLy8qKiBSZWN0YW5ndWxvIDJ4MSBWZXJ0aWNhbFxuQG1peGluIHJhdGlvMS0yKCkge1xuXHRAaW5jbHVkZSByYXRpbztcblx0cGFkZGluZzowIDAgMjAwJSAwO1xufVxuXG4vLyoqIFJlY3Rhbmd1bG8gMngxIGhvcml6b250YWxcbkBtaXhpbiByYXRpbzItMSgpIHtcblx0QGluY2x1ZGUgcmF0aW87XG5cdHBhZGRpbmc6MCAwIDUwJSAwO1xufVxuXG5AbWl4aW4gcmF0aW8yLTMoKSB7XG5cdEBpbmNsdWRlIHJhdGlvO1xuXHRwYWRkaW5nOjAgMCAxNTAlIDA7XG59XG5cbi8vKiogUmVjdGFuZ3VsbyAyeDEgVmVydGljYWxcbkBtaXhpbiByYXRpbzMtMigpIHtcblx0QGluY2x1ZGUgcmF0aW87XG5cdHBhZGRpbmc6MCAwIDY2LjY2NjYlIDA7XG59XG5cbkBtaXhpbiByYXRpbzQtMygpIHtcblx0QGluY2x1ZGUgcmF0aW87XG5cdHBhZGRpbmc6MCAwIDc1JSAwO1xufVxuXG5AbWl4aW4gcmF0aW81LTIoKSB7XG5cdEBpbmNsdWRlIHJhdGlvO1xuXHRwYWRkaW5nOjAgMCA0MCUgMDtcbn1cblxuQG1peGluIHJhdGlvOS0xNigpIHtcblx0QGluY2x1ZGUgcmF0aW87XG5cdHBhZGRpbmc6MCAwIDE3Ny43NzclIDA7XG59XG5cbkBtaXhpbiByYXRpbzE2LTcoKSB7XG5cdEBpbmNsdWRlIHJhdGlvO1xuXHRwYWRkaW5nOjAgMCA0My43NSUgMDtcbn1cblxuQG1peGluIHJhdGlvMTYtOSgpIHtcblx0QGluY2x1ZGUgcmF0aW87XG5cdHBhZGRpbmc6MCAwIDU2LjI1JSAwO1xufVxuXG5AbWl4aW4gcmF0aW8yMy04KCkge1xuXHRAaW5jbHVkZSByYXRpbztcblx0cGFkZGluZzowIDAgMzQuNzgyJSAwO1xufVxuXG4vLyoqIEZyZWUgQXNwZWN0IHJhdGlvXG5AbWl4aW4gcmF0aW8tcmVzZXQoKSB7XG5cdGRpc3BsYXk6IGluaGVyaXQ7XG5cdGhlaWdodDogaW5oZXJpdDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdHBhZGRpbmc6IGluaGVyaXQ7XG59XG5cblxuLy8gUG9zaWNpb25cbkBtaXhpbiBmbG9hdExlZnQoKSB7IGZsb2F0OmxlZnQ7IH1cbkBtaXhpbiBmbG9hdFJpZ2h0KCkgeyBmbG9hdDpyaWdodDsgfVxuQG1peGluIGFic0xlZnQoKSB7IGxlZnQ6MDsgfVxuQG1peGluIGFic1JpZ2h0KCkgeyByaWdodDowOyB9XG5cblxuXG4vLyBDaGFuZ2UgYm94IG1vZGVsXG5AbWl4aW4gYm94LXNpemluZygpIHtcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHQtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nLXJlc2V0KCkge1xuXHQtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHQtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuXG4vLyBBZGp1c3QgXCJpbmxpbmUtYmxvY2tcIiBkaXNwbGF5IHByb3BlcnR5XG5AbWl4aW4gaW5saW5lLWJsb2NrKCkge1xuXHRkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR6b29tOiAxO1xuXHQqZGlzcGxheTogaW5saW5lO1xufVxuXG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1sYXJnZSgpIHtcblx0d2lkdGg6IDEzOHB4O1xuXHRoZWlnaHQ6IDEzOHB4O1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDcwcHgpO1xufVxuXG5AbWl4aW4gYnV0dG9uLXNtYWxsKCkge1xuXHR3aWR0aDogODhweDtcblx0aGVpZ2h0OiA4OHB4O1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDQ1cHgpO1xuXHRAaW5jbHVkZSB0ZXh0LXNtYWxsO1x0XG59XG5cblxuLy8gQm94LXNoYWRvd1xuQG1peGluIGJveC1zaGFkb3coJHNpemUpIHtcblx0LW1vei1ib3gtc2hhZG93OiAwICRzaXplLzIgJHNpemUgcmdiYSgwLDAsMCwuNCk7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMCAkc2l6ZS8yICRzaXplIHJnYmEoMCwwLDAsLjQpO1xuXHRib3gtc2hhZG93OiAwICRzaXplLzIgJHNpemUgcmdiYSgwLDAsMCwuNCk7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93LWZ1bGwoJHgsICR5LCAkc2l6ZSwgJGNvbG9yLCAkdHJhbnNwKSB7XG5cdC1tb3otYm94LXNoYWRvdzogJHggJHkgJHNpemUgcmdiYSgkY29sb3IsJHRyYW5zcCk7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogJHggJHkgJHNpemUgcmdiYSgkY29sb3IsJHRyYW5zcCk7XG5cdGJveC1zaGFkb3c6ICR4ICR5ICRzaXplIHJnYmEoJGNvbG9yLCR0cmFuc3ApO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdy1yZXNldCgpIHtcblx0LW1vei1ib3gtc2hhZG93OiBub25lO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLy8gVGV4dCBzaGFkb3dcbkBtaXhpbiB0ZXh0LXNoYWRvdygpIHsgdGV4dC1zaGFkb3c6IDAgMCAuMmVtICRibGFjazsgfVxuXG5AbWl4aW4gdGV4dC1zaGFkb3ctaGkoKSB7IHRleHQtc2hhZG93OiAwIDAgLjJlbSAkZGFyay1ncmF5OyB9XG5cbkBtaXhpbiB0ZXh0LXNoYWRvdy1tZWQoKSB7IHRleHQtc2hhZG93OiAwIDAgLjJlbSAkbWVkaXVtLWdyYXk7IH1cblxuQG1peGluIHRleHQtc2hhZG93LWxvdygpIHsgdGV4dC1zaGFkb3c6IDAgMCAuMmVtICRsaWdodC1ncmF5OyB9XG5cbkBtaXhpbiB0ZXh0LXNoYWRvdy1jcmlzcCgpIHsgdGV4dC1zaGFkb3c6IDAgMCA0cHggJGJsYWNrOyB9XG5cbkBtaXhpbiB0ZXh0LXNoYWRvdy1yZXNldCgpIHsgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuQG1peGluIHRleHQtc2hhZG93LWZ1bGwoJHgsICR5LCAkc2l6ZSwgJGNvbG9yKSB7XG5cdHRleHQtc2hhZG93OiAkeCAkeSAkc2l6ZSAkY29sb3I7XG59XG5cblxuLy8gVGh1bWJuYWlsc1xuQG1peGluIHRodW0oKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMDtcblx0Ym9yZGVyOiAwIG5vbmU7XG59XG5cbkBtaXhpbiB0aHVtLWZ1bGwoKSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG5cblxuLy8gTm9uIHNlbGVjdGFibGVcbkBtaXhpbiBub24tc2VsZWN0YWJsZSgpIHtcblx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cblxuLy8gVHlwb2dyYXBoeVxuQG1peGluIHRleHQtaDEoKSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xuXHR9XG59XG5cbkBtaXhpbiB0ZXh0LWgyKCkge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcblx0fVxufVxuXG5AbWl4aW4gdGV4dC1oMygpIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOSk7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMSk7XG5cdH1cbn1cblxuQG1peGluIHRleHQtaDQoKSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuXHR9XG59XG5cbkBtaXhpbiB0ZXh0LWg1KCkge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0fVxufVxuXG5AbWl4aW4gdGV4dC1oNigpIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdH1cbn1cblxuXG4iLCIvLyBPRkYtQ0FOVkFTXG5cblxuLmhlYWRlci1tZW51IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChyZW0tY2FsYygxMDgwKSkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0cmlnaHQ6ICRncmlkLWNvbHVtbi1ndXR0ZXIgIWltcG9ydGFudDtcblx0XHR0b3A6IDAgIWltcG9ydGFudDtcblx0XHR6LWluZGV4OiAxMDAgIWltcG9ydGFudDtcblx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi5vZmYtY2FudmFzIHtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuXHRAaW5jbHVkZSBib3gtc2hhZG93LXJlc2V0O1xufVxuXG5cblxuXG5cblxuIiwiLy8gUEFHRSBCQUNLR1JPVU5EXG5cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG59XG5cbi5wcm9kdWN0cyxcbi5zZXJ2aWNlcyB7XG5cdC5vZmYtY2FudmFzLWNvbnRlbnQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0ZXItY29sb3I7XG5cdH1cbn1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG5cdC5hYm91dCAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Fib3V0LWJrZy1zbS5qcGcpO1xuXHR9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdC5vZmYtY2FudmFzLWNvbnRlbnQge1xuXHRcdC5wcm9kdWN0cyAmIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcHJvZHVjdHMtYmtnLWxnLnBuZyk7XG5cdFx0fVxuXG5cdFx0LnNlcnZpY2VzICYge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZXJ2aWNlcy1ia2ctbGcucG5nKTtcblx0XHR9XG5cblx0XHQuYWJvdXQgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Fib3V0LWJrZy1tZC5qcGcpO1xuXHRcdH1cblxuXHRcdC5zZWxsICYge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZWxsLWJrZy1tZC5qcGcpO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBhdXRvIDU1MHB4O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblx0XHR9XG5cblx0XHQuY29udGFjdCAmIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY29udGFjdC1ia2ctbWQuanBnKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogYXV0bztcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuXHRcdH1cblx0fVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdC5vZmYtY2FudmFzLWNvbnRlbnQge1xuXHRcdC5hYm91dCAmIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYWJvdXQtYmtnLWxnLmpwZyk7XG5cdFx0fVxuXG5cdFx0LmZpbmFuY2luZyAmIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZmluYW5jaW5nLWJrZy1sZy5qcGcpO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBhdXRvIDU1MHB4O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xuXHRcdH1cblxuXHRcdC5zZWxsICYge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZWxsLWJrZy1sZy5qcGcpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblx0XHR9XG5cblx0XHQucXVvdGUgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3F1b3RlLWJrZy1sZy5qcGcpO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBhdXRvIDMyMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xuXHRcdH1cblxuXHRcdC5wYXJ0cyAmIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcGFydHMtYmtnLWxnLmpwZyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNDAwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG5cdFx0fVxuXG5cdFx0LmNvbnRhY3QgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2NvbnRhY3QtYmtnLWxnLmpwZyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuXHRcdH1cblx0fVxufVxuIiwiLy8gU1BBQ0VSXG5cblxuLnNwYWNlciB7XG5cdCYtdG9wIHtcblx0XHQmLXNtYWxsZXIgXHR7IHBhZGRpbmctdG9wOiAkc3BhY2VyLXNtYWxsZXI7IH1cblx0XHQmLXNtYWxsIFx0eyBwYWRkaW5nLXRvcDogJHNwYWNlci1zbWFsbDsgfVxuXHRcdCYtbm9ybWFsIFx0eyBwYWRkaW5nLXRvcDogJHNwYWNlci1ub3JtYWw7IH1cblx0XHQmLWxhcmdlIFx0eyBwYWRkaW5nLXRvcDogJHNwYWNlci1sYXJnZTsgfVxuXHRcdCYtbGFyZ2VyIFx0eyBwYWRkaW5nLXRvcDogJHNwYWNlci1sYXJnZXI7IH1cblx0fVxuXG5cdCYtcmlnaHQge1xuXHRcdCYtc21hbGxlciBcdHsgcGFkZGluZy1yaWdodDogJHNwYWNlci1zbWFsbGVyOyB9XG5cdFx0Ji1zbWFsbCBcdHsgcGFkZGluZy1yaWdodDogJHNwYWNlci1zbWFsbDsgfVxuXHRcdCYtbm9ybWFsIFx0eyBwYWRkaW5nLXJpZ2h0OiAkc3BhY2VyLW5vcm1hbDsgfVxuXHRcdCYtbGFyZ2UgXHR7IHBhZGRpbmctcmlnaHQ6ICRzcGFjZXItbGFyZ2U7IH1cblx0XHQmLWxhcmdlciBcdHsgcGFkZGluZy1yaWdodDogJHNwYWNlci1sYXJnZXI7IH1cblx0fVxuXG5cdCYtYm90dG9tIHtcblx0XHQmLXNtYWxsZXIgXHR7IHBhZGRpbmctYm90dG9tOiAkc3BhY2VyLXNtYWxsZXI7IH1cblx0XHQmLXNtYWxsIFx0eyBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1zbWFsbDsgfVxuXHRcdCYtbm9ybWFsIFx0eyBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1ub3JtYWw7IH1cblx0XHQmLWxhcmdlIFx0eyBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1sYXJnZTsgfVxuXHRcdCYtbGFyZ2VyIFx0eyBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1sYXJnZXI7IH1cblx0fVxuXG5cdCYtbGVmdCB7XG5cdFx0Ji1zbWFsbGVyIFx0eyBwYWRkaW5nLWxlZnQ6ICRzcGFjZXItc21hbGxlcjsgfVxuXHRcdCYtc21hbGwgXHR7IHBhZGRpbmctbGVmdDogJHNwYWNlci1zbWFsbDsgfVxuXHRcdCYtbm9ybWFsIFx0eyBwYWRkaW5nLWxlZnQ6ICRzcGFjZXItbm9ybWFsOyB9XG5cdFx0Ji1sYXJnZSBcdHsgcGFkZGluZy1sZWZ0OiAkc3BhY2VyLWxhcmdlOyB9XG5cdFx0Ji1sYXJnZXIgXHR7IHBhZGRpbmctbGVmdDogJHNwYWNlci1sYXJnZXI7IH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Ji10b3Age1xuXHRcdFx0Ji1zbWFsbGVyIFx0eyBwYWRkaW5nLXRvcDogJHNwYWNlci1zbWFsbGVyICogMS41OyB9XG5cdFx0XHQmLXNtYWxsIFx0eyBwYWRkaW5nLXRvcDogJHNwYWNlci1zbWFsbCAqIDI7IH1cblx0XHRcdCYtbm9ybWFsIFx0eyBwYWRkaW5nLXRvcDogJHNwYWNlci1ub3JtYWwgKiAyOyB9XG5cdFx0XHQmLWxhcmdlIFx0eyBwYWRkaW5nLXRvcDogJHNwYWNlci1sYXJnZSAqIDI7IH1cblx0XHRcdCYtbGFyZ2VyIFx0eyBwYWRkaW5nLXRvcDogJHNwYWNlci1sYXJnZXIgKiAyOyB9XG5cdFx0fVxuXG5cdFx0Ji1yaWdodCB7XG5cdFx0XHQmLXNtYWxsZXIgXHR7IHBhZGRpbmctcmlnaHQ6ICRzcGFjZXItc21hbGxlciAqIDEuNTsgfVxuXHRcdFx0Ji1zbWFsbCBcdHsgcGFkZGluZy1yaWdodDogJHNwYWNlci1zbWFsbCAqIDI7IH1cblx0XHRcdCYtbm9ybWFsIFx0eyBwYWRkaW5nLXJpZ2h0OiAkc3BhY2VyLW5vcm1hbCAqIDI7IH1cblx0XHRcdCYtbGFyZ2UgXHR7IHBhZGRpbmctcmlnaHQ6ICRzcGFjZXItbGFyZ2UgKiAyOyB9XG5cdFx0XHQmLWxhcmdlciBcdHsgcGFkZGluZy1yaWdodDogJHNwYWNlci1sYXJnZXIgKiAyOyB9XG5cdFx0fVxuXG5cdFx0Ji1ib3R0b20ge1xuXHRcdFx0Ji1zbWFsbGVyIFx0eyBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1zbWFsbGVyICogMS41OyB9XG5cdFx0XHQmLXNtYWxsIFx0eyBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1zbWFsbCAqIDI7IH1cblx0XHRcdCYtbm9ybWFsIFx0eyBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1ub3JtYWwgKiAyOyB9XG5cdFx0XHQmLWxhcmdlIFx0eyBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1sYXJnZSAqIDI7IH1cblx0XHRcdCYtbGFyZ2VyIFx0eyBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1sYXJnZXIgKiAyOyB9XG5cdFx0fVxuXG5cdFx0Ji1sZWZ0IHtcblx0XHRcdCYtc21hbGxlciBcdHsgcGFkZGluZy1sZWZ0OiAkc3BhY2VyLXNtYWxsZXIgKiAxLjU7IH1cblx0XHRcdCYtc21hbGwgXHR7IHBhZGRpbmctbGVmdDogJHNwYWNlci1zbWFsbCAqIDI7IH1cblx0XHRcdCYtbm9ybWFsIFx0eyBwYWRkaW5nLWxlZnQ6ICRzcGFjZXItbm9ybWFsICogMjsgfVxuXHRcdFx0Ji1sYXJnZSBcdHsgcGFkZGluZy1sZWZ0OiAkc3BhY2VyLWxhcmdlICogMjsgfVxuXHRcdFx0Ji1sYXJnZXIgXHR7IHBhZGRpbmctbGVmdDogJHNwYWNlci1sYXJnZXIgKiAyOyB9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi8vIEJPRFlcblxuXG5ib2R5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYmx1ZS1saWdodGVyLWNvbG9yLCAxMCUpO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdG1pbi13aWR0aDogcmVtLWNhbGMoMzIwKTtcblxuXHQmLm5vLXNjcm9sbCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cbn0iLCIvLyBXUkFQUEVSXG5cblxuLndyYXBwZXIge1xuXHRtYXgtd2lkdGg6IHJlbS1jYWxjKDE2MDApO1xuXHRtYXJnaW46IDAgYXV0bztcbn1cbiIsIi8vIEdFTkVSQUwgU1RZTEVTXG5cblxuLy8gQmtnIGltYWdlc1xuW2RhdGEtYmtnXSxcbltia2dtdWx0aV0ge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cblxuLy8gQmtnIGNvbG9yXG4uYmtnLWJsdWUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1jb2xvcjtcbn1cblxuLmJrZy1ibHVlLWxpZ2h0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodGVyLWNvbG9yO1xufVxuXG4uYmtnLXJlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRyZWQtY29sb3I7XG59XG5cbi5ia2ctd2hpdGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG5cblxuLy8gVHJhbnNmb3JtYWNpb25lc1xuLnRyYW5zaXRpb24geyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpOyB9XG5cbi5vcGFjaXR5IFx0eyBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG5cbmEub3BhY2l0eSB7XG5cdCY6aG92ZXIgeyBAaW5jbHVkZSBvcGFjaXR5KC41KTsgfVxufVxuXG4uc2NhbGUge1xuXHRAaW5jbHVkZSBzY2FsZSgxKTtcblxuXHQmOmhvdmVyIHtcblx0XHRAaW5jbHVkZSBzY2FsZSgxLjIpO1xuXHR9XG59XG5cblxuLy8gTGlzdCBcbi5hbHBoYSB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IFxufVxuXG5cbi8vIEVsaW1pbmFyIGFwYXJpZW5jaWEgZGVmaW5pZGEgcG9yIGVsIG5hdmVnYWRvciBlbiBmb3JtdWxhcmlvc1xuaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbmlucHV0W3R5cGU9Y2hlY2tib3hdIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBjaGVja2JveDsgfVxuaW5wdXRbdHlwZT1yYWRpb10geyAtd2Via2l0LWFwcGVhcmFuY2U6IHJhZGlvOyB9XG5cblxuLy8gVGV4dHNcbi5zZWN0aW9uLXRpdGxlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogJGJsYWNrO1xufVxuXG4vLyBMaW5rc1xuKiB7IG91dGxpbmU6IDAgbm9uZSAhaW1wb3J0YW50OyB9XG5cblxuLy8gU0dWIFRyaWFuZ2xlIENvbnRhaW5lclxuLnN2ZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuIiwiLy8gQlVUVE9OU1xuXG5cbi5idXR0b24ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDI1cHgpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdCYud2hpdGUtcmVkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0Y29sb3I6ICRyZWQtY29sb3I7XG5cdH1cblxuXHQmLndoaXRlLWJsdWUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRjb2xvcjogJGJsdWUtY29sb3I7XG5cblx0XHQubWVmLXBkZiB7XG5cdFx0XHRjb2xvcjogJHJlZC1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHQmLmxpZ2h0LWJsdWUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0LWNvbG9yO1xuXHRcdGNvbG9yOiAkYmx1ZS1jb2xvcjtcblx0fVxuXG5cdCYubGlnaHRlci1ibHVlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodGVyLWNvbG9yO1xuXHRcdGNvbG9yOiAkYmx1ZS1jb2xvcjtcblx0fVxuXG5cdC5pY29uIHtcblx0XHRjb2xvcjogJHJlZC1jb2xvcjtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbi10b3A6IC0uMmVtO1xuXHRcdH1cblx0fVxufVxuXG4uYnV0dG9uLWdyb3VwIHtcblx0LmJ1dHRvbiB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygyNXB4KTtcblx0XHRcdEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMjVweCk7XG5cdFx0fVxuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDI1cHgpO1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoMjVweCk7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQWRkdGhpc1xuXG4uYWRkdGhpcyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IHJlbS1jYWxjKDMyKTtcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcblx0bWFyZ2luLWJvdHRvbTogJHNwYWNlci1ub3JtYWw7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cblx0XHQubGl0ZXJhbCB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcblx0XHR9XG5cblx0XHQuYWRkdGhpc19zaGFyaW5nX3Rvb2xib3gge1xuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0LmF0LXNoYXJlLXRieC1lbGVtZW50IC5hdC1zaGFyZS1idG4ge1xuXHRcdG1hcmdpbjogMCAuNWVtO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0bWFyZ2luOiAxZW0gMCAwIC41ZW07XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cblxuXG5cbiIsIi8vIElURU0gQkxPQ0tcblxuXG5cbi5pdGVtLWJsb2NrIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRtYXJnaW4tYm90dG9tOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRAaW5jbHVkZSBib3gtc2hhZG93KDRweCk7XG5cblx0LnNsaWNrLXNsaWRlciAmIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0LnRodW0ge1xuXHRcdEBpbmNsdWRlIHJhdGlvMjMtODtcblx0fVxuXG5cdC5pbmZvIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTUpO1xuXHR9XG5cblx0Lmljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMik7IC8vIDVcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTsgLy8gNDRcblx0XHRjb2xvcjogJGJsYWNrO1xuXHR9XG5cblx0LnRpdGxlLFxuXHQuZGVzYyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdC50aXRsZSB7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDUwKTsgXG5cdFx0cGFkZGluZy1yaWdodDogMWVtO1xuXHR9XG5cblx0LmRlc2Mge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYygyNSk7XG5cdH1cbn1cblxuIiwiLy8gRkVBVFVSRSBQUk9EVUNUU1xuXG5cbi50YWJzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogMDtcblxuXHQudGFicy10aXRsZSB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogNTAlO1xuXHRcdFxuXHRcdGEge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtY29sb3I7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgdGV4dC1oNTtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRibHVlLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTUlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRtaW4td2lkdGg6IHJlbS1jYWxjKDE4MCk7XG5cdFx0fVxuXG5cdFx0Ji5pcy1hY3RpdmUgYSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodGVyLWNvbG9yO1xuXHRcdFx0Y29sb3I6ICRibHVlLWNvbG9yO1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHRlci1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vLyBUYWJzIENvbnRlbnRcbi50YWJzLWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAwO1xufVxuXG5cblxuXG5cblxuXG5cblxuIiwiLy8gREVGQVVMVCBMSVNUXG5cblxuLmRlZmF1bHQtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblxuXHQudGh1bS1zbWFsbCB7XG5cdFx0d2lkdGg6IHJlbS1jYWxjKDgwKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cdH1cblxuXHQuaW5mbyB7XG5cdFx0bWluLWhlaWdodDogcmVtLWNhbGMoODApO1xuXG5cdFx0LnRpdGxlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHQmLmRlc2Mge1xuXHRcdFx0XHRjb2xvcjogJGRhcmstZ3JheTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4udGFibGUtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogdGFibGU7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cblx0bGkge1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0cGFkZGluZzogMCByZW0tY2FsYygxNSk7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRib3JkZXItbGVmdDogNHB4IHNvbGlkICRibHVlLWxpZ2h0ZXItY29sb3I7XG5cdH1cbn1cblxuLnRhYmxlLWxpc3QtLTIge1xuXHRsaSB7XG5cdFx0d2lkdGg6IDUwJTtcblx0fVxufVxuXG4udGFibGUtbGlzdC0tMyB7XG5cdGxpIHtcblx0XHR3aWR0aDogMzMuMzMzJTtcblx0fVxufVxuXG4udGFibGUtbGlzdC0tNCB7XG5cdGxpIHtcblx0XHR3aWR0aDogMjUlO1xuXHR9XG59XG5cbi50YWJsZS1saXN0LS01IHtcblx0bGkge1xuXHRcdHdpZHRoOiAyMCU7XG5cdH1cbn1cblxuLnRhYmxlLWxpc3QtLTYge1xuXHRsaSB7XG5cdFx0d2lkdGg6IDE2LjY2NiU7XG5cdH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCg4MDBweCBkb3duKSB7XG5cdC50YWJsZS1saXN0IHtcblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0fVxuXHR9XG5cblx0LnRhYmxlLWxpc3QtLTQsXG5cdC50YWJsZS1saXN0LS01LFxuXHQudGFibGUtbGlzdC0tNiB7XG5cdFx0bGkge1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHR9XG5cdH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCg0ODBweCBkb3duKSB7XG5cdC50YWJsZS1saXN0LS0yLFxuXHQudGFibGUtbGlzdC0tMyxcblx0LnRhYmxlLWxpc3QtLTQsXG5cdC50YWJsZS1saXN0LS01LFxuXHQudGFibGUtbGlzdC0tNiB7XG5cdFx0bGkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cblxuXG5cbiIsIi8vIFRIVU1CTkFMU1xuXG5cbi50aHVtLXNtYWxsIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzMCUpO1xuXG5cdC5pbm5lciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0QGluY2x1ZGUgcmF0aW8xLTE7XG5cdH1cbn1cblxuLm1lZGlhLW9iamVjdCB7XG5cdC50aHVtIHtcblx0XHRtYXJnaW4tdG9wOiA2cHg7XG5cdFx0d2lkdGg6IDk1cHg7XG5cdFx0Ym9yZGVyOiAxcHggJG1lZGl1bS1ncmF5IHNvbGlkO1xuXG5cdFx0LmlubmVyIHtcblx0XHRcdEBpbmNsdWRlIHJhdGlvMS0xO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59IiwiLy8gRk9STVNcblxuXG5mb3JtIHtcblx0aW5wdXQge1xuXHRcdCZbdHlwZT1cImJ1dG9uXCJdLFxuXHRcdCZbdHlwZT1cInN1Ym1pdFwiXSxcblx0XHQmW3R5cGU9XCJyZXNldFwiXSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdG1pbi13aWR0aDogcmVtLWNhbGMoMTIwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyBNT0RBTCAoUkVWRUFMKVxuXG5cbi5yZXZlYWwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LmJ1dHRvbiB7XG5cdFx0bWFyZ2luOiAwIDAgMWVtIDA7XG5cdH1cbn1cblxuXG5bZGF0YS1zdWJtaXQ9XCJzdWNjZXNzXCJdIHtcblx0LnJldmVhbCB7XG5cdFx0LmNvbnRlbnQtc3VjY2VzcyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHQuY29udGVudC1lcnJvciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5cbltkYXRhLXN1Ym1pdD1cImVycm9yXCJdIHtcblx0LnJldmVhbCB7XG5cdFx0LmNvbnRlbnQtc3VjY2VzcyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5jb250ZW50LWVycm9yIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxufSIsIi8vIFRJVExFIEJBUlxuXG5cbi50aXRsZS1iYXIge1xuXHRoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtY29sb3I7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYygxMDApO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggJGJsdWUtbGlnaHRlci1jb2xvciBzb2xpZDtcblx0fVxufVxuIiwiLy8gSEVBREVSIExPR09cblxuXG4uaGVhZGVyLWxvZ28ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHRvcDogMDtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdHotaW5kZXg6IDEyMDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IHJlbS1jYWxjKDIwKTtcblx0fVxuXG5cdC5pY29uIHtcblx0XHRtYXJnaW46IHJlbS1jYWxjKDE3KSAwIDAgMDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDExMCk7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHR9XG5cblx0Lm1lZi1tZWYtZnVsbCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQubWVmLW1lZi1mdWxsLWNvbG9yIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChyZW0tY2FsYygxMDgwKSkge1xuXHRcdC5pY29uIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xuXHRcdH1cblxuXHRcdC5pY29uIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAuNDVlbTtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYwKTtcblx0XHR9XG5cblx0XHQvLyAuaWNvbi1vbmx5IHtcblx0XHQvLyBcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0Ly8gXHRmb250LXNpemU6IHJlbS1jYWxjKDcwKTtcblx0XHQvLyB9XG5cblx0XHQubWVmLW1lZi1mdWxsIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Lm1lZi1tZWYtZnVsbC1jb2xvciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cbn1cbiIsIi8vIE1FTlUgVE9HR0xFIEJVVFRPTlxuXG5cbi5tZW51LXRvZ2dsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XG5cdHdpZHRoOiByZW0tY2FsYyg1MCk7XG5cdGhlaWdodDogcmVtLWNhbGMoNTApO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oLjRzKTtcblx0ei1pbmRleDogOTAwMTtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGFsZXJ0LWNvbG9yLCAxNSUpO1xuXHR9XG5cdC5pY29uIHtcblx0XHRmb250LXNpemU6IDJlbTtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5cblxuIiwiLy8gSEFERVIgTUVOVVNcblxuXG4uaGVhZGVyLW1lbnUge1xuXHR1bCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRsaSB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSggJGJsdWUtbGlnaHQtY29sb3IsIC4yNSApO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuXHRcdHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG5cblx0Lm1lbnUtdGl0bGUge1xuXHRcdGJvcmRlcjogMDtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuXHRcdHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6ICRibHVlLWxpZ2h0LWNvbG9yO1xuXHR9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIvLyBNRU5VIE1BSU5cblxuXG4uaGVhZGVyLW1lbnUge1xuXHQubWVudS1tYWluIHtcblx0XHRhIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQocmVtLWNhbGMoMTA4MCkpIHtcblx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApICogLTE7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg5NCk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdHBhZGRpbmc6IDAgcmVtLWNhbGMoMTApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuIiwiLy8gTEFOR1xuXG5cbi5oZWFkZXItbWVudSB7XG5cdC5sYW4ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRjb2xvcjogJGJsdWUtY29sb3I7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0XHRbbGFuZz1cImVuXCJdICYge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEyMik7IFxuXHRcdFx0fVxuXG5cdFx0XHRbbGFuZz1cImVzXCJdICYge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwMik7IFxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdH1cblxuXHRcdC5saXRlcmFsIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXG5cdFx0Lm1lZi1lcyxcblx0XHQubWVmLWVuIHtcblx0XHRcdHdpZHRoOiByZW0tY2FsYygzMik7XG5cdFx0XHRmb250LXNpemU6IDJlbTtcblx0XHRcdG1hcmdpbi1ib3R0b206IC0uMzJlbTtcblxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5sYW4tbGFiZWwge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChyZW0tY2FsYygxMDgwKSkge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogcmVtLWNhbGMoMjUpO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vIEhpZGUgbGFuZ3VhamUgaWNvbnNcbmh0bWwge1xuXHQmW2xhbmc9XCJlblwiXSB7XG5cdFx0Lm1lZi1lbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQubWVmLWVzIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdH1cblxuXHQmW2xhbmc9XCJlc1wiXSB7XG5cdFx0Lm1lZi1lcyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQubWVmLWVuIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdH1cbn1cbiIsIi8vIFNPQ0lBTFxuXG5cblxuLy8gSGVhZGVyIFNvY2lhbCBNZW51XG5cbi5oZWFkZXItbWVudSB7XG5cdC5tZW51LXNvY2lhbCB7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoICRibHVlLWxpZ2h0LWNvbG9yLCAuMjUgKTtcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRcdGxpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0d2lkdGg6IDI1JTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGJvcmRlcjogMDtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMmVtO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQocmVtLWNhbGMoMTA4MCkpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59IiwiLy8gTUVOVSBMRUdBTFxuXG5cbi5oZWFkZXItbWVudSB7XG5cdC5tZW51LWxlZ2FsIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufSIsIi8vIEljb24gTGlua1xuXG5cbi5pY29uLWxpbmsge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogJGJsdWUtbGlnaHQtY29sb3I7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChyZW0tY2FsYygxMDgwKSkge1xuXHRcdG1hcmdpbjogcmVtLWNhbGMoMjQpIHJlbS1jYWxjKDE1KSAwIDA7XG5cdFx0Y29sb3I6ICRibHVlLWNvbG9yO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGFuY2hvci1jb2xvci1ob3Zlcjtcblx0XHR9XG5cdH1cblxuXHQuaWNvbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMyk7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYygzMyk7XG5cdH1cblxuXHQubGFuLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChyZW0tY2FsYygxMDgwKSkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygtMSk7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHR9XG5cdH1cbn0iLCIvLyBQQUdFIEZPT1RFUlxuXG5cbi5wYWdlLWZvb3RlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlLWNvbG9yO1xuXHRwYWRkaW5nLXRvcDogJGdyaWQtY29sdW1uLWd1dHRlcjtcblx0cGFkZGluZy1ib3R0b206ICRncmlkLWNvbHVtbi1ndXR0ZXI7XG5cdGZvbnQtc2l6ZTogJHRleHQtc21hbGw7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRhIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGJsdWUtbGlnaHRlci1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHQuZm9vdGVyLW1lbnUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0LmZvb3Rlci1tZW51LFxuXHRcdC5jb3B5cmlnaHQge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0fVxuXG5cdFx0LmRldmVsb3BlciB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0fVxuXG5cdFx0LmZvb3Rlci1sb2dvLFxuXHRcdC5mb290ZXItbWVudSxcblx0XHQuY29weXJpZ2h0LFxuXHRcdC5kZXZlbG9wZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tbGVmdDogJGdyaWQtY29sdW1uLWd1dHRlciAvIDI7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6ICRncmlkLWNvbHVtbi1ndXR0ZXIgLyAyO1xuXHRcdH1cblx0fVxufSIsIi8vIEZPT1RFUiBMT0dPXG5cblxuLmZvb3Rlci1sb2dvIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXG5cdC5tZWYtbWVmLWZ1bGwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYwKTtcblx0XHRsaW5lLWhlaWdodDogMDtcdFxuXHRcdG1hcmdpbjogLjJlbSAwIC4zZW0gMDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRtYXJnaW46IDNlbSAwIDRlbSAwO1xuXG5cdFx0Lm1lZi1tZWYtZnVsbCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG59IiwiLy8gRk9PVEVSIE1FTlVcblxuXG4uZm9vdGVyLW1lbnUge1xuXHR1bCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW4tcmlnaHQ6ICRncmlkLWNvbHVtbi1ndXR0ZXI7XG5cblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IC41ZW07XG5cdFx0fVxuXG5cdFx0Ji5mb290ZXItbWVudS0tbWFpbiB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi8vIERFVkVMT1BFUlxuXG5cbi5kZXZlbG9wZXIge1xuXHRwYWRkaW5nLXRvcDogMS41ZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRhIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogMWVtO1xuXHR9XG5cblx0Lm1lZi1tdyB7XG5cdFx0Zm9udC1zaXplOiA2ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cbn1cbiIsIi8vIFBBR0UgVElUTEVcblxuXG4ucGFnZS10aXRsZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiByZW0tY2FsYyg1MCk7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogLjJlbTtcblx0bWFyZ2luLWJvdHRvbTogJHNwYWNlci1zbWFsbDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogICRzcGFjZXItbGFyZ2UgKiAxLjU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0cGFkZGluZy1ib3R0b206ICAkc3BhY2VyLWxhcmdlICogMjtcblx0fVxuXHRcblx0aDEge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdGgxLCBoMiwgaDMsIGg0LCB7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0fVxufSIsIi8vIElOVFJPXG5cblxuLmludHJvIHtcblx0cGFkZGluZy10b3A6ICRzcGFjZXItbGFyZ2U7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2VyLWxhcmdlO1xuXG5cdGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdH1cblxuXHRwOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuXG4uc2VsbCB7XG5cdC5pbnRybyB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206ICRzcGFjZXItbGFyZ2U7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1sYXJnZSAqIDI7XG5cdFx0fVxuXHR9XG59XG5cbi5pbmRleCB7XG5cdC5pbnRybyB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0LmxvZ28ge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDFlbTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQuaWNvbiB7XG5cdFx0XHRmb250LXNpemU6IDE1LjZlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAuMzVlbTtcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRcdC5sb2dvIHtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vIEZFQVRVUkUgUFJPRFVDVFNcblxuXG4uZmVhdHVyZS1wcm9kdWN0cyB7XG5cdHBhZGRpbmctdG9wOiAkc3BhY2VyLWxhcmdlO1xuXG5cdC5zZWN0aW9uLXRpdGxlIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG59IiwiLy8gUkVQTEFDRU1FTlQgUEFSVFNcblxuXG4ucmVwbGFjZW1lbnQtcGFydHMge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6ICR3aGl0ZTtcblx0ei1pbmRleDogNDtcblx0cGFkZGluZzogcmVtLWNhbGMoMTApO1xuXG5cdC5yb3cge1xuXHRcdHBhZGRpbmctdG9wOiAkc3BhY2VyLWxhcmdlO1xuXHR9XG5cblx0LnN2ZyB7XG5cdFx0ei1pbmRleDogLTE7XG5cdH1cblxuXHQudHJpYW5nbGUge1xuXHRcdGZpbGw6ICRibHVlLWNvbG9yO1xuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0bWFyZ2luLXRvcDogJHNwYWNlci1zbWFsbDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59IiwiLy8gU0VMIEVRVUlQTUVOVFxuXG5cbi5zZWxsLWVxdWlwbWVudCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQudG9wLFxuXHQuYm90dG9tIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQuc3ZnIHtcblx0XHR6LWluZGV4OiAtMTtcblx0fVxuXG5cdC50b3Age1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQtY29sb3I7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR6LWluZGV4OiAyO1xuXG5cdFx0LnRyaWFuZ2xlIHtcblx0XHRcdGZpbGw6ICRyZWQtY29sb3I7XG5cdFx0fVxuXG5cdFx0aDMge1xuXHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdHBhZGRpbmc6IDklICRzcGFjZXItbm9ybWFsIHJlbS1jYWxjKDEwKSAkc3BhY2VyLW5vcm1hbDtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDclO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5ib3R0b20ge1xuXHRcdHBhZGRpbmc6IDEwJSAwICRzcGFjZXItbm9ybWFsIDA7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZWxsLXlvdXItZXF1aXBtZW50LW1kLmpwZyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmc6IDglIDAgJHNwYWNlci1sYXJnZSAwO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZWxsLXlvdXItZXF1aXBtZW50LWxnLmpwZyk7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6ICR0ZXh0LWxhcmdlO1xuXHRcdFx0cGFkZGluZzogMCAkc3BhY2VyLXNtYWxsO1xuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHR9XG5cblx0XHQuYnV0dG9uIHtcblx0XHRcdG1hcmdpbi10b3A6ICRzcGFjZXItbm9ybWFsO1xuXHRcdH1cblx0fVxufSIsIi8vIEZPTExPVyBVU1xuXG5cbi5mb2xsb3ctdXMge1xuXHRkaXNwbGF5OiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodGVyLWNvbG9yO1xuXHRwYWRkaW5nOiAkc3BhY2VyLW5vcm1hbCoxLjUgMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZzogJHNwYWNlci1sYXJnZSAwO1xuXHR9XG5cblx0aDMge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAkdGV4dC1ub3JtYWw7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6ICRibHVlLWNvbG9yO1xuXG5cdFx0c3BhbiB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygyNCk7XG5cdFx0XHRAaW5jbHVkZSBib3gtc2l6aW5nLXJlc2V0O1xuXHRcdFx0cGFkZGluZzogMCByZW0tY2FsYygyMCk7XG5cdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApICogLTE7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCkgKiAtMTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLWxpZ2h0ZXItY29sb3I7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRtYXJnaW4tdG9wOiAkc3BhY2VyLWxhcmdlICsgMTI7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1jb2xvcjtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0fVxuXHR9XG5cblx0dWwge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDE1KSByZW0tY2FsYygzMCkgMCByZW0tY2FsYygzMCk7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmb250LXNpemU6IDIuNWVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLmluZGV4IHtcblx0LmZvbGxvdy11cyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG5cdFx0aHIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHRoMyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRAaW5jbHVkZSB0ZXh0LWgzO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHR9XG5cblx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dWwge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDcuNSk7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMTUpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHRlci1jb2xvcjtcblx0XHRcdFx0XHRib3JkZXI6IDFweCAkYmx1ZS1saWdodC1jb2xvciBzb2xpZDtcblx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDMwJSk7XG5cblx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyLjVlbTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6ICRncmlkLWNvbHVtbi1ndXR0ZXIgLyAxLjg1O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vIENBTEwgVE9EQVlcblxuXG4uY2FsbC10b2RheSB7XG5cdHBhZGRpbmc6ICRzcGFjZXItbm9ybWFsIDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jYWxsLXVzLmpwZyk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0Y29sb3I6ICR3aGl0ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZzogJHNwYWNlci1sYXJnZSAwO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG5cdH1cblxuXHQucm93IHtcblx0XHQmID4gZGl2IHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGhlaWdodDogYXV0bztcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0aGVpZ2h0OiA4ZW07XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0aGVpZ2h0OiAxMGVtO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuaW5uZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdG1hcmdpbjogYXV0byAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC50ZXh0IHtcblx0XHRcdHBhZGRpbmc6ICRzcGFjZXItbm9ybWFsIDA7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmxvZ28ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMS41ZW07XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3coNHB4KTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdHBhZGRpbmc6IDJlbTtcblx0XHR9XG5cblx0XHRbY2xhc3MqPVwibWVmLVwiXSB7XG5cdFx0XHRAaW5jbHVkZSByYXRpbzEtMTtcblx0XHRcdGZvbnQtc2l6ZTogNWVtO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHAge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwIDAgNXB4IDA7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuXHRcdCYuaDEge1xuXHRcdFx0Zm9udC1zaXplOiAyLjVlbTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzZW07XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzLjg1ZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3coNHB4KTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyLjVlbTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzLjVlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMi41ZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcblx0XHR9XG5cdH1cbn0iLCIvLyBTVEFGRlxuXG5cbi5zdGFmZiB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdC8vcGFkZGluZzogMCAkc3BhY2VyLW5vcm1hbDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0Ly8gXHRwYWRkaW5nOiAwICRzcGFjZXItbGFyZ2U7XG5cdC8vIH1cblxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdC8vIFx0cGFkZGluZzogMDtcblx0Ly8gfVxuXG5cdC5pdGVtIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcblx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTIpO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTIpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0d2lkdGg6IDMzLjMzMyU7XG5cdFx0fVxuXHR9XG5cblx0LnRodW0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1ib3R0b206ICRzcGFjZXItc21hbGw7XG5cdFx0QGluY2x1ZGUgYm94LXNoYWRvdyg0cHgpO1xuXG5cdFx0LmlubmVyIHtcblx0XHRcdEBpbmNsdWRlIHJhdGlvMy0yO1x0XHRcblx0XHR9XG5cdH1cblxuXHQuaW5mbyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZy1ib3R0b206ICRzcGFjZXItc21hbGw7XG5cblx0XHQudGl0bGUsXG5cdFx0LnN1YnRpdGxlIHtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblxuXHRcdC5zdWJ0aXRsZSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogLjVlbTtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0Ji5kZXNjIHtcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gLnN0YWZmIHtcbi8vIFx0dGV4dC1hbGlnbjogY2VudGVyO1xuLy8gXHRsaXN0LXN0eWxlOiBub25lO1xuLy8gXHRtYXJnaW46IDA7XG4vLyBcdHBhZGRpbmctcmlnaHQ6IDA7XG4vLyBcdHRleHQtYWxpZ246IGNlbnRlcjtcbi8vIFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbi8vIFx0Lml0ZW0ge1xuLy8gXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vIFx0XHQvL2Zsb2F0OiBsZWZ0O1xuLy8gXHRcdHdpZHRoOiA1MCU7XG4vLyBcdFx0cGFkZGluZzogcmVtLWNhbGMoMTUpO1xuLy8gXHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMik7XG4vLyBcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMik7XG5cbi8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuLy8gXHRcdFx0d2lkdGg6IDMzLjMzMyU7XG4vLyBcdFx0fVxuXG4vLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuLy8gXHRcdFx0d2lkdGg6IDE2LjY2NiU7XG4vLyBcdFx0fVxuXG4vLyBcdFx0YSB7XG4vLyBcdFx0XHRkaXNwbGF5OiBibG9jaztcbi8vIFx0XHR9XG4vLyBcdH1cblxuLy8gXHQudGh1bS1zbWFsbCB7XG4vLyBcdFx0bWF4LXdpZHRoOiByZW0tY2FsYygxMDApO1xuLy8gXHRcdG1hcmdpbi1ib3R0b206ICRzcGFjZXItc21hbGw7XG4vLyBcdFx0QGluY2x1ZGUgYm94LXNoYWRvdy1mdWxsKDAsIDNweCwgMTBweCwgJGJsYWNrLCAuMzUpO1xuXG4vLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbi8vIFx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTIwKTtcbi8vIFx0XHR9XG4vLyBcdH1cblxuLy8gXHQuaW5mbyB7XG4vLyBcdFx0ZGlzcGxheTogYmxvY2s7XG4vLyBcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoNzUpO1xuXG4vLyBcdFx0cCB7XG4vLyBcdFx0XHRtYXJnaW46IDA7XG5cbi8vIFx0XHRcdCYuZGVzYyB7XG4vLyBcdFx0XHRcdGNvbG9yOiAkZGFyay1ncmF5O1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0fVxuLy8gfSIsIi8vIEFEVkVSVElTSU5HXG5cblxuI2FkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiBhdXRvO1xuXHRAaW5jbHVkZSBib3gtc2l6aW5nLXJlc2V0O1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXItdG9wOiAkc3BhY2VyLXNtYWxsIHNvbGlkICR3aGl0ZTtcblx0Ym9yZGVyLWJvdHRvbTogJHNwYWNlci1zbWFsbCBzb2xpZCAkd2hpdGU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1heC1oZWlnaHQ6IDI1MHB4O1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG5cdC5pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdH1cblxuXHQuaXRlbSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHBhZGRpbmc6IDAgJHNwYWNlci1zbWFsbC8yO1xuXHRcdHdpZHRoOiAzMDBweDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bWF4LWhlaWdodDogMjUwcHg7XG5cblx0XHRhIHtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9hamF4LWxvYWRlci5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1x0XHRcdFxuXHRcdH1cblxuXHRcdGEsIGltZyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cdH1cbn0iLCIvLyBTRVJWSUNFU1xuXG4uc2VydmljZXMtbGlzdCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDYwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMDApO1xuXHR9XG5cblx0LmFjY29yZGlvbi1pdGVtIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3coNHB4KTtcblx0XHQvLyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xuXG5cdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMCk7XG5cdFx0XHR9XG5cblx0XHRcdGg0IHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0MCk7XG5cdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRAaW5jbHVkZSB0ZXh0LWgzO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmFjY29yZGlvbi1jb250ZW50IHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMwKTtcblx0XHRcdH1cblxuXHRcdFx0aDIsIGgzLCBoNCwgaDUge1xuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0fVxuXG5cdFx0XHR1bCwgb2wge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gICAgXHRcdFx0bGlzdC1zdHlsZTogaW5pdGlhbDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudGh1bSB7XG5cdFx0QGluY2x1ZGUgcmF0aW8xLTE7XG5cdFx0bWFyZ2luLXRvcDogLjQ1ZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogMmVtO1xuXHR9XG59IiwiLy8gQlJPQ0hVUkVTXG5cblxuXG4uYnJvY2h1cmVzIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1ub3JtYWw7XG5cdH1cblxuXHQuaXRlbSB7XG5cdFx0cGFkZGluZzogJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gMCAkZ2xvYmFsLW1hcmdpbjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0d2lkdGg6IDMzLjMzMzMlO1xuXHRcdH1cblx0fVxufSIsIi8vIEFCT1VUIFVTIC0gR0FMTEVSWVxuXG5cbi5hYm91dC1nYWxsZXJ5IHtcblx0LnNlY3Rpb24tdGl0bGUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodGVyLWNvbG9yO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0LnN2ZyB7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHR9XG5cblx0XHQudHJpYW5nbGUge1xuXHRcdFx0ZmlsbDogJGJsdWUtbGlnaHRlci1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRcdC5pdGVtIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHdpZHRoOiA1MCU7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNDgwcHgpIHtcblx0XHRcdFx0d2lkdGg6IDMzLjMzMyU7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdHdpZHRoOiAyNSU7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0d2lkdGg6IDE2LjY2NjYlO1xuXHRcdFx0fVxuXG5cdFx0XHQudGh1bSB7XG5cdFx0XHRcdEBpbmNsdWRlIHJhdGlvMS0xO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vIFBST0RVQ1QgR0FMTEVSWVxuXG5cbi5wcm9kdWN0LWdhbGxlcnkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdHotaW5kZXg6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRib3JkZXItdG9wOiAxcHggJGJsdWUtbGlnaHRlci1jb2xvciBzb2xpZDtcblx0XHRoZWlnaHQ6IDQ4MHB4XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4ICRibHVlLWxpZ2h0ZXItY29sb3Igc29saWQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNlci1sYXJnZSAqIDEuNSAhaW1wb3J0YW50O1xuXHR9XG5cblxuXHQuaXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi13aWR0aDogMTAwcHg7XG5cblx0XHRhIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1nL2FqYXgtbG9hZGVyLmdpZikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRoZWlnaHQ6IDQ4MHB4XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji52aWRlbyB7XG5cdFx0XHQuaWNvbiB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0Zm9udC1zaXplOiA2ZW07XG5cdFx0XHRcdG1hcmdpbjogLS41ZW0gYXV0byBhdXRvIC0uNWVtO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1jb2xvcjtcblx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4iLCIvLyBTSU1JTEFSIFBST0RVQ1RTIExJU1RcblxuXG4uc2ltaWxhci1wcm9kdWN0cyB7XG5cdGg0LnRpdGxlIHtcblx0XHRwYWRkaW5nLXRvcDogMWVtO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogLjVlbTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdFx0cGFkZGluZy1ib3R0b206ICRzcGFjZXItbm9ybWFsO1xuXG5cdFx0Lml0ZW0ge1xuXHRcdFx0cGFkZGluZzogJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gMCAkZ2xvYmFsLW1hcmdpbjtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0d2lkdGg6IDUwJTtcblxuXHRcdFx0JjpudGgtY2hpbGQob2RkKXtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZChldmVuKXtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvLyBNQVBcblxuXG4ubWFwLXdyYXBwZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdEBpbmNsdWRlIHJhdGlvMS0xO1xuXHRtYXJnaW4tdG9wOiByZW0tY2FsYygxNCk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSByYXRpbzMtMjtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRAaW5jbHVkZSByYXRpbzEtMTtcblx0fVxuXG5cdC5tYXAge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cbn0iLCIvLyBTZWFyY2hcblxuXG4uc2VhcmNoIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMTA7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdG1hcmdpbjogMDtcblx0bGVmdDogYXV0bztcblx0cGFkZGluZzogcmVtLWNhbGMoOCk7XG5cdGhlaWdodDogcmVtLWNhbGMoNTApO1xufVxuXG4uc2VhcmNoLWJveCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdFxuXHQmLmFjdGl2ZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmx1ZS1jb2xvciwgMTUpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1pbi13aWR0aDogcmVtLWNhbGMoMzIwKTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0dG9wOiByZW0tY2FsYyg1MCk7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMjApIDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHotaW5kZXg6IDEwMDA7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0XHR0b3A6IHJlbS1jYWxjKDk5KTtcblx0XHRcdHdpZHRoOiByZW0tY2FsYyg2MDApO1xuXHRcdH1cblxuXHRcdC5tZWYtYXJyb3ctZG93biB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogcmVtLWNhbGMoMTIpO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoLTEyKTtcblx0XHRcdGZvbnQtc2l6ZTogMmVtO1xuXHRcdFx0Y29sb3I6ICRibHVlLWNvbG9yO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHJpZ2h0OiByZW0tY2FsYygyNSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNlYXJjaC10ZXJtIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHBhZGRpbmc6IDAgcmVtLWNhbGMoMTEwKSAwIHJlbS1jYWxjKDE1KTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ei1pbmRleDogMTtcblxuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zZWFyY2gtYnRuIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdG1hcmdpbjogMCByZW0tY2FsYygxNSkgMCAwO1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTApIDAgcmVtLWNhbGMoMTEpIDA7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoOTUpO1xuXHRcdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdFx0ei1pbmRleDogMTA7IFxuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygwKTtcblx0XHRcdEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQocmVtLWNhbGMoMTA4MCkpIHtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiIsIi8vIE5ld3NsZXR0ZXJcblxuXG4ubmV3c2xldHRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTEwO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNDApOyBcblx0bGVmdDogYXV0bztcblx0cGFkZGluZzogcmVtLWNhbGMoOCk7XG5cdGhlaWdodDogcmVtLWNhbGMoNTApO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQ1KTsgXG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1Mik7IFxuXHR9XG59XG5cblxuLm5ld3NsZXR0ZXItZm9ybSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdFxuXHQmLmFjdGl2ZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmx1ZS1jb2xvciwgMTUpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1pbi13aWR0aDogcmVtLWNhbGMoMzIwKTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0dG9wOiByZW0tY2FsYyg1MCk7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMjApIDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR6LWluZGV4OiAxMDAwO1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChyZW0tY2FsYygxMDgwKSkge1xuXHRcdFx0dG9wOiByZW0tY2FsYyg5OSk7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoNjAwKTtcblx0XHR9XG5cblx0XHQuZm9ybS10aXRsZSB7XG5cdFx0XHRwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcblx0XHR9XG5cblx0XHQubWVmLWFycm93LWRvd24ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDU0KTtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMik7XG5cdFx0XHRmb250LXNpemU6IDJlbTtcblx0XHRcdGNvbG9yOiAkYmx1ZS1jb2xvcjtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChyZW0tY2FsYygxMDgwKSkge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRyaWdodDogcmVtLWNhbGMoODgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5lbWFpbC1ib3gge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cGFkZGluZzogMCByZW0tY2FsYygxMTApIDAgcmVtLWNhbGMoMTUpO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQocmVtLWNhbGMoMTA4MCkpIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRtYXJnaW46IDAgcmVtLWNhbGMoMTUpIDAgMDtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwKSAwIHJlbS1jYWxjKDExKSAwO1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDk1KTtcblx0XHRcdG1pbi13aWR0aDogYXV0bztcblx0XHRcdHotaW5kZXg6IDEwOyBcblx0XHRcdEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoMCk7XG5cdFx0XHRAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHJlbS1jYWxjKDEwODApKSB7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIvLyBUb3BzIFJlcXVlc3QgUXVvdGUgYW5kIHJlcXVlc3QgUGFydHMgQnV0dG9uc1xuXG5cbi5xdW90ZS1hbmQtcGFydHMge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR3aWR0aDogMTAwJTtcblx0bGVmdDogMDtcblx0bWFyZ2luLWJvdHRvbTogJHNwYWNlci1ub3JtYWw7XG5cdHotaW5kZXg6IDEwO1xuXG5cdC5idXR0b24ge1xuXHRcdHdpZHRoOiA0OCU7XG5cdFx0dG9wOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygwKTtcblx0XHRcdEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG5cdFx0fVxuXHRcdFxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoMCk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cblx0XHQuYnV0dG9uIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bWFyZ2luOiAuNWVtIDAgMCAkZ2xvYmFsLW1hcmdpbi8yO1xuXHRcdFx0cGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuXHRcdFx0XG5cdFx0XHQmOmZpcnN0LWNoaWxkLFxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDQwcHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucHJvZHVjdC1kZXRhaWwge1xuXHQucXVvdGUtYW5kLXBhcnRzIHtcblx0XHRtYXJnaW4tdG9wOiAzZW07XG5cdFx0XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdH1cblx0fVxufVxuXG5cbiIsIi8vIFBST0RVQ1QgQ0FUQUxPR1xuXG5cbi5wcm9kdWN0cy1jYXRhbG9nIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5idXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblxuXHRcdC5pY29uIHtcblx0XHRcdGNvbG9yOiAkcmVkLWNvbG9yO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0XHRsaW5lLWhlaWdodDogMDtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0bWFyZ2luLXRvcDogLS4yZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi8vIFBST0RVQ1RTIEZJTFRFUlxuXG5cbi5yb3ctcHJvZHVjdHMtZmlsdGVyIHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjZXItc21hbGw7XG59XG5cbi5wcm9kdWN0cy1maWx0ZXIge1xuXHQuZmlsdGVyLWl0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW46IDAgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDE1KSAwO1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNDBweCk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdHBhZGRpbmc6IDAgcmVtLWNhbGMoMTUpIDAgMDtcblxuXHRcdC5pY29uIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogcmVtLWNhbGMoMyk7XG5cdFx0XHRsZWZ0OiByZW0tY2FsYygzKTtcblxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMi44NWVtO1xuXHRcdFx0XHRjb2xvcjogJGJsdWUtY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji50eXBlIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMS42NWVtO1xuXHRcdH1cblxuXHRcdCYubm8taWNvbiB7XG5cdFx0XHQmLnR5cGUge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XHRcblxuXHRzZWxlY3Qge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXI6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0cGFkZGluZzogMCByZW0tY2FsYygzMCk7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGhlaWdodDogNTBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG59IiwiLy8gUEFHSU5BVElPTlxuXG5cbi5wYWdpbmF0aW9uIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAwIDAgJHNwYWNlci1ub3JtYWwgMDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdHBhZGRpbmctdG9wOiAkc3BhY2VyLW5vcm1hbDtcblx0fVxuXG5cblx0YSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0c3BhbiB7XG5cdFx0XHR3aWR0aDogMmVtO1xuXHRcdFx0aGVpZ2h0OiAyZW07XG5cdFx0XHRmb250LXNpemU6IDJlbTtcblx0XHRcdHBhZGRpbmc6IC41ZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzICg1MCUpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDJlbTtcblx0XHR9XG5cdH1cbn1cblxuXG5bZGF0YS12aXNpYmxlPSdmYWxzZSddIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHQvL2Rpc3BsYXk6IG5vbmU7XG5cdEBpbmNsdWRlIG9wYWNpdHkoMCk7XG5cdG1hcmdpbjogLTIwMDBlbSAwIDAgLTIwMDBlbTtcbn1cblxuXG5bZGF0YS12aXNpYmxlPSd0cnVlJ10ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vZGlzcGxheTogYmxvY2s7XG5cdEBpbmNsdWRlIG9wYWNpdHkoMSk7XG5cdG1hcmdpbjogYXV0bztcbn1cbiIsIi8vIERvd25sb2FkIEZpbmFuY2lhbCBGb3JtXG5cblxuLmRvd25sb2FkLWZpbmFuY2UtZm9ybSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHR9XG5cblx0LnRpdGxlIHtcblx0XHRjb2xvcjogJGJsdWUtY29sb3I7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMik7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdH1cblx0fVxuXG5cdC5idXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDIwMCk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRib3JkZXI6IDA7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9kb3dubG9hZC1maW5hbmNlLmpwZyk7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDY0MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHR9XG5cblx0XHQud2hpdGUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG5cdFx0fVxuXHR9XG59IiwiLy8gQWRkIFRoaXNcblxuXG4uYWRkdGhpcyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDE1KTtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG5cdH1cblxuXHQuYWRkdGhpc19zaGFyaW5nX3Rvb2xib3gge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdC5saXRlcmFsLFxuXHQuYWRkdGhpc19zaGFyaW5nX3Rvb2xib3gge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxZW07XG5cdFx0fVxuXHR9XG5cbn0iLCIvLyBWaWRlb1xuXG5cbiN2aWRlbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdHZpZGVvIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuXHR9XG5cblx0Lm1mcC1ib3R0b20tYmFyIHtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XG5cdH1cblxufVxuIiwiLy8gQUJPVVQgVVNcblxuXG4uYWJvdXQge1xuXHQucGFnZS1zdWJ0aXRsZSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdH1cbn0iLCIvLyBQUk9EVUNUUyBERVRBSUxcblxuXG4ucHJvZHVjdC1kZXRhaWwge1xuXG5cdC5wYWdlLXRpdGxlIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0fVxuXHR9XG5cblx0LmxlZnQtY29sdW1uIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nLXRvcDogLjVlbTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQucmlnaHQtY29sdW1uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCAkYmx1ZS1saWdodGVyLWNvbG9yIHNvbGlkO1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDg1KSAvIDIgKyByZW0tY2FsYygxMCk7XG5cdFx0fVxuXHR9XG5cblx0LmJhY2sge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGxpbmUtaGVpZ2h0OiAyZW07XG5cdFx0bGVmdDogMDtcblxuXHRcdC5saXRlcmFsIHtcblx0XHRcdGZvbnQtc2l6ZTogJHRleHQtc21hbGw7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGJsdWUtY29sb3I7XG5cdFx0fVxuXG5cdFx0Lmljb24ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAuMjVlbTtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRmb250LXNpemU6IDJlbTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMWVtO1xuXG5cdFx0XHQubGl0ZXJhbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJHRleHQtbm9ybWFsO1xuXHRcdFx0fVxuXG5cdFx0XHQuaWNvbiB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucHJvZHVjdC10eXBlLWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg3NSkgLyAtMjtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3NSkgKiAtMTtcblx0XHR3aWR0aDogcmVtLWNhbGMoNzUpO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoNzUpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG5cdFx0ei1pbmRleDogMTA7XG5cblx0XHRzcGFuIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNzUpO1xuXHRcdFx0Y29sb3I6ICRibHVlLWNvbG9yO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Ym90dG9tOiBhdXRvO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoODUpIC8gLTI7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYyg4NSkgLyAtMjtcblx0XHRcdHdpZHRoOiByZW0tY2FsYyg4NSk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDg1KTtcblxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoODUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5wcm9kdWN0cy1jYXRhbG9nIHtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG5cdFx0XHRcblx0XHRcdC5idXR0b24ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG5cdFx0aDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRwYWRkaW5nLXRvcDogMWVtO1xuXHRcdH1cblx0fVxuXG5cdC5wcm9kdWN0LWRlc2NyaXB0aW9uLFxuXHQucHJvZHVjdC1mZWF0dXJlcyxcblx0LnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMge1xuXHRcdGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0cGFkZGluZy10b3A6IDFlbTtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiIsIi8vIENPTlRBQ1QgVVNcblxuXG4uY29udGFjdCB7XG5cdC5jb250YWN0LWluZm8ge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdH1cbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
