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

meta.foundation-version {
  font-family: "/5.5.2/"; }

meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0; }

meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 40em)/";
  width: 0; }

meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:40.0625em)/";
  width: 40.0625em; }

meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:40.0625em) and (max-width:64em)/";
  width: 40.0625em; }

meta.foundation-mq-large {
  font-family: "/only screen and (min-width:64.0625em)/";
  width: 64.0625em; }

meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/";
  width: 64.0625em; }

meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:90.0625em)/";
  width: 90.0625em; }

meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/";
  width: 90.0625em; }

meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:120.0625em)/";
  width: 120.0625em; }

meta.foundation-data-attribute-namespace {
  font-family: false; }

html, body {
  height: 100%; }

html {
  box-sizing: border-box; }

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

html,
body {
  font-size: 100%; }

body {
  background: #fff;
  color: #222;
  cursor: auto;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative; }

a:hover {
  cursor: pointer; }

img {
  max-width: 100%;
  height: auto; }

img {
  -ms-interpolation-mode: bicubic; }

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

.left {
  float: left !important; }

.right {
  float: right !important; }

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

.clearfix:after {
  clear: both; }

.hide {
  display: none; }

.invisible {
  visibility: hidden; }

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px; }

select {
  width: 100%; }

.row {
  margin: 0 auto;
  max-width: 90rem;
  width: 100%; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }
  .row.collapse > .column,
  .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row .row {
    margin: 0 -0.9375rem;
    max-width: none;
    width: auto; }
    .row .row:before, .row .row:after {
      content: " ";
      display: table; }
    .row .row:after {
      clear: both; }
    .row .row.collapse {
      margin: 0;
      max-width: none;
      width: auto; }
      .row .row.collapse:before, .row .row.collapse:after {
        content: " ";
        display: table; }
      .row .row.collapse:after {
        clear: both; }

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

.column + .column:last-child,
.columns + .column:last-child, .column +
.columns:last-child,
.columns +
.columns:last-child {
  float: right; }

.column + .column.end,
.columns + .column.end, .column +
.columns.end,
.columns +
.columns.end {
  float: left; }

@media only screen {
  .small-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .small-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .small-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .small-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .small-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .small-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .small-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .small-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .small-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .small-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .small-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .small-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .small-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .small-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .small-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .small-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .small-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .small-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .small-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .small-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .small-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .small-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .small-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .small-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .small-1 {
    width: 8.33333%; }
  .small-2 {
    width: 16.66667%; }
  .small-3 {
    width: 25%; }
  .small-4 {
    width: 33.33333%; }
  .small-5 {
    width: 41.66667%; }
  .small-6 {
    width: 50%; }
  .small-7 {
    width: 58.33333%; }
  .small-8 {
    width: 66.66667%; }
  .small-9 {
    width: 75%; }
  .small-10 {
    width: 83.33333%; }
  .small-11 {
    width: 91.66667%; }
  .small-12 {
    width: 100%; }
  .small-offset-0 {
    margin-left: 0 !important; }
  .small-offset-1 {
    margin-left: 8.33333% !important; }
  .small-offset-2 {
    margin-left: 16.66667% !important; }
  .small-offset-3 {
    margin-left: 25% !important; }
  .small-offset-4 {
    margin-left: 33.33333% !important; }
  .small-offset-5 {
    margin-left: 41.66667% !important; }
  .small-offset-6 {
    margin-left: 50% !important; }
  .small-offset-7 {
    margin-left: 58.33333% !important; }
  .small-offset-8 {
    margin-left: 66.66667% !important; }
  .small-offset-9 {
    margin-left: 75% !important; }
  .small-offset-10 {
    margin-left: 83.33333% !important; }
  .small-offset-11 {
    margin-left: 91.66667% !important; }
  .small-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.small-centered,
  .columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.small-uncentered,
  .columns.small-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.small-centered:last-child,
  .columns.small-centered:last-child {
    float: none; }
  .column.small-uncentered:last-child,
  .columns.small-uncentered:last-child {
    float: left; }
  .column.small-uncentered.opposite,
  .columns.small-uncentered.opposite {
    float: right; }
  .row.small-collapse > .column,
  .row.small-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.small-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.small-uncollapse > .column,
  .row.small-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; } }

@media only screen and (min-width: 40.0625em) {
  .medium-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .medium-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .medium-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .medium-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .medium-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .medium-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .medium-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .medium-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .medium-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .medium-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .medium-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .medium-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .medium-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .medium-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .medium-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .medium-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .medium-1 {
    width: 8.33333%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-3 {
    width: 25%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-6 {
    width: 50%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-9 {
    width: 75%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-0 {
    margin-left: 0 !important; }
  .medium-offset-1 {
    margin-left: 8.33333% !important; }
  .medium-offset-2 {
    margin-left: 16.66667% !important; }
  .medium-offset-3 {
    margin-left: 25% !important; }
  .medium-offset-4 {
    margin-left: 33.33333% !important; }
  .medium-offset-5 {
    margin-left: 41.66667% !important; }
  .medium-offset-6 {
    margin-left: 50% !important; }
  .medium-offset-7 {
    margin-left: 58.33333% !important; }
  .medium-offset-8 {
    margin-left: 66.66667% !important; }
  .medium-offset-9 {
    margin-left: 75% !important; }
  .medium-offset-10 {
    margin-left: 83.33333% !important; }
  .medium-offset-11 {
    margin-left: 91.66667% !important; }
  .medium-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.medium-centered,
  .columns.medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.medium-uncentered,
  .columns.medium-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.medium-centered:last-child,
  .columns.medium-centered:last-child {
    float: none; }
  .column.medium-uncentered:last-child,
  .columns.medium-uncentered:last-child {
    float: left; }
  .column.medium-uncentered.opposite,
  .columns.medium-uncentered.opposite {
    float: right; }
  .row.medium-collapse > .column,
  .row.medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.medium-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.medium-uncollapse > .column,
  .row.medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; } }

@media only screen and (min-width: 64.0625em) {
  .large-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .large-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .large-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .large-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .large-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .large-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .large-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .large-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .large-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .large-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .large-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .large-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .large-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .large-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .large-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .large-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .large-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .large-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .large-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .large-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .large-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .large-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .large-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .large-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .large-1 {
    width: 8.33333%; }
  .large-2 {
    width: 16.66667%; }
  .large-3 {
    width: 25%; }
  .large-4 {
    width: 33.33333%; }
  .large-5 {
    width: 41.66667%; }
  .large-6 {
    width: 50%; }
  .large-7 {
    width: 58.33333%; }
  .large-8 {
    width: 66.66667%; }
  .large-9 {
    width: 75%; }
  .large-10 {
    width: 83.33333%; }
  .large-11 {
    width: 91.66667%; }
  .large-12 {
    width: 100%; }
  .large-offset-0 {
    margin-left: 0 !important; }
  .large-offset-1 {
    margin-left: 8.33333% !important; }
  .large-offset-2 {
    margin-left: 16.66667% !important; }
  .large-offset-3 {
    margin-left: 25% !important; }
  .large-offset-4 {
    margin-left: 33.33333% !important; }
  .large-offset-5 {
    margin-left: 41.66667% !important; }
  .large-offset-6 {
    margin-left: 50% !important; }
  .large-offset-7 {
    margin-left: 58.33333% !important; }
  .large-offset-8 {
    margin-left: 66.66667% !important; }
  .large-offset-9 {
    margin-left: 75% !important; }
  .large-offset-10 {
    margin-left: 83.33333% !important; }
  .large-offset-11 {
    margin-left: 91.66667% !important; }
  .large-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.large-centered,
  .columns.large-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.large-uncentered,
  .columns.large-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.large-centered:last-child,
  .columns.large-centered:last-child {
    float: none; }
  .column.large-uncentered:last-child,
  .columns.large-uncentered:last-child {
    float: left; }
  .column.large-uncentered.opposite,
  .columns.large-uncentered.opposite {
    float: right; }
  .row.large-collapse > .column,
  .row.large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.large-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.large-uncollapse > .column,
  .row.large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; } }

.accordion {
  margin-bottom: 0; }
  .accordion:before, .accordion:after {
    content: " ";
    display: table; }
  .accordion:after {
    clear: both; }
  .accordion .accordion-navigation, .accordion dd {
    display: block;
    margin-bottom: 0 !important; }
    .accordion .accordion-navigation.active > a, .accordion dd.active > a {
      background: #e8e8e8; }
    .accordion .accordion-navigation > a, .accordion dd > a {
      background: #EFEFEF;
      color: #222222;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem; }
      .accordion .accordion-navigation > a:hover, .accordion dd > a:hover {
        background: #e3e3e3; }
    .accordion .accordion-navigation > .content, .accordion dd > .content {
      display: none;
      padding: 0.9375rem; }
      .accordion .accordion-navigation > .content.active, .accordion dd > .content.active {
        background: #FFFFFF;
        display: block; }

.alert-box {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.8125rem;
  font-weight: normal;
  margin-bottom: 1.25rem;
  padding: 0.875rem 1.5rem 0.875rem 0.875rem;
  position: relative;
  transition: opacity 300ms ease-out;
  background-color: #008CBA;
  border-color: #0078a0;
  color: #FFFFFF; }
  .alert-box .close {
    right: 0.25rem;
    background: inherit;
    color: #333333;
    font-size: 1.375rem;
    line-height: .9;
    margin-top: -0.6875rem;
    opacity: 0.3;
    padding: 0 6px 4px;
    position: absolute;
    top: 50%; }
    .alert-box .close:hover, .alert-box .close:focus {
      opacity: 0.5; }
  .alert-box.radius {
    border-radius: 3px; }
  .alert-box.round {
    border-radius: 1000px; }
  .alert-box.success {
    background-color: #43AC6A;
    border-color: #3a945b;
    color: #FFFFFF; }
  .alert-box.alert {
    background-color: #f04124;
    border-color: #de2d0f;
    color: #FFFFFF; }
  .alert-box.secondary {
    background-color: #e7e7e7;
    border-color: #c7c7c7;
    color: #4f4f4f; }
  .alert-box.warning {
    background-color: #f08a24;
    border-color: #de770f;
    color: #FFFFFF; }
  .alert-box.info {
    background-color: #a0d3e8;
    border-color: #74bfdd;
    color: #4f4f4f; }
  .alert-box.alert-close {
    opacity: 0; }

[class*="block-grid-"] {
  display: block;
  padding: 0;
  margin: 0 -0.625rem; }
  [class*="block-grid-"]:before, [class*="block-grid-"]:after {
    content: " ";
    display: table; }
  [class*="block-grid-"]:after {
    clear: both; }
  [class*="block-grid-"] > li {
    display: block;
    float: left;
    height: auto;
    padding: 0 0.625rem 1.25rem; }

@media only screen {
  .small-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .small-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .small-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .small-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .small-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .small-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .small-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .small-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .small-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .small-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .small-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .small-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .small-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .small-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .small-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .small-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .small-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .small-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .small-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .small-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .small-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .small-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .small-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .small-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 40.0625em) {
  .medium-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .medium-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .medium-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .medium-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .medium-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .medium-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .medium-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .medium-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .medium-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .medium-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .medium-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .medium-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .medium-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .medium-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .medium-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .medium-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .medium-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .medium-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .medium-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .medium-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .medium-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .medium-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .medium-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .medium-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 64.0625em) {
  .large-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .large-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .large-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .large-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .large-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .large-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .large-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .large-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .large-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .large-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .large-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .large-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .large-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .large-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .large-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .large-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .large-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .large-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .large-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .large-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .large-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .large-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .large-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .large-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

.breadcrumbs {
  border-style: solid;
  border-width: 1px;
  display: block;
  list-style: none;
  margin-left: 0;
  overflow: hidden;
  padding: 0.5625rem 0.875rem 0.5625rem;
  background-color: #f4f4f4;
  border-color: gainsboro;
  border-radius: 3px; }
  .breadcrumbs > * {
    color: #008CBA;
    float: left;
    font-size: 0.6875rem;
    line-height: 0.6875rem;
    margin: 0;
    text-transform: uppercase; }
    .breadcrumbs > *:hover a, .breadcrumbs > *:focus a {
      text-decoration: underline; }
    .breadcrumbs > * a {
      color: #008CBA; }
    .breadcrumbs > *.current {
      color: #333333;
      cursor: default; }
      .breadcrumbs > *.current a {
        color: #333333;
        cursor: default; }
      .breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a {
        text-decoration: none; }
    .breadcrumbs > *.unavailable {
      color: #999999; }
      .breadcrumbs > *.unavailable a {
        color: #999999; }
      .breadcrumbs > *.unavailable:hover,
      .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus,
      .breadcrumbs > *.unavailable a:focus {
        color: #999999;
        cursor: not-allowed;
        text-decoration: none; }
    .breadcrumbs > *:before {
      color: #AAAAAA;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px; }
    .breadcrumbs > *:first-child:before {
      content: " ";
      margin: 0; }

/* Accessibility - hides the forward slash */
[aria-label="breadcrumbs"] [aria-hidden="true"]:after {
  content: "/"; }

button, .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  background-color: #008CBA;
  border-color: #007095;
  color: #FFFFFF;
  transition: background-color 300ms ease-out; }
  button:hover, button:focus, .button:hover, .button:focus {
    background-color: #007095; }
  button:hover, button:focus, .button:hover, .button:focus {
    color: #FFFFFF; }
  button.secondary, .button.secondary {
    background-color: #e7e7e7;
    border-color: #b9b9b9;
    color: #333333; }
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      background-color: #b9b9b9; }
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      color: #333333; }
  button.success, .button.success {
    background-color: #43AC6A;
    border-color: #368a55;
    color: #FFFFFF; }
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      background-color: #368a55; }
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      color: #FFFFFF; }
  button.alert, .button.alert {
    background-color: #f04124;
    border-color: #cf2a0e;
    color: #FFFFFF; }
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      background-color: #cf2a0e; }
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      color: #FFFFFF; }
  button.warning, .button.warning {
    background-color: #f08a24;
    border-color: #cf6e0e;
    color: #FFFFFF; }
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      background-color: #cf6e0e; }
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      color: #FFFFFF; }
  button.info, .button.info {
    background-color: #a0d3e8;
    border-color: #61b6d9;
    color: #333333; }
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      background-color: #61b6d9; }
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      color: #FFFFFF; }
  button.large, .button.large {
    padding: 1.125rem 2.25rem 1.1875rem 2.25rem;
    font-size: 1.25rem; }
  button.small, .button.small {
    padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
    font-size: 0.8125rem; }
  button.tiny, .button.tiny {
    padding: 0.625rem 1.25rem 0.6875rem 1.25rem;
    font-size: 0.6875rem; }
  button.expand, .button.expand {
    padding-left: 0;
    padding-right: 0;
    width: 100%; }
  button.left-align, .button.left-align {
    text-align: left;
    text-indent: 0.75rem; }
  button.right-align, .button.right-align {
    text-align: right;
    padding-right: 0.75rem; }
  button.radius, .button.radius {
    border-radius: 3px; }
  button.round, .button.round {
    border-radius: 1000px; }
  button.disabled, button[disabled], .button.disabled, .button[disabled] {
    background-color: #008CBA;
    border-color: #007095;
    color: #FFFFFF;
    box-shadow: none;
    cursor: default;
    opacity: 0.7; }
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #007095; }
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      color: #FFFFFF; }
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #008CBA; }
    button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
      background-color: #e7e7e7;
      border-color: #b9b9b9;
      color: #333333;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #b9b9b9; }
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        color: #333333; }
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #e7e7e7; }
    button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
      background-color: #43AC6A;
      border-color: #368a55;
      color: #FFFFFF;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #368a55; }
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        color: #FFFFFF; }
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #43AC6A; }
    button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
      background-color: #f04124;
      border-color: #cf2a0e;
      color: #FFFFFF;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cf2a0e; }
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        color: #FFFFFF; }
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #f04124; }
    button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
      background-color: #f08a24;
      border-color: #cf6e0e;
      color: #FFFFFF;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #cf6e0e; }
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        color: #FFFFFF; }
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #f08a24; }
    button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
      background-color: #a0d3e8;
      border-color: #61b6d9;
      color: #333333;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        background-color: #61b6d9; }
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        color: #FFFFFF; }
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        background-color: #a0d3e8; }

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

@media only screen and (min-width: 40.0625em) {
  button, .button {
    display: inline-block; } }

.button-group {
  list-style: none;
  margin: 0;
  left: 0; }
  .button-group:before, .button-group:after {
    content: " ";
    display: table; }
  .button-group:after {
    clear: both; }
  .button-group.even-2 li {
    display: inline-block;
    margin: 0 -2px;
    width: 50%; }
    .button-group.even-2 li > button, .button-group.even-2 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button {
      border-left: 0; }
    .button-group.even-2 li button, .button-group.even-2 li .button {
      width: 100%; }
  .button-group.even-3 li {
    display: inline-block;
    margin: 0 -2px;
    width: 33.33333%; }
    .button-group.even-3 li > button, .button-group.even-3 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button {
      border-left: 0; }
    .button-group.even-3 li button, .button-group.even-3 li .button {
      width: 100%; }
  .button-group.even-4 li {
    display: inline-block;
    margin: 0 -2px;
    width: 25%; }
    .button-group.even-4 li > button, .button-group.even-4 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button {
      border-left: 0; }
    .button-group.even-4 li button, .button-group.even-4 li .button {
      width: 100%; }
  .button-group.even-5 li {
    display: inline-block;
    margin: 0 -2px;
    width: 20%; }
    .button-group.even-5 li > button, .button-group.even-5 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button {
      border-left: 0; }
    .button-group.even-5 li button, .button-group.even-5 li .button {
      width: 100%; }
  .button-group.even-6 li {
    display: inline-block;
    margin: 0 -2px;
    width: 16.66667%; }
    .button-group.even-6 li > button, .button-group.even-6 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button {
      border-left: 0; }
    .button-group.even-6 li button, .button-group.even-6 li .button {
      width: 100%; }
  .button-group.even-7 li {
    display: inline-block;
    margin: 0 -2px;
    width: 14.28571%; }
    .button-group.even-7 li > button, .button-group.even-7 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button {
      border-left: 0; }
    .button-group.even-7 li button, .button-group.even-7 li .button {
      width: 100%; }
  .button-group.even-8 li {
    display: inline-block;
    margin: 0 -2px;
    width: 12.5%; }
    .button-group.even-8 li > button, .button-group.even-8 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button {
      border-left: 0; }
    .button-group.even-8 li button, .button-group.even-8 li .button {
      width: 100%; }
  .button-group > li {
    display: inline-block;
    margin: 0 -2px; }
    .button-group > li > button, .button-group > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group > li:first-child button, .button-group > li:first-child .button {
      border-left: 0; }
  .button-group.stack > li {
    display: block;
    margin: 0;
    float: none; }
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-left: 0; }
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.stack > li > button {
      width: 100%; }
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-top: 0; }
  .button-group.stack-for-small > li {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
      border-left: 0; }
    @media only screen and (max-width: 40em) {
      .button-group.stack-for-small > li {
        display: block;
        margin: 0; }
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-left: 1px solid;
          border-color: rgba(255, 255, 255, 0.5); }
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-left: 0; }
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-color: rgba(255, 255, 255, 0.5);
          border-left-width: 0;
          border-top: 1px solid;
          display: block;
          margin: 0; }
        .button-group.stack-for-small > li > button {
          width: 100%; }
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-top: 0; } }
  .button-group.radius > * {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.radius > * > button, .button-group.radius > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.radius > *:first-child button, .button-group.radius > *:first-child .button {
      border-left: 0; }
    .button-group.radius > *,
    .button-group.radius > * > a,
    .button-group.radius > * > button,
    .button-group.radius > * > .button {
      border-radius: 0; }
    .button-group.radius > *:first-child,
    .button-group.radius > *:first-child > a,
    .button-group.radius > *:first-child > button,
    .button-group.radius > *:first-child > .button {
      -webkit-border-bottom-left-radius: 3px;
      -webkit-border-top-left-radius: 3px;
      border-bottom-left-radius: 3px;
      border-top-left-radius: 3px; }
    .button-group.radius > *:last-child,
    .button-group.radius > *:last-child > a,
    .button-group.radius > *:last-child > button,
    .button-group.radius > *:last-child > .button {
      -webkit-border-bottom-right-radius: 3px;
      -webkit-border-top-right-radius: 3px;
      border-bottom-right-radius: 3px;
      border-top-right-radius: 3px; }
  .button-group.radius.stack > * {
    display: block;
    margin: 0; }
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-left: 0; }
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.radius.stack > * > button {
      width: 100%; }
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-top: 0; }
    .button-group.radius.stack > *,
    .button-group.radius.stack > * > a,
    .button-group.radius.stack > * > button,
    .button-group.radius.stack > * > .button {
      border-radius: 0; }
    .button-group.radius.stack > *:first-child,
    .button-group.radius.stack > *:first-child > a,
    .button-group.radius.stack > *:first-child > button,
    .button-group.radius.stack > *:first-child > .button {
      -webkit-top-left-radius: 3px;
      -webkit-top-right-radius: 3px;
      border-top-left-radius: 3px;
      border-top-right-radius: 3px; }
    .button-group.radius.stack > *:last-child,
    .button-group.radius.stack > *:last-child > a,
    .button-group.radius.stack > *:last-child > button,
    .button-group.radius.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 3px;
      -webkit-bottom-right-radius: 3px;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px; }
  @media only screen and (min-width: 40.0625em) {
    .button-group.radius.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 3px;
        -webkit-border-top-left-radius: 3px;
        border-bottom-left-radius: 3px;
        border-top-left-radius: 3px; }
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 3px;
        -webkit-border-top-right-radius: 3px;
        border-bottom-right-radius: 3px;
        border-top-right-radius: 3px; } }
  @media only screen and (max-width: 40em) {
    .button-group.radius.stack-for-small > * {
      display: block;
      margin: 0; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      .button-group.radius.stack-for-small > * > button {
        width: 100%; }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-top: 0; }
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 3px;
        -webkit-top-right-radius: 3px;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px; }
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 3px;
        -webkit-bottom-right-radius: 3px;
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px; } }
  .button-group.round > * {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.round > * > button, .button-group.round > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.round > *:first-child button, .button-group.round > *:first-child .button {
      border-left: 0; }
    .button-group.round > *,
    .button-group.round > * > a,
    .button-group.round > * > button,
    .button-group.round > * > .button {
      border-radius: 0; }
    .button-group.round > *:first-child,
    .button-group.round > *:first-child > a,
    .button-group.round > *:first-child > button,
    .button-group.round > *:first-child > .button {
      -webkit-border-bottom-left-radius: 1000px;
      -webkit-border-top-left-radius: 1000px;
      border-bottom-left-radius: 1000px;
      border-top-left-radius: 1000px; }
    .button-group.round > *:last-child,
    .button-group.round > *:last-child > a,
    .button-group.round > *:last-child > button,
    .button-group.round > *:last-child > .button {
      -webkit-border-bottom-right-radius: 1000px;
      -webkit-border-top-right-radius: 1000px;
      border-bottom-right-radius: 1000px;
      border-top-right-radius: 1000px; }
  .button-group.round.stack > * {
    display: block;
    margin: 0; }
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-left: 0; }
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.round.stack > * > button {
      width: 100%; }
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-top: 0; }
    .button-group.round.stack > *,
    .button-group.round.stack > * > a,
    .button-group.round.stack > * > button,
    .button-group.round.stack > * > .button {
      border-radius: 0; }
    .button-group.round.stack > *:first-child,
    .button-group.round.stack > *:first-child > a,
    .button-group.round.stack > *:first-child > button,
    .button-group.round.stack > *:first-child > .button {
      -webkit-top-left-radius: 1rem;
      -webkit-top-right-radius: 1rem;
      border-top-left-radius: 1rem;
      border-top-right-radius: 1rem; }
    .button-group.round.stack > *:last-child,
    .button-group.round.stack > *:last-child > a,
    .button-group.round.stack > *:last-child > button,
    .button-group.round.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 1rem;
      -webkit-bottom-right-radius: 1rem;
      border-bottom-left-radius: 1rem;
      border-bottom-right-radius: 1rem; }
  @media only screen and (min-width: 40.0625em) {
    .button-group.round.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 1000px;
        -webkit-border-top-left-radius: 1000px;
        border-bottom-left-radius: 1000px;
        border-top-left-radius: 1000px; }
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 1000px;
        -webkit-border-top-right-radius: 1000px;
        border-bottom-right-radius: 1000px;
        border-top-right-radius: 1000px; } }
  @media only screen and (max-width: 40em) {
    .button-group.round.stack-for-small > * {
      display: block;
      margin: 0; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      .button-group.round.stack-for-small > * > button {
        width: 100%; }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-top: 0; }
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 1rem;
        -webkit-top-right-radius: 1rem;
        border-top-left-radius: 1rem;
        border-top-right-radius: 1rem; }
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 1rem;
        -webkit-bottom-right-radius: 1rem;
        border-bottom-left-radius: 1rem;
        border-bottom-right-radius: 1rem; } }

.button-bar:before, .button-bar:after {
  content: " ";
  display: table; }

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

.button-bar .button-group {
  float: left;
  margin-right: 0.625rem; }
  .button-bar .button-group div {
    overflow: hidden; }

/* Clearing Styles */
.clearing-thumbs, [data-clearing] {
  list-style: none;
  margin-left: 0;
  margin-bottom: 0; }
  .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after {
    content: " ";
    display: table; }
  .clearing-thumbs:after, [data-clearing]:after {
    clear: both; }
  .clearing-thumbs li, [data-clearing] li {
    float: left;
    margin-right: 10px; }
  .clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li {
    margin-right: 0; }

.clearing-blackout {
  background: #333333;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 998;
  left: 0; }
  .clearing-blackout .clearing-close {
    display: block; }

.clearing-container {
  height: 100%;
  margin: 0;
  overflow: hidden;
  position: relative;
  z-index: 998; }

.clearing-touch-label {
  color: #AAAAAA;
  font-size: .6em;
  left: 50%;
  position: absolute;
  top: 50%; }

.visible-img {
  height: 95%;
  position: relative; }
  .visible-img img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    max-height: 100%;
    max-width: 100%; }

.clearing-caption {
  background: #333333;
  bottom: 0;
  color: #CCCCCC;
  font-size: 0.875em;
  line-height: 1.3;
  margin-bottom: 0;
  padding: 10px 30px 20px;
  position: absolute;
  text-align: center;
  width: 100%;
  left: 0; }

.clearing-close {
  color: #CCCCCC;
  display: none;
  font-size: 30px;
  line-height: 1;
  padding-left: 20px;
  padding-top: 10px;
  z-index: 999; }
  .clearing-close:hover, .clearing-close:focus {
    color: #CCCCCC; }

.clearing-assembled .clearing-container {
  height: 100%; }
  .clearing-assembled .clearing-container .carousel > ul {
    display: none; }

.clearing-feature li {
  display: none; }
  .clearing-feature li.clearing-featured-img {
    display: block; }

@media only screen and (min-width: 40.0625em) {
  .clearing-main-prev,
  .clearing-main-next {
    height: 100%;
    position: absolute;
    top: 0;
    width: 40px; }
    .clearing-main-prev > span,
    .clearing-main-next > span {
      border: solid 12px;
      display: block;
      height: 0;
      position: absolute;
      top: 50%;
      width: 0; }
      .clearing-main-prev > span:hover,
      .clearing-main-next > span:hover {
        opacity: .8; }
  .clearing-main-prev {
    left: 0; }
    .clearing-main-prev > span {
      left: 5px;
      border-color: transparent;
      border-right-color: #CCCCCC; }
  .clearing-main-next {
    right: 0; }
    .clearing-main-next > span {
      border-color: transparent;
      border-left-color: #CCCCCC; }
  .clearing-main-prev.disabled,
  .clearing-main-next.disabled {
    opacity: .3; }
  .clearing-assembled .clearing-container .carousel {
    background: rgba(51, 51, 51, 0.8);
    height: 120px;
    margin-top: 10px;
    text-align: center; }
    .clearing-assembled .clearing-container .carousel > ul {
      display: inline-block;
      z-index: 999;
      height: 100%;
      position: relative;
      float: none; }
      .clearing-assembled .clearing-container .carousel > ul li {
        clear: none;
        cursor: pointer;
        display: block;
        float: left;
        margin-right: 0;
        min-height: inherit;
        opacity: .4;
        overflow: hidden;
        padding: 0;
        position: relative;
        width: 120px; }
        .clearing-assembled .clearing-container .carousel > ul li.fix-height img {
          height: 100%;
          max-width: none; }
        .clearing-assembled .clearing-container .carousel > ul li a.th {
          border: none;
          box-shadow: none;
          display: block; }
        .clearing-assembled .clearing-container .carousel > ul li img {
          cursor: pointer !important;
          width: 100% !important; }
        .clearing-assembled .clearing-container .carousel > ul li.visible {
          opacity: 1; }
        .clearing-assembled .clearing-container .carousel > ul li:hover {
          opacity: .8; }
  .clearing-assembled .clearing-container .visible-img {
    background: #333333;
    height: 85%;
    overflow: hidden; }
  .clearing-close {
    padding-left: 0;
    padding-top: 0;
    position: absolute;
    top: 10px;
    right: 20px; } }

/* Foundation Dropdowns */
.f-dropdown {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 2px;
  max-width: 200px; }
  .f-dropdown.open {
    display: block; }
  .f-dropdown > *:first-child {
    margin-top: 0; }
  .f-dropdown > *:last-child {
    margin-bottom: 0; }
  .f-dropdown:before {
    border: inset 6px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #FFFFFF transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -12px;
    left: 10px;
    z-index: 89; }
  .f-dropdown:after {
    border: inset 7px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #cccccc transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -14px;
    left: 9px;
    z-index: 88; }
  .f-dropdown.right:before {
    left: auto;
    right: 10px; }
  .f-dropdown.right:after {
    left: auto;
    right: 9px; }
  .f-dropdown.drop-right {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: 2px;
    max-width: 200px; }
    .f-dropdown.drop-right.open {
      display: block; }
    .f-dropdown.drop-right > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-right > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-right:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #FFFFFF transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 10px;
      left: -12px;
      z-index: 89; }
    .f-dropdown.drop-right:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #cccccc transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 9px;
      left: -14px;
      z-index: 88; }
  .f-dropdown.drop-left {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: -2px;
    max-width: 200px; }
    .f-dropdown.drop-left.open {
      display: block; }
    .f-dropdown.drop-left > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-left > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-left:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #FFFFFF;
      border-left-style: solid;
      position: absolute;
      top: 10px;
      right: -12px;
      left: auto;
      z-index: 89; }
    .f-dropdown.drop-left:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #cccccc;
      border-left-style: solid;
      position: absolute;
      top: 9px;
      right: -14px;
      left: auto;
      z-index: 88; }
  .f-dropdown.drop-top {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-left: 0;
    margin-top: -2px;
    max-width: 200px; }
    .f-dropdown.drop-top.open {
      display: block; }
    .f-dropdown.drop-top > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-top > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-top:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #FFFFFF transparent transparent transparent;
      border-top-style: solid;
      bottom: -12px;
      position: absolute;
      top: auto;
      left: 10px;
      right: auto;
      z-index: 89; }
    .f-dropdown.drop-top:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #cccccc transparent transparent transparent;
      border-top-style: solid;
      bottom: -14px;
      position: absolute;
      top: auto;
      left: 9px;
      right: auto;
      z-index: 88; }
  .f-dropdown li {
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.125rem;
    margin: 0; }
    .f-dropdown li:hover, .f-dropdown li:focus {
      background: #EEEEEE; }
    .f-dropdown li.radius {
      border-radius: 3px; }
    .f-dropdown li a {
      display: block;
      padding: 0.5rem;
      color: #555555; }
  .f-dropdown.content {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    padding: 1.25rem;
    width: 100%;
    z-index: 89;
    max-width: 200px; }
    .f-dropdown.content.open {
      display: block; }
    .f-dropdown.content > *:first-child {
      margin-top: 0; }
    .f-dropdown.content > *:last-child {
      margin-bottom: 0; }
  .f-dropdown.tiny {
    max-width: 200px; }
  .f-dropdown.small {
    max-width: 300px; }
  .f-dropdown.medium {
    max-width: 500px; }
  .f-dropdown.large {
    max-width: 800px; }
  .f-dropdown.mega {
    width: 100% !important;
    max-width: 100% !important; }
    .f-dropdown.mega.open {
      left: 0 !important; }

.dropdown.button, button.dropdown {
  position: relative;
  padding-right: 3.5625rem; }
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent;
    border-style: solid;
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    width: 0; }
  .dropdown.button::after, button.dropdown::after {
    border-width: 0.375rem;
    right: 1.40625rem;
    margin-top: -0.15625rem; }
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.tiny, button.dropdown.tiny {
    padding-right: 2.625rem; }
    .dropdown.button.tiny:after, button.dropdown.tiny:after {
      border-width: 0.375rem;
      right: 1.125rem;
      margin-top: -0.125rem; }
    .dropdown.button.tiny::after, button.dropdown.tiny::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.small, button.dropdown.small {
    padding-right: 3.0625rem; }
    .dropdown.button.small::after, button.dropdown.small::after {
      border-width: 0.4375rem;
      right: 1.3125rem;
      margin-top: -0.15625rem; }
    .dropdown.button.small::after, button.dropdown.small::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.large, button.dropdown.large {
    padding-right: 3.625rem; }
    .dropdown.button.large::after, button.dropdown.large::after {
      border-width: 0.3125rem;
      right: 1.71875rem;
      margin-top: -0.15625rem; }
    .dropdown.button.large::after, button.dropdown.large::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.secondary:after, button.dropdown.secondary:after {
    border-color: #333333 transparent transparent transparent; }

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

/* Standard Forms */
form {
  margin: 0 0 1rem; }

/* Using forms within rows, we need to set some defaults */
form .row .row {
  margin: 0 -0.5rem; }
  form .row .row .column,
  form .row .row .columns {
    padding: 0 0.5rem; }
  form .row .row.collapse {
    margin: 0; }
    form .row .row.collapse .column,
    form .row .row.collapse .columns {
      padding: 0; }
    form .row .row.collapse input {
      -webkit-border-bottom-right-radius: 0;
      -webkit-border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-top-right-radius: 0; }

form .row input.column,
form .row input.columns,
form .row textarea.column,
form .row textarea.columns {
  padding-left: 0.5rem; }

/* Label Styles */
label {
  color: #4d4d4d;
  cursor: pointer;
  display: block;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 0;
  /* Styles for required inputs */ }
  label.right {
    float: none !important;
    text-align: right; }
  label.inline {
    margin: 0 0 1rem 0;
    padding: 0.5625rem 0; }
  label small {
    text-transform: capitalize;
    color: #676767; }

/* Attach elements to the beginning or end of an input */
.prefix,
.postfix {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.875rem;
  height: 2.3125rem;
  line-height: 2.3125rem;
  overflow: visible;
  padding-bottom: 0;
  padding-top: 0;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2; }

/* Adjust padding, alignment and radius if pre/post element is a button */
.postfix.button {
  border-color: true; }

.prefix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center; }

.prefix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

.postfix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

.prefix.button.round {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

.postfix.button.round {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix, label.prefix {
  background: #f2f2f2;
  border-right: none;
  color: #333333;
  border-color: #cccccc; }

span.postfix, label.postfix {
  background: #f2f2f2;
  color: #333333;
  border-color: #cccccc; }

/* We use this to get basic styling on all basic form elements */
input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  display: block;
  font-family: inherit;
  font-size: 0.875rem;
  height: 2.3125rem;
  margin: 0 0 1rem 0;
  padding: 0.5rem;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s linear, background 0.15s linear; }
  input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
    background: #fafafa;
    border-color: #999999;
    outline: none; }
  input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  input[type="text"][disabled], input[type="text"][readonly],
  fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly],
  fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly],
  fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly],
  fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly],
  fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly],
  fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly],
  fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly],
  fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly],
  fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly],
  fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly],
  fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly],
  fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly],
  fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly],
  fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly],
  fieldset[disabled] textarea {
    background-color: #DDDDDD;
    cursor: default; }
  input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius {
    border-radius: 3px; }

form .row .prefix-radius.row.collapse input,
form .row .prefix-radius.row.collapse textarea,
form .row .prefix-radius.row.collapse select,
form .row .prefix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

form .row .prefix-radius.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse input,
form .row .postfix-radius.row.collapse textarea,
form .row .postfix-radius.row.collapse select,
form .row .postfix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

form .row .prefix-round.row.collapse input,
form .row .prefix-round.row.collapse textarea,
form .row .prefix-round.row.collapse select,
form .row .prefix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

form .row .prefix-round.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse input,
form .row .postfix-round.row.collapse textarea,
form .row .postfix-round.row.collapse select,
form .row .postfix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

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

/* Respect enforced amount of rows for textarea */
textarea[rows] {
  height: auto; }

/* Not allow resize out of parent */
textarea {
  max-width: 100%; }

::-webkit-input-placeholder {
  color: #cccccc; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #cccccc; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #cccccc; }

:-ms-input-placeholder {
  color: #cccccc; }

/* Add height value for select elements to match text input height */
select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #FAFAFA;
  border-radius: 0;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
  background-position: 100% center;
  background-repeat: no-repeat;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  color: rgba(0, 0, 0, 0.75);
  font-family: inherit;
  font-size: 0.875rem;
  line-height: normal;
  padding: 0.5rem;
  border-radius: 0;
  height: 2.3125rem; }
  select::-ms-expand {
    display: none; }
  select.radius {
    border-radius: 3px; }
  select:hover {
    background-color: #f3f3f3;
    border-color: #999999; }
  select:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  select[multiple] {
    height: auto; }

/* Adjust margin for form elements below */
input[type="file"],
input[type="checkbox"],
input[type="radio"],
select {
  margin: 0 0 1rem 0; }

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

/* Normalize file input width */
input[type="file"] {
  width: 100%; }

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
fieldset {
  border: 1px solid #DDDDDD;
  margin: 1.125rem 0;
  padding: 1.25rem; }
  fieldset legend {
    background: #FFFFFF;
    font-weight: bold;
    margin-left: -0.1875rem;
    margin: 0;
    padding: 0 0.1875rem; }

/* Error Handling */
[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

[data-abide] span.error, [data-abide] small.error {
  display: none; }

span.error, small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

.error input,
.error textarea,
.error select {
  margin-bottom: 0; }

.error input[type="checkbox"],
.error input[type="radio"] {
  margin-bottom: 1rem; }

.error label,
.error label.error {
  color: #f04124; }

.error small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

.error > label > small {
  background: transparent;
  color: #676767;
  display: inline;
  font-size: 60%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-transform: capitalize; }

.error span.error-message {
  display: block; }

input.error,
textarea.error,
select.error {
  margin-bottom: 0; }

label.error {
  color: #f04124; }

.icon-bar {
  display: inline-block;
  font-size: 0;
  width: 100%;
  background: #333333; }
  .icon-bar > * {
    display: block;
    float: left;
    font-size: 1rem;
    margin: 0 auto;
    padding: 1.25rem;
    text-align: center;
    width: 25%; }
    .icon-bar > * i, .icon-bar > * img {
      display: block;
      margin: 0 auto; }
      .icon-bar > * i + label, .icon-bar > * img + label {
        margin-top: .0625rem; }
    .icon-bar > * i {
      font-size: 1.875rem;
      vertical-align: middle; }
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  .icon-bar.label-right > * i, .icon-bar.label-right > * img {
    display: inline-block;
    margin: 0 .0625rem 0 0; }
    .icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label {
      margin-top: 0; }
  .icon-bar.label-right > * label {
    display: inline-block; }
  .icon-bar.vertical.label-right > * {
    text-align: left; }
  .icon-bar.vertical, .icon-bar.small-vertical {
    height: 100%;
    width: auto; }
    .icon-bar.vertical .item, .icon-bar.small-vertical .item {
      float: none;
      margin: auto;
      width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.medium-vertical {
      height: 100%;
      width: auto; }
      .icon-bar.medium-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.large-vertical {
      height: 100%;
      width: auto; }
      .icon-bar.large-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  .icon-bar > * {
    font-size: 1rem;
    padding: 1.25rem; }
    .icon-bar > * i + label, .icon-bar > * img + label {
      margin-top: .0625rem;
      font-size: 1rem; }
    .icon-bar > * i {
      font-size: 1.875rem; }
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  .icon-bar > * label {
    color: #FFFFFF; }
  .icon-bar > * i {
    color: #FFFFFF; }
  .icon-bar > a:hover {
    background: #008CBA; }
    .icon-bar > a:hover label {
      color: #FFFFFF; }
    .icon-bar > a:hover i {
      color: #FFFFFF; }
  .icon-bar > a.active {
    background: #008CBA; }
    .icon-bar > a.active label {
      color: #FFFFFF; }
    .icon-bar > a.active i {
      color: #FFFFFF; }
  .icon-bar .item.disabled {
    cursor: not-allowed;
    opacity: 0.7;
    pointer-events: none; }
    .icon-bar .item.disabled > * {
      opacity: 0.7;
      cursor: not-allowed; }
  .icon-bar.two-up .item {
    width: 50%; }
  .icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.two-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.two-up.large-vertical .item {
      width: auto; } }
  .icon-bar.three-up .item {
    width: 33.3333%; }
  .icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.three-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.three-up.large-vertical .item {
      width: auto; } }
  .icon-bar.four-up .item {
    width: 25%; }
  .icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.four-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.four-up.large-vertical .item {
      width: auto; } }
  .icon-bar.five-up .item {
    width: 20%; }
  .icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.five-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.five-up.large-vertical .item {
      width: auto; } }
  .icon-bar.six-up .item {
    width: 16.66667%; }
  .icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.six-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.six-up.large-vertical .item {
      width: auto; } }
  .icon-bar.seven-up .item {
    width: 14.28571%; }
  .icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.seven-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.seven-up.large-vertical .item {
      width: auto; } }
  .icon-bar.eight-up .item {
    width: 12.5%; }
  .icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.eight-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.eight-up.large-vertical .item {
      width: auto; } }

.icon-bar.two-up .item {
  width: 50%; }

.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.two-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.two-up.large-vertical .item {
    width: auto; } }

.icon-bar.three-up .item {
  width: 33.3333%; }

.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.three-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.three-up.large-vertical .item {
    width: auto; } }

.icon-bar.four-up .item {
  width: 25%; }

.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.four-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.four-up.large-vertical .item {
    width: auto; } }

.icon-bar.five-up .item {
  width: 20%; }

.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.five-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.five-up.large-vertical .item {
    width: auto; } }

.icon-bar.six-up .item {
  width: 16.66667%; }

.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.six-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.six-up.large-vertical .item {
    width: auto; } }

.icon-bar.seven-up .item {
  width: 14.28571%; }

.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.seven-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.seven-up.large-vertical .item {
    width: auto; } }

.icon-bar.eight-up .item {
  width: 12.5%; }

.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.eight-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.eight-up.large-vertical .item {
    width: auto; } }

.inline-list {
  list-style: none;
  margin-left: -1.375rem;
  margin-right: 0;
  margin: 0 auto 1.0625rem auto;
  overflow: hidden;
  padding: 0; }
  .inline-list > li {
    display: block;
    float: left;
    list-style: none;
    margin-left: 1.375rem; }
    .inline-list > li > * {
      display: block; }

/* Foundation Joyride */
.joyride-list {
  display: none; }

/* Default styles for the container */
.joyride-tip-guide {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-family: inherit;
  font-weight: normal;
  position: absolute;
  top: 0;
  width: 95%;
  z-index: 101;
  left: 2.5%; }

.lt-ie9 .joyride-tip-guide {
  margin-left: -400px;
  max-width: 800px;
  left: 50%; }

.joyride-content-wrapper {
  padding: 1.125rem 1.25rem 1.5rem;
  width: 100%; }
  .joyride-content-wrapper .button {
    margin-bottom: 0 !important; }
  .joyride-content-wrapper .joyride-prev-tip {
    margin-right: 10px; }

/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
.joyride-tip-guide .joyride-nub {
  border: 10px solid #333333;
  display: block;
  height: 0;
  position: absolute;
  width: 0;
  left: 22px; }
  .joyride-tip-guide .joyride-nub.top {
    border-color: #333333;
    border-top-color: transparent !important;
    border-top-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    top: -20px; }
  .joyride-tip-guide .joyride-nub.bottom {
    border-color: #333333 !important;
    border-bottom-color: transparent !important;
    border-bottom-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    bottom: -20px; }
  .joyride-tip-guide .joyride-nub.right {
    right: -20px; }
  .joyride-tip-guide .joyride-nub.left {
    left: -20px; }

/* Typography */
.joyride-tip-guide h1,
.joyride-tip-guide h2,
.joyride-tip-guide h3,
.joyride-tip-guide h4,
.joyride-tip-guide h5,
.joyride-tip-guide h6 {
  color: #FFFFFF;
  font-weight: bold;
  line-height: 1.25;
  margin: 0; }

.joyride-tip-guide p {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0 0 1.125rem 0; }

.joyride-timer-indicator-wrap {
  border: solid 1px #555555;
  bottom: 1rem;
  height: 3px;
  position: absolute;
  width: 50px;
  right: 1.0625rem; }

.joyride-timer-indicator {
  background: #666666;
  display: block;
  height: inherit;
  width: 0; }

.joyride-close-tip {
  color: #777777 !important;
  font-size: 24px;
  font-weight: normal;
  line-height: .5 !important;
  position: absolute;
  text-decoration: none;
  top: 10px;
  right: 12px; }
  .joyride-close-tip:hover, .joyride-close-tip:focus {
    color: #EEEEEE !important; }

.joyride-modal-bg {
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  left: 0; }

.joyride-expose-wrapper {
  background-color: #FFFFFF;
  border-radius: 3px;
  box-shadow: 0 0 15px #FFFFFF;
  position: absolute;
  z-index: 102; }

.joyride-expose-cover {
  background: transparent;
  border-radius: 3px;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 9999; }

/* Styles for screens that are at least 768px; */
@media only screen and (min-width: 40.0625em) {
  .joyride-tip-guide {
    width: 300px;
    left: inherit; }
    .joyride-tip-guide .joyride-nub.bottom {
      border-color: #333333 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-right-color: transparent !important;
      bottom: -20px; }
    .joyride-tip-guide .joyride-nub.right {
      border-color: #333333 !important;
      border-right-color: transparent !important;
      border-bottom-color: transparent !important;
      border-top-color: transparent !important;
      left: auto;
      right: -20px;
      top: 22px; }
    .joyride-tip-guide .joyride-nub.left {
      border-color: #333333 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-top-color: transparent !important;
      left: -20px;
      right: auto;
      top: 22px; } }

.keystroke,
kbd {
  background-color: #ededed;
  border-color: #dddddd;
  color: #222222;
  border-style: solid;
  border-width: 1px;
  font-family: "Consolas", "Menlo", "Courier", monospace;
  font-size: inherit;
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  border-radius: 3px; }

.label {
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1;
  margin-bottom: auto;
  position: relative;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.25rem 0.5rem 0.25rem;
  font-size: 0.6875rem;
  background-color: #008CBA;
  color: #FFFFFF; }
  .label.radius {
    border-radius: 3px; }
  .label.round {
    border-radius: 1000px; }
  .label.alert {
    background-color: #f04124;
    color: #FFFFFF; }
  .label.warning {
    background-color: #f08a24;
    color: #FFFFFF; }
  .label.success {
    background-color: #43AC6A;
    color: #FFFFFF; }
  .label.secondary {
    background-color: #e7e7e7;
    color: #333333; }
  .label.info {
    background-color: #a0d3e8;
    color: #333333; }

[data-magellan-expedition], [data-magellan-expedition-clone] {
  background: #FFFFFF;
  min-width: 100%;
  padding: 10px;
  z-index: 50; }
  [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav {
    margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd {
      margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a {
      line-height: 1.8em; }

@keyframes rotate {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

/* Orbit Graceful Loading */
.slideshow-wrapper {
  position: relative; }
  .slideshow-wrapper ul {
    list-style-type: none;
    margin: 0; }
    .slideshow-wrapper ul li,
    .slideshow-wrapper ul li .orbit-caption {
      display: none; }
    .slideshow-wrapper ul li:first-child {
      display: block; }
  .slideshow-wrapper .orbit-container {
    background-color: transparent; }
    .slideshow-wrapper .orbit-container li {
      display: block; }
      .slideshow-wrapper .orbit-container li .orbit-caption {
        display: block; }
    .slideshow-wrapper .orbit-container .orbit-bullets li {
      display: inline-block; }
  .slideshow-wrapper .preloader {
    border-radius: 1000px;
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
    animation-name: rotate;
    animation-timing-function: linear;
    border-color: #555555 #FFFFFF;
    border: solid 3px;
    display: block;
    height: 40px;
    left: 50%;
    margin-left: -20px;
    margin-top: -20px;
    position: absolute;
    top: 50%;
    width: 40px; }

.orbit-container {
  background: none;
  overflow: hidden;
  position: relative;
  width: 100%; }
  .orbit-container .orbit-slides-container {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    transform: translateZ(0); }
    .orbit-container .orbit-slides-container img {
      display: block;
      max-width: 100%; }
    .orbit-container .orbit-slides-container > * {
      position: absolute;
      top: 0;
      width: 100%;
      margin-left: 100%; }
      .orbit-container .orbit-slides-container > *:first-child {
        margin-left: 0; }
      .orbit-container .orbit-slides-container > * .orbit-caption {
        bottom: 0;
        position: absolute;
        background-color: rgba(51, 51, 51, 0.8);
        color: #FFFFFF;
        font-size: 0.875rem;
        padding: 0.625rem 0.875rem;
        width: 100%; }
  .orbit-container .orbit-slide-number {
    left: 10px;
    background: rgba(0, 0, 0, 0);
    color: #FFFFFF;
    font-size: 12px;
    position: absolute;
    top: 10px;
    z-index: 10; }
    .orbit-container .orbit-slide-number span {
      font-weight: 700;
      padding: 0.3125rem; }
  .orbit-container .orbit-timer {
    position: absolute;
    top: 12px;
    right: 10px;
    height: 6px;
    width: 100px;
    z-index: 10; }
    .orbit-container .orbit-timer .orbit-progress {
      height: 3px;
      background-color: rgba(255, 255, 255, 0.3);
      display: block;
      width: 0;
      position: relative;
      right: 20px;
      top: 5px; }
    .orbit-container .orbit-timer > span {
      border: solid 4px #FFFFFF;
      border-bottom: none;
      border-top: none;
      display: none;
      height: 14px;
      position: absolute;
      top: 0;
      width: 11px;
      right: 0; }
    .orbit-container .orbit-timer.paused > span {
      top: 0;
      width: 11px;
      height: 14px;
      border: inset 8px;
      border-left-style: solid;
      border-color: transparent;
      border-left-color: #FFFFFF;
      right: -4px; }
      .orbit-container .orbit-timer.paused > span.dark {
        border-left-color: #333333; }
  .orbit-container:hover .orbit-timer > span {
    display: block; }
  .orbit-container .orbit-prev,
  .orbit-container .orbit-next {
    background-color: transparent;
    color: white;
    height: 60px;
    line-height: 50px;
    margin-top: -25px;
    position: absolute;
    text-indent: -9999px !important;
    top: 45%;
    width: 36px;
    z-index: 10; }
    .orbit-container .orbit-prev:hover,
    .orbit-container .orbit-next:hover {
      background-color: rgba(0, 0, 0, 0.3); }
    .orbit-container .orbit-prev > span,
    .orbit-container .orbit-next > span {
      border: inset 10px;
      display: block;
      height: 0;
      margin-top: -10px;
      position: absolute;
      top: 50%;
      width: 0; }
  .orbit-container .orbit-prev {
    left: 0; }
    .orbit-container .orbit-prev > span {
      border-right-style: solid;
      border-color: transparent;
      border-right-color: #FFFFFF; }
    .orbit-container .orbit-prev:hover > span {
      border-right-color: #FFFFFF; }
  .orbit-container .orbit-next {
    right: 0; }
    .orbit-container .orbit-next > span {
      border-color: transparent;
      border-left-style: solid;
      border-left-color: #FFFFFF;
      left: 50%;
      margin-left: -4px; }
    .orbit-container .orbit-next:hover > span {
      border-left-color: #FFFFFF; }

.orbit-bullets-container {
  text-align: center; }

.orbit-bullets {
  display: block;
  float: none;
  margin: 0 auto 30px auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  top: 10px; }
  .orbit-bullets li {
    background: #CCCCCC;
    cursor: pointer;
    display: inline-block;
    float: none;
    height: 0.5625rem;
    margin-right: 6px;
    width: 0.5625rem;
    border-radius: 1000px; }
    .orbit-bullets li.active {
      background: #999999; }
    .orbit-bullets li:last-child {
      margin-right: 0; }

.touch .orbit-container .orbit-prev,
.touch .orbit-container .orbit-next {
  display: none; }

.touch .orbit-bullets {
  display: none; }

@media only screen and (min-width: 40.0625em) {
  .touch .orbit-container .orbit-prev,
  .touch .orbit-container .orbit-next {
    display: inherit; }
  .touch .orbit-bullets {
    display: block; } }

@media only screen and (max-width: 40em) {
  .orbit-stack-on-small .orbit-slides-container {
    height: auto !important; }
  .orbit-stack-on-small .orbit-slides-container > * {
    margin: 0  !important;
    opacity: 1 !important;
    position: relative; }
  .orbit-stack-on-small .orbit-slide-number {
    display: none; }
  .orbit-timer {
    display: none; }
  .orbit-next, .orbit-prev {
    display: none; }
  .orbit-bullets {
    display: none; } }

ul.pagination {
  display: block;
  margin-left: -0.3125rem;
  min-height: 1.5rem; }
  ul.pagination li {
    color: #222222;
    font-size: 0.875rem;
    height: 1.5rem;
    margin-left: 0.3125rem; }
    ul.pagination li a, ul.pagination li button {
      border-radius: 3px;
      transition: background-color 300ms ease-out;
      background: none;
      color: #999999;
      display: block;
      font-size: 1em;
      font-weight: normal;
      line-height: inherit;
      padding: 0.0625rem 0.625rem 0.0625rem; }
    ul.pagination li:hover a,
    ul.pagination li a:focus,
    ul.pagination li:hover button,
    ul.pagination li button:focus {
      background: #e6e6e6; }
    ul.pagination li.unavailable a, ul.pagination li.unavailable button {
      cursor: default;
      color: #999999; }
    ul.pagination li.unavailable:hover a,
    ul.pagination li.unavailable a:focus,
    ul.pagination li.unavailable:hover button,
    ul.pagination li.unavailable button:focus {
      background: transparent; }
    ul.pagination li.current a, ul.pagination li.current button {
      background: #008CBA;
      color: #FFFFFF;
      cursor: default;
      font-weight: bold; }
      ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus {
        background: #008CBA; }
  ul.pagination li {
    display: block;
    float: left; }

/* Pagination centred wrapper */
.pagination-centered {
  text-align: center; }
  .pagination-centered ul.pagination li {
    display: inline-block;
    float: none; }

/* Panels */
.panel {
  border-style: solid;
  border-width: 1px;
  border-color: #d8d8d8;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #f2f2f2;
  color: #333333; }
  .panel > :first-child {
    margin-top: 0; }
  .panel > :last-child {
    margin-bottom: 0; }
  .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl {
    color: #333333; }
  .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
    line-height: 1;
    margin-bottom: 0.625rem; }
    .panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader {
      line-height: 1.4; }
  .panel.callout {
    border-style: solid;
    border-width: 1px;
    border-color: #d8d8d8;
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    background: #ecfaff;
    color: #333333; }
    .panel.callout > :first-child {
      margin-top: 0; }
    .panel.callout > :last-child {
      margin-bottom: 0; }
    .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p, .panel.callout li, .panel.callout dl {
      color: #333333; }
    .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 {
      line-height: 1;
      margin-bottom: 0.625rem; }
      .panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader {
        line-height: 1.4; }
    .panel.callout a:not(.button) {
      color: #008CBA; }
      .panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus {
        color: #0078a0; }
  .panel.radius {
    border-radius: 3px; }

/* Pricing Tables */
.pricing-table {
  border: solid 1px #DDDDDD;
  margin-left: 0;
  margin-bottom: 1.25rem; }
  .pricing-table * {
    list-style: none;
    line-height: 1; }
  .pricing-table .title {
    background-color: #333333;
    color: #EEEEEE;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  .pricing-table .price {
    background-color: #F6F6F6;
    color: #333333;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 2rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  .pricing-table .description {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #777777;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 1.4;
    padding: 0.9375rem;
    text-align: center; }
  .pricing-table .bullet-item {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #333333;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.9375rem;
    text-align: center; }
  .pricing-table .cta-button {
    background-color: #FFFFFF;
    padding: 1.25rem 1.25rem 0;
    text-align: center; }

/* Progress Bar */
.progress {
  background-color: #F6F6F6;
  border: 1px solid white;
  height: 1.5625rem;
  margin-bottom: 0.625rem;
  padding: 0.125rem; }
  .progress .meter {
    background: #008CBA;
    display: block;
    height: 100%; }
  .progress.secondary .meter {
    background: #e7e7e7;
    display: block;
    height: 100%; }
  .progress.success .meter {
    background: #43AC6A;
    display: block;
    height: 100%; }
  .progress.alert .meter {
    background: #f04124;
    display: block;
    height: 100%; }
  .progress.radius {
    border-radius: 3px; }
    .progress.radius .meter {
      border-radius: 2px; }
  .progress.round {
    border-radius: 1000px; }
    .progress.round .meter {
      border-radius: 999px; }

.range-slider {
  border: 1px solid #DDDDDD;
  margin: 1.25rem 0;
  position: relative;
  -ms-touch-action: none;
  touch-action: none;
  display: block;
  height: 1rem;
  width: 100%;
  background: #FAFAFA; }
  .range-slider.vertical-range {
    border: 1px solid #DDDDDD;
    margin: 1.25rem 0;
    position: relative;
    -ms-touch-action: none;
    touch-action: none;
    display: inline-block;
    height: 12.5rem;
    width: 1rem; }
    .range-slider.vertical-range .range-slider-handle {
      bottom: -10.5rem;
      margin-left: -0.5rem;
      margin-top: 0;
      position: absolute; }
    .range-slider.vertical-range .range-slider-active-segment {
      border-bottom-left-radius: inherit;
      border-bottom-right-radius: inherit;
      border-top-left-radius: initial;
      bottom: 0;
      height: auto;
      width: 0.875rem; }
  .range-slider.radius {
    background: #FAFAFA;
    border-radius: 3px; }
    .range-slider.radius .range-slider-handle {
      background: #008CBA;
      border-radius: 3px; }
      .range-slider.radius .range-slider-handle:hover {
        background: #007ba4; }
  .range-slider.round {
    background: #FAFAFA;
    border-radius: 1000px; }
    .range-slider.round .range-slider-handle {
      background: #008CBA;
      border-radius: 1000px; }
      .range-slider.round .range-slider-handle:hover {
        background: #007ba4; }
  .range-slider.disabled, .range-slider[disabled] {
    background: #FAFAFA;
    cursor: not-allowed;
    opacity: 0.7; }
    .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle {
      background: #008CBA;
      cursor: default;
      opacity: 0.7; }
      .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover {
        background: #007ba4; }

.range-slider-active-segment {
  background: #e5e5e5;
  border-bottom-left-radius: inherit;
  border-top-left-radius: inherit;
  display: inline-block;
  height: 0.875rem;
  position: absolute; }

.range-slider-handle {
  border: 1px solid none;
  cursor: pointer;
  display: inline-block;
  height: 1.375rem;
  position: absolute;
  top: -0.3125rem;
  width: 2rem;
  z-index: 1;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #008CBA; }
  .range-slider-handle:hover {
    background: #007ba4; }

.reveal-modal-bg {
  background: #000000;
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1004;
  left: 0; }

.reveal-modal {
  border-radius: 3px;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
  background-color: #FFFFFF;
  padding: 1.875rem;
  border: solid 1px #666666;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }
  @media only screen and (max-width: 40em) {
    .reveal-modal {
      min-height: 100vh; } }
  .reveal-modal .column, .reveal-modal .columns {
    min-width: 0; }
  .reveal-modal > :first-child {
    margin-top: 0; }
  .reveal-modal > :last-child {
    margin-bottom: 0; }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal {
      left: 0;
      margin: 0 auto;
      max-width: 90rem;
      right: 0;
      width: 80%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal {
      top: 6.25rem; } }
  .reveal-modal.radius {
    border-radius: 3px; }
  .reveal-modal.round {
    border-radius: 1000px; }
  .reveal-modal.collapse {
    padding: 0; }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.tiny {
      left: 0;
      margin: 0 auto;
      max-width: 90rem;
      right: 0;
      width: 30%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.small {
      left: 0;
      margin: 0 auto;
      max-width: 90rem;
      right: 0;
      width: 40%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.medium {
      left: 0;
      margin: 0 auto;
      max-width: 90rem;
      right: 0;
      width: 60%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.large {
      left: 0;
      margin: 0 auto;
      max-width: 90rem;
      right: 0;
      width: 70%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.xlarge {
      left: 0;
      margin: 0 auto;
      max-width: 90rem;
      right: 0;
      width: 95%; } }
  .reveal-modal.full {
    height: 100vh;
    height: 100%;
    left: 0;
    margin-left: 0 !important;
    max-width: none !important;
    min-height: 100vh;
    top: 0; }
    @media only screen and (min-width: 40.0625em) {
      .reveal-modal.full {
        left: 0;
        margin: 0 auto;
        max-width: 90rem;
        right: 0;
        width: 100%; } }
  .reveal-modal.toback {
    z-index: 1003; }
  .reveal-modal .close-reveal-modal {
    color: #AAAAAA;
    cursor: pointer;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: 0.625rem;
    right: 1.375rem; }

.side-nav {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  list-style-position: outside;
  list-style-type: none;
  margin: 0;
  padding: 0.875rem 0; }
  .side-nav li {
    font-size: 0.875rem;
    font-weight: normal;
    margin: 0 0 0.4375rem 0; }
    .side-nav li a:not(.button) {
      color: #008CBA;
      display: block;
      margin: 0;
      padding: 0.4375rem 0.875rem; }
      .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus {
        background: rgba(0, 0, 0, 0.025);
        color: #1cc7ff; }
      .side-nav li a:not(.button):active {
        color: #1cc7ff; }
    .side-nav li.active > a:first-child:not(.button) {
      color: #1cc7ff;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-weight: normal; }
    .side-nav li.divider {
      border-top: 1px solid;
      height: 0;
      list-style: none;
      padding: 0;
      border-top-color: #e6e6e6; }
    .side-nav li.heading {
      color: #008CBA;
      font-size: 0.875rem;
      font-weight: bold;
      text-transform: uppercase; }

.split.button {
  position: relative;
  padding-right: 5.0625rem; }
  .split.button span {
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    border-left: solid 1px; }
    .split.button span:after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      display: block;
      border-style: inset;
      top: 50%;
      left: 50%; }
    .split.button span:active {
      background-color: rgba(0, 0, 0, 0.1); }
  .split.button span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button span {
    width: 3.09375rem; }
    .split.button span:after {
      border-top-style: solid;
      border-width: 0.375rem;
      margin-left: -0.375rem;
      top: 48%; }
  .split.button span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  .split.button.secondary span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.secondary span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  .split.button.alert span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.success span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.tiny {
    padding-right: 3.75rem; }
    .split.button.tiny span {
      width: 2.25rem; }
      .split.button.tiny span:after {
        border-top-style: solid;
        border-width: 0.375rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.small {
    padding-right: 4.375rem; }
    .split.button.small span {
      width: 2.625rem; }
      .split.button.small span:after {
        border-top-style: solid;
        border-width: 0.4375rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.large {
    padding-right: 5.5rem; }
    .split.button.large span {
      width: 3.4375rem; }
      .split.button.large span:after {
        border-top-style: solid;
        border-width: 0.3125rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.expand {
    padding-left: 2rem; }
  .split.button.secondary span:after {
    border-color: #333333 transparent transparent transparent; }
  .split.button.radius span {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px; }
  .split.button.round span {
    -webkit-border-bottom-right-radius: 1000px;
    -webkit-border-top-right-radius: 1000px;
    border-bottom-right-radius: 1000px;
    border-top-right-radius: 1000px; }
  .split.button.no-pip span:before {
    border-style: none; }
  .split.button.no-pip span:after {
    border-style: none; }
  .split.button.no-pip span > i {
    display: block;
    left: 50%;
    margin-left: -0.28889em;
    margin-top: -0.48889em;
    position: absolute;
    top: 50%; }

.sub-nav {
  display: block;
  margin: -0.25rem 0 1.125rem;
  overflow: hidden;
  padding-top: 0.25rem;
  width: auto; }
  .sub-nav dt {
    text-transform: uppercase; }
  .sub-nav dt,
  .sub-nav dd,
  .sub-nav li {
    color: #999999;
    float: left;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: normal;
    margin-left: 1rem;
    margin-bottom: 0; }
    .sub-nav dt a,
    .sub-nav dd a,
    .sub-nav li a {
      color: #999999;
      padding: 0.1875rem 1rem;
      text-decoration: none; }
      .sub-nav dt a:hover,
      .sub-nav dd a:hover,
      .sub-nav li a:hover {
        color: #737373; }
    .sub-nav dt.active a,
    .sub-nav dd.active a,
    .sub-nav li.active a {
      border-radius: 3px;
      background: #008CBA;
      color: #FFFFFF;
      cursor: default;
      font-weight: normal;
      padding: 0.1875rem 1rem; }
      .sub-nav dt.active a:hover,
      .sub-nav dd.active a:hover,
      .sub-nav li.active a:hover {
        background: #0078a0; }

.switch {
  border: none;
  margin-bottom: 1.5rem;
  outline: 0;
  padding: 0;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .switch label {
    background: #DDDDDD;
    color: transparent;
    cursor: pointer;
    display: block;
    margin-bottom: 1rem;
    position: relative;
    text-indent: 100%;
    width: 4rem;
    height: 2rem;
    transition: left 0.15s ease-out; }
  .switch input {
    left: 10px;
    opacity: 0;
    padding: 0;
    position: absolute;
    top: 9px; }
    .switch input + label {
      margin-left: 0;
      margin-right: 0; }
  .switch label:after {
    background: #FFFFFF;
    content: "";
    display: block;
    height: 1.5rem;
    left: .25rem;
    position: absolute;
    top: .25rem;
    width: 1.5rem;
    transition: left 0.15s ease-out;
    transform: translate3d(0, 0, 0); }
  .switch input:checked + label {
    background: #008CBA; }
  .switch input:checked + label:after {
    left: 2.25rem; }
  .switch label {
    height: 2rem;
    width: 4rem; }
  .switch label:after {
    height: 1.5rem;
    width: 1.5rem; }
  .switch input:checked + label:after {
    left: 2.25rem; }
  .switch label {
    color: transparent;
    background: #DDDDDD; }
  .switch label:after {
    background: #FFFFFF; }
  .switch input:checked + label {
    background: #008CBA; }
  .switch.large label {
    height: 2.5rem;
    width: 5rem; }
  .switch.large label:after {
    height: 2rem;
    width: 2rem; }
  .switch.large input:checked + label:after {
    left: 2.75rem; }
  .switch.small label {
    height: 1.75rem;
    width: 3.5rem; }
  .switch.small label:after {
    height: 1.25rem;
    width: 1.25rem; }
  .switch.small input:checked + label:after {
    left: 2rem; }
  .switch.tiny label {
    height: 1.5rem;
    width: 3rem; }
  .switch.tiny label:after {
    height: 1rem;
    width: 1rem; }
  .switch.tiny input:checked + label:after {
    left: 1.75rem; }
  .switch.radius label {
    border-radius: 4px; }
  .switch.radius label:after {
    border-radius: 3px; }
  .switch.round {
    border-radius: 1000px; }
    .switch.round label {
      border-radius: 2rem; }
    .switch.round label:after {
      border-radius: 2rem; }

table {
  background: #FFFFFF;
  border: solid 1px #DDDDDD;
  margin-bottom: 1.25rem;
  table-layout: auto; }
  table caption {
    background: transparent;
    color: #222222;
    font-size: 1rem;
    font-weight: bold; }
  table thead {
    background: #F5F5F5; }
    table thead tr th,
    table thead tr td {
      color: #222222;
      font-size: 0.875rem;
      font-weight: bold;
      padding: 0.5rem 0.625rem 0.625rem; }
  table tfoot {
    background: #F5F5F5; }
    table tfoot tr th,
    table tfoot tr td {
      color: #222222;
      font-size: 0.875rem;
      font-weight: bold;
      padding: 0.5rem 0.625rem 0.625rem; }
  table tr th,
  table tr td {
    color: #222222;
    font-size: 0.875rem;
    padding: 0.5625rem 0.625rem;
    text-align: left; }
  table tr.even, table tr.alt, table tr:nth-of-type(even) {
    background: #F9F9F9; }
  table thead tr th,
  table tfoot tr th,
  table tfoot tr td,
  table tbody tr th,
  table tbody tr td,
  table tr td {
    display: table-cell;
    line-height: 1.125rem; }

.tabs {
  margin-bottom: 0 !important;
  margin-left: 0; }
  .tabs:before, .tabs:after {
    content: " ";
    display: table; }
  .tabs:after {
    clear: both; }
  .tabs dd,
  .tabs .tab-title {
    float: left;
    list-style: none;
    margin-bottom: 0 !important;
    position: relative; }
    .tabs dd > a,
    .tabs .tab-title > a {
      display: block;
      background-color: #EFEFEF;
      color: #222222;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem 2rem; }
      .tabs dd > a:hover,
      .tabs .tab-title > a:hover {
        background-color: #e1e1e1; }
    .tabs dd.active a,
    .tabs .tab-title.active a {
      background-color: #FFFFFF;
      color: #222222; }
  .tabs.radius dd:first-child a,
  .tabs.radius .tab:first-child a {
    -webkit-border-bottom-left-radius: 3px;
    -webkit-border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px; }
  .tabs.radius dd:last-child a,
  .tabs.radius .tab:last-child a {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px; }
  .tabs.vertical dd,
  .tabs.vertical .tab-title {
    position: inherit;
    float: none;
    display: block;
    top: auto; }

.tabs-content {
  margin-bottom: 1.5rem;
  width: 100%; }
  .tabs-content:before, .tabs-content:after {
    content: " ";
    display: table; }
  .tabs-content:after {
    clear: both; }
  .tabs-content > .content {
    display: none;
    float: left;
    padding: 0.9375rem 0;
    width: 100%; }
    .tabs-content > .content.active {
      display: block;
      float: none; }
    .tabs-content > .content.contained {
      padding: 0.9375rem; }
  .tabs-content.vertical {
    display: block; }
    .tabs-content.vertical > .content {
      padding: 0 0.9375rem; }

@media only screen and (min-width: 40.0625em) {
  .tabs.vertical {
    float: left;
    margin: 0;
    margin-bottom: 1.25rem !important;
    max-width: 20%;
    width: 20%; }
  .tabs-content.vertical {
    float: left;
    margin-left: -1px;
    max-width: 80%;
    padding-left: 1rem;
    width: 80%; } }

.no-js .tabs-content > .content {
  display: block;
  float: none; }

/* Image Thumbnails */
.th {
  border: solid 4px #FFFFFF;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: all 200ms ease-out; }
  .th:hover, .th:focus {
    box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); }
  .th.radius {
    border-radius: 3px; }

/* Tooltips */
.has-tip {
  border-bottom: dotted 1px #CCCCCC;
  color: #333333;
  cursor: help;
  font-weight: bold; }
  .has-tip:hover, .has-tip:focus {
    border-bottom: dotted 1px #003f54;
    color: #008CBA; }
  .has-tip.tip-left, .has-tip.tip-right {
    float: none !important; }

.tooltip {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.3;
  max-width: 300px;
  padding: 0.75rem;
  position: absolute;
  width: 100%;
  z-index: 1006;
  left: 50%; }
  .tooltip > .nub {
    border-color: transparent transparent #333333 transparent;
    border: solid 5px;
    display: block;
    height: 0;
    pointer-events: none;
    position: absolute;
    top: -10px;
    width: 0;
    left: 5px; }
    .tooltip > .nub.rtl {
      left: auto;
      right: 5px; }
  .tooltip.radius {
    border-radius: 3px; }
  .tooltip.round {
    border-radius: 1000px; }
    .tooltip.round > .nub {
      left: 2rem; }
  .tooltip.opened {
    border-bottom: dotted 1px #003f54 !important;
    color: #008CBA !important; }

.tap-to-close {
  color: #777777;
  display: block;
  font-size: 0.625rem;
  font-weight: normal; }

@media only screen and (min-width: 40.0625em) {
  .tooltip > .nub {
    border-color: transparent transparent #333333 transparent;
    top: -10px; }
  .tooltip.tip-top > .nub {
    border-color: #333333 transparent transparent transparent;
    bottom: -10px;
    top: auto; }
  .tooltip.tip-left, .tooltip.tip-right {
    float: none !important; }
  .tooltip.tip-left > .nub {
    border-color: transparent transparent transparent #333333;
    left: auto;
    margin-top: -5px;
    right: -10px;
    top: 50%; }
  .tooltip.tip-right > .nub {
    border-color: transparent #333333 transparent transparent;
    left: -10px;
    margin-top: -5px;
    right: auto;
    top: 50%; } }

meta.foundation-mq-topbar {
  font-family: "/only screen and (min-width:40.0625em)/";
  width: 40.0625em; }

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid {
  width: 100%;
  background: #333333; }
  .contain-to-grid .top-bar {
    margin-bottom: 0; }

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  left: 0; }
  .fixed.expanded:not(.top-bar) {
    height: auto;
    max-height: 100%;
    overflow-y: auto;
    width: 100%; }
    .fixed.expanded:not(.top-bar) .title-area {
      position: fixed;
      width: 100%;
      z-index: 99; }
    .fixed.expanded:not(.top-bar) .top-bar-section {
      margin-top: 2.8125rem;
      z-index: 98; }

.top-bar {
  background: #333333;
  height: 2.8125rem;
  line-height: 2.8125rem;
  margin-bottom: 0;
  overflow: hidden;
  position: relative; }
  .top-bar ul {
    list-style: none;
    margin-bottom: 0; }
  .top-bar .row {
    max-width: none; }
  .top-bar form,
  .top-bar input,
  .top-bar select {
    margin-bottom: 0; }
  .top-bar input,
  .top-bar select {
    font-size: 0.75rem;
    height: 1.75rem;
    padding-bottom: .35rem;
    padding-top: .35rem; }
  .top-bar .button, .top-bar button {
    font-size: 0.75rem;
    margin-bottom: 0;
    padding-bottom: 0.4125rem;
    padding-top: 0.4125rem; }
    @media only screen and (max-width: 40em) {
      .top-bar .button, .top-bar button {
        position: relative;
        top: -1px; } }
  .top-bar .title-area {
    margin: 0;
    position: relative; }
  .top-bar .name {
    font-size: 16px;
    height: 2.8125rem;
    margin: 0; }
    .top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span {
      font-size: 1.0625rem;
      line-height: 2.8125rem;
      margin: 0; }
      .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a {
        color: #FFFFFF;
        display: block;
        font-weight: normal;
        padding: 0 0.9375rem;
        width: 75%; }
  .top-bar .toggle-topbar {
    position: absolute;
    right: 0;
    top: 0; }
    .top-bar .toggle-topbar a {
      color: #FFFFFF;
      display: block;
      font-size: 0.8125rem;
      font-weight: bold;
      height: 2.8125rem;
      line-height: 2.8125rem;
      padding: 0 0.9375rem;
      position: relative;
      text-transform: uppercase; }
    .top-bar .toggle-topbar.menu-icon {
      margin-top: -16px;
      top: 50%; }
      .top-bar .toggle-topbar.menu-icon a {
        color: #FFFFFF;
        height: 34px;
        line-height: 33px;
        padding: 0 2.5rem 0 0.9375rem;
        position: relative; }
        .top-bar .toggle-topbar.menu-icon a span::after {
          content: "";
          display: block;
          height: 0;
          position: absolute;
          margin-top: -8px;
          top: 50%;
          right: 0.9375rem;
          box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
          width: 16px; }
        .top-bar .toggle-topbar.menu-icon a span:hover:after {
          box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; }
  .top-bar.expanded {
    background: transparent;
    height: auto; }
    .top-bar.expanded .title-area {
      background: #333333; }
    .top-bar.expanded .toggle-topbar a {
      color: #888888; }
      .top-bar.expanded .toggle-topbar a span::after {
        box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; }
    @media screen and (-webkit-min-device-pixel-ratio: 0) {
      .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
      .top-bar.expanded .top-bar-section .dropdown {
        clip: initial; }
      .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
        padding: 0; } }

.top-bar-section {
  left: 0;
  position: relative;
  width: auto;
  transition: left 300ms ease-out; }
  .top-bar-section ul {
    display: block;
    font-size: 16px;
    height: auto;
    margin: 0;
    padding: 0;
    width: 100%; }
  .top-bar-section .divider,
  .top-bar-section [role="separator"] {
    border-top: solid 1px #1a1a1a;
    clear: both;
    height: 1px;
    width: 100%; }
  .top-bar-section ul li > a {
    color: #FFFFFF;
    display: block;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 0.8125rem;
    font-weight: normal;
    padding-left: 0.9375rem;
    padding: 12px 0 12px 0.9375rem;
    text-transform: none;
    width: 100%; }
    .top-bar-section ul li > a.button {
      font-size: 0.8125rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      background-color: #008CBA;
      border-color: #007095;
      color: #FFFFFF; }
      .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
        background-color: #007095; }
      .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
        color: #FFFFFF; }
    .top-bar-section ul li > a.button.secondary {
      background-color: #e7e7e7;
      border-color: #b9b9b9;
      color: #333333; }
      .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
        background-color: #b9b9b9; }
      .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
        color: #333333; }
    .top-bar-section ul li > a.button.success {
      background-color: #43AC6A;
      border-color: #368a55;
      color: #FFFFFF; }
      .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
        background-color: #368a55; }
      .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
        color: #FFFFFF; }
    .top-bar-section ul li > a.button.alert {
      background-color: #f04124;
      border-color: #cf2a0e;
      color: #FFFFFF; }
      .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
        background-color: #cf2a0e; }
      .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
        color: #FFFFFF; }
    .top-bar-section ul li > a.button.warning {
      background-color: #f08a24;
      border-color: #cf6e0e;
      color: #FFFFFF; }
      .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
        background-color: #cf6e0e; }
      .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
        color: #FFFFFF; }
    .top-bar-section ul li > a.button.info {
      background-color: #a0d3e8;
      border-color: #61b6d9;
      color: #333333; }
      .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
        background-color: #61b6d9; }
      .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
        color: #FFFFFF; }
  .top-bar-section ul li > button {
    font-size: 0.8125rem;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    background-color: #008CBA;
    border-color: #007095;
    color: #FFFFFF; }
    .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
      background-color: #007095; }
    .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
      color: #FFFFFF; }
    .top-bar-section ul li > button.secondary {
      background-color: #e7e7e7;
      border-color: #b9b9b9;
      color: #333333; }
      .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
        background-color: #b9b9b9; }
      .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
        color: #333333; }
    .top-bar-section ul li > button.success {
      background-color: #43AC6A;
      border-color: #368a55;
      color: #FFFFFF; }
      .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
        background-color: #368a55; }
      .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
        color: #FFFFFF; }
    .top-bar-section ul li > button.alert {
      background-color: #f04124;
      border-color: #cf2a0e;
      color: #FFFFFF; }
      .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
        background-color: #cf2a0e; }
      .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
        color: #FFFFFF; }
    .top-bar-section ul li > button.warning {
      background-color: #f08a24;
      border-color: #cf6e0e;
      color: #FFFFFF; }
      .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
        background-color: #cf6e0e; }
      .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
        color: #FFFFFF; }
    .top-bar-section ul li > button.info {
      background-color: #a0d3e8;
      border-color: #61b6d9;
      color: #333333; }
      .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
        background-color: #61b6d9; }
      .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
        color: #FFFFFF; }
  .top-bar-section ul li:hover:not(.has-form) > a {
    background-color: #555555;
    color: #FFFFFF;
    background: #222222; }
  .top-bar-section ul li.active > a {
    background: #008CBA;
    color: #FFFFFF; }
    .top-bar-section ul li.active > a:hover {
      background: #0078a0;
      color: #FFFFFF; }
  .top-bar-section .has-form {
    padding: 0.9375rem; }
  .top-bar-section .has-dropdown {
    position: relative; }
    .top-bar-section .has-dropdown > a:after {
      border: inset 5px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
      border-left-style: solid;
      margin-right: 0.9375rem;
      margin-top: -4.5px;
      position: absolute;
      top: 50%;
      right: 0; }
    .top-bar-section .has-dropdown.moved {
      position: static; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        position: static !important;
        height: auto;
        width: auto;
        overflow: visible;
        clip: auto;
        display: block;
        position: absolute !important;
        width: 100%; }
      .top-bar-section .has-dropdown.moved > a:after {
        display: none; }
  .top-bar-section .dropdown {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    display: block;
    padding: 0;
    position: absolute;
    top: 0;
    z-index: 99;
    left: 100%; }
    .top-bar-section .dropdown li {
      height: auto;
      width: 100%; }
      .top-bar-section .dropdown li a {
        font-weight: normal;
        padding: 8px 0.9375rem; }
        .top-bar-section .dropdown li a.parent-link {
          font-weight: normal; }
      .top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link {
        margin-bottom: 0;
        margin-top: 0;
        font-size: 1.125rem; }
        .top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a {
          color: #FFFFFF;
          display: block; }
          .top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover {
            background: none; }
      .top-bar-section .dropdown li.has-form {
        padding: 8px 0.9375rem; }
      .top-bar-section .dropdown li .button,
      .top-bar-section .dropdown li button {
        top: auto; }
    .top-bar-section .dropdown label {
      color: #777777;
      font-size: 0.625rem;
      font-weight: bold;
      margin-bottom: 0;
      padding: 8px 0.9375rem 2px;
      text-transform: uppercase; }

.js-generated {
  display: block; }

@media only screen and (min-width: 40.0625em) {
  .top-bar {
    background: #333333;
    overflow: visible; }
    .top-bar:before, .top-bar:after {
      content: " ";
      display: table; }
    .top-bar:after {
      clear: both; }
    .top-bar .toggle-topbar {
      display: none; }
    .top-bar .title-area {
      float: left; }
    .top-bar .name h1 a,
    .top-bar .name h2 a,
    .top-bar .name h3 a,
    .top-bar .name h4 a,
    .top-bar .name h5 a,
    .top-bar .name h6 a {
      width: auto; }
    .top-bar input,
    .top-bar select,
    .top-bar .button,
    .top-bar button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    .top-bar.expanded {
      background: #333333; }
  .contain-to-grid .top-bar {
    margin-bottom: 0;
    margin: 0 auto;
    max-width: 90rem; }
  .top-bar-section {
    transition: none 0 0;
    left: 0 !important; }
    .top-bar-section ul {
      display: inline;
      height: auto !important;
      width: auto; }
      .top-bar-section ul li {
        float: left; }
        .top-bar-section ul li .js-generated {
          display: none; }
    .top-bar-section li.hover > a:not(.button) {
      background-color: #555555;
      background: #222222;
      color: #FFFFFF; }
    .top-bar-section li:not(.has-form) a:not(.button) {
      background: #333333;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li:not(.has-form) a:not(.button):hover {
        background-color: #555555;
        background: #222222; }
    .top-bar-section li.active:not(.has-form) a:not(.button) {
      background: #008CBA;
      color: #FFFFFF;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li.active:not(.has-form) a:not(.button):hover {
        background: #0078a0;
        color: #FFFFFF; }
    .top-bar-section .has-dropdown > a {
      padding-right: 2.1875rem !important; }
      .top-bar-section .has-dropdown > a:after {
        border: inset 5px;
        content: "";
        display: block;
        height: 0;
        width: 0;
        border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
        border-top-style: solid;
        margin-top: -2.5px;
        top: 1.40625rem; }
    .top-bar-section .has-dropdown.moved {
      position: relative; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        clip: rect(1px, 1px, 1px, 1px);
        height: 1px;
        overflow: hidden;
        position: absolute !important;
        width: 1px;
        display: block; }
    .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown > a:focus + .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
      border: none;
      content: "\00bb";
      top: 0.1875rem;
      right: 5px; }
    .top-bar-section .dropdown {
      left: 0;
      background: transparent;
      min-width: 100%;
      top: auto; }
      .top-bar-section .dropdown li a {
        background: #333333;
        color: #FFFFFF;
        line-height: 2.8125rem;
        padding: 12px 0.9375rem;
        white-space: nowrap; }
      .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
        background: #333333;
        color: #FFFFFF; }
      .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
        background-color: #555555;
        color: #FFFFFF;
        background: #222222; }
      .top-bar-section .dropdown li label {
        background: #333333;
        white-space: nowrap; }
      .top-bar-section .dropdown li .dropdown {
        left: 100%;
        top: 0; }
    .top-bar-section > ul > .divider,
    .top-bar-section > ul > [role="separator"] {
      border-right: solid 1px #4e4e4e;
      border-bottom: none;
      border-top: none;
      clear: none;
      height: 2.8125rem;
      width: 0; }
    .top-bar-section .has-form {
      background: #333333;
      height: 2.8125rem;
      padding: 0 0.9375rem; }
    .top-bar-section .right li .dropdown {
      left: auto;
      right: 0; }
      .top-bar-section .right li .dropdown li .dropdown {
        right: 100%; }
    .top-bar-section .left li .dropdown {
      right: auto;
      left: 0; }
      .top-bar-section .left li .dropdown li .dropdown {
        left: 100%; }
  .no-js .top-bar-section ul li:hover > a {
    background-color: #555555;
    background: #222222;
    color: #FFFFFF; }
  .no-js .top-bar-section ul li:active > a {
    background: #008CBA;
    color: #FFFFFF; }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; } }

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

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

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

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

@media only screen and (max-width: 40em) {
  .small-only-text-left {
    text-align: left !important; }
  .small-only-text-right {
    text-align: right !important; }
  .small-only-text-center {
    text-align: center !important; }
  .small-only-text-justify {
    text-align: justify !important; } }

@media only screen {
  .small-text-left {
    text-align: left !important; }
  .small-text-right {
    text-align: right !important; }
  .small-text-center {
    text-align: center !important; }
  .small-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 40.0625em) and (max-width: 64em) {
  .medium-only-text-left {
    text-align: left !important; }
  .medium-only-text-right {
    text-align: right !important; }
  .medium-only-text-center {
    text-align: center !important; }
  .medium-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 40.0625em) {
  .medium-text-left {
    text-align: left !important; }
  .medium-text-right {
    text-align: right !important; }
  .medium-text-center {
    text-align: center !important; }
  .medium-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 64.0625em) and (max-width: 90em) {
  .large-only-text-left {
    text-align: left !important; }
  .large-only-text-right {
    text-align: right !important; }
  .large-only-text-center {
    text-align: center !important; }
  .large-only-text-justify {
    text-align: justify !important; } }

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

@media only screen and (min-width: 90.0625em) and (max-width: 120em) {
  .xlarge-only-text-left {
    text-align: left !important; }
  .xlarge-only-text-right {
    text-align: right !important; }
  .xlarge-only-text-center {
    text-align: center !important; }
  .xlarge-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 90.0625em) {
  .xlarge-text-left {
    text-align: left !important; }
  .xlarge-text-right {
    text-align: right !important; }
  .xlarge-text-center {
    text-align: center !important; }
  .xlarge-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em) {
  .xxlarge-only-text-left {
    text-align: left !important; }
  .xxlarge-only-text-right {
    text-align: right !important; }
  .xxlarge-only-text-center {
    text-align: center !important; }
  .xxlarge-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 120.0625em) {
  .xxlarge-text-left {
    text-align: left !important; }
  .xxlarge-text-right {
    text-align: right !important; }
  .xxlarge-text-center {
    text-align: center !important; }
  .xxlarge-text-justify {
    text-align: justify !important; } }

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

/* Default Link Styles */
a {
  color: #008CBA;
  line-height: inherit;
  text-decoration: none; }
  a:hover, a:focus {
    color: #0078a0; }
  a img {
    border: none; }

/* Default paragraph styles */
p {
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-rendering: optimizeLegibility; }
  p.lead {
    font-size: 1.21875rem;
    line-height: 1.6; }
  p aside {
    font-size: 0.875rem;
    font-style: italic;
    line-height: 1.35; }

/* Default header styles */
h1, h2, h3, h4, h5, h6 {
  color: #222222;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  margin-top: 0.2rem;
  text-rendering: optimizeLegibility; }
  h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    color: #6f6f6f;
    font-size: 60%;
    line-height: 0; }

h1 {
  font-size: 2.125rem; }

h2 {
  font-size: 1.6875rem; }

h3 {
  font-size: 1.375rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.125rem; }

h6 {
  font-size: 1rem; }

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

hr {
  border: solid #DDDDDD;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 1.25rem 0 1.1875rem; }

/* Helpful Typography Defaults */
em,
i {
  font-style: italic;
  line-height: inherit; }

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

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

code {
  background-color: #f8f8f8;
  border-color: #dfdfdf;
  border-style: solid;
  border-width: 1px;
  color: #333333;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  padding: 0.125rem 0.3125rem 0.0625rem; }

/* Lists */
ul,
ol,
dl {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  list-style-position: outside;
  margin-bottom: 1.25rem; }

ul {
  margin-left: 1.1rem; }
  ul.no-bullet {
    margin-left: 0; }
    ul.no-bullet li ul,
    ul.no-bullet li ol {
      margin-left: 1.25rem;
      margin-bottom: 0;
      list-style: none; }

/* Unordered Lists */
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit; }

ul.square {
  list-style-type: square;
  margin-left: 1.1rem; }

ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem; }

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

ul.no-bullet {
  list-style: none; }

/* Ordered Lists */
ol {
  margin-left: 1.4rem; }
  ol li ul,
  ol li ol {
    margin-left: 1.25rem;
    margin-bottom: 0; }

/* Definition Lists */
dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold; }

dl dd {
  margin-bottom: 0.75rem; }

/* Abbreviations */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #222;
  cursor: help; }

abbr {
  text-transform: none; }
  abbr[title] {
    border-bottom: 1px dotted #DDDDDD; }

/* Microformats */
.vcard {
  display: inline-block;
  margin: 0 0 1.25rem 0;
  border: 1px solid #DDDDDD;
  padding: 0.625rem 0.75rem; }
  .vcard li {
    margin: 0;
    display: block; }
  .vcard .fn {
    font-weight: bold;
    font-size: 0.9375rem; }

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

.vevent abbr {
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  border: none;
  padding: 0 0.0625rem; }

@media only screen and (min-width: 40.0625em) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4; }
  h1 {
    font-size: 2.75rem; }
  h2 {
    font-size: 2.3125rem; }
  h3 {
    font-size: 1.6875rem; }
  h4 {
    font-size: 1.4375rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 1rem; } }

.off-canvas-wrap {
  -webkit-backface-visibility: hidden;
  position: relative;
  width: 100%;
  overflow: hidden; }
  .off-canvas-wrap.move-right, .off-canvas-wrap.move-left {
    min-height: 100%;
    -webkit-overflow-scrolling: touch; }

.inner-wrap {
  position: relative;
  width: 100%;
  transition: transform 500ms ease; }
  .inner-wrap:before, .inner-wrap:after {
    content: " ";
    display: table; }
  .inner-wrap:after {
    clear: both; }

.tab-bar {
  -webkit-backface-visibility: hidden;
  background: #333333;
  color: #FFFFFF;
  height: 2.8125rem;
  line-height: 2.8125rem;
  position: relative; }
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 {
    color: #FFFFFF;
    font-weight: bold;
    line-height: 2.8125rem;
    margin: 0; }
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
    font-size: 1.125rem; }

.left-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-right: solid 1px #1a1a1a;
  left: 0; }

.right-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-left: solid 1px #1a1a1a;
  right: 0; }

.tab-bar-section {
  height: 2.8125rem;
  padding: 0 0.625rem;
  position: absolute;
  text-align: center;
  top: 0; }
  .tab-bar-section.left {
    text-align: left; }
  .tab-bar-section.right {
    text-align: right; }
  .tab-bar-section.left {
    left: 0;
    right: 2.8125rem; }
  .tab-bar-section.right {
    left: 2.8125rem;
    right: 0; }
  .tab-bar-section.middle {
    left: 2.8125rem;
    right: 2.8125rem; }

.tab-bar .menu-icon {
  color: #FFFFFF;
  display: block;
  height: 2.8125rem;
  padding: 0;
  position: relative;
  text-indent: 2.1875rem;
  transform: translate3d(0, 0, 0);
  width: 2.8125rem; }
  .tab-bar .menu-icon span::after {
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
    left: 0.90625rem;
    box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
    width: 1rem; }
  .tab-bar .menu-icon span:hover:after {
    box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; }

.left-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  transition: transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  transform: translate3d(-100%, 0, 0);
  left: 0; }
  .left-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.right-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  transition: transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  transform: translate3d(100%, 0, 0);
  right: 0; }
  .right-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

ul.off-canvas-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  ul.off-canvas-list li label {
    background: #444444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    display: block;
    font-size: 0.75rem;
    font-weight: bold;
    margin: 0;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase; }
  ul.off-canvas-list li a {
    border-bottom: 1px solid #262626;
    color: rgba(255, 255, 255, 0.7);
    display: block;
    padding: 0.66667rem;
    transition: background 300ms ease; }
    ul.off-canvas-list li a:hover {
      background: #242424; }
    ul.off-canvas-list li a:active {
      background: #242424; }

.move-right > .inner-wrap {
  transform: translate3d(15.625rem, 0, 0); }

.move-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .move-right .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.move-left > .inner-wrap {
  transform: translate3d(-15.625rem, 0, 0); }

.move-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .move-left .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu {
  transform: none;
  z-index: 1003; }

.offcanvas-overlap .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-left .right-off-canvas-menu {
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap-left .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-right .left-off-canvas-menu {
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap-right .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.no-csstransforms .left-off-canvas-menu {
  left: -15.625rem; }

.no-csstransforms .right-off-canvas-menu {
  right: -15.625rem; }

.no-csstransforms .move-left > .inner-wrap {
  right: 15.625rem; }

.no-csstransforms .move-right > .inner-wrap {
  left: 15.625rem; }

.left-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  z-index: 1002;
  transform: translate3d(-100%, 0, 0);
  left: 0;
  transition: transform 500ms ease; }
  .left-submenu * {
    -webkit-backface-visibility: hidden; }
  .left-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .left-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .left-submenu .back > a:before {
      content: "\AB";
      margin-right: .5rem;
      display: inline; }
  .left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap {
    transform: translate3d(0%, 0, 0); }

.right-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  z-index: 1002;
  transform: translate3d(100%, 0, 0);
  right: 0;
  transition: transform 500ms ease; }
  .right-submenu * {
    -webkit-backface-visibility: hidden; }
  .right-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .right-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .right-submenu .back > a:after {
      content: "\BB";
      margin-left: .5rem;
      display: inline; }
  .right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap {
    transform: translate3d(0%, 0, 0); }

.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
  content: "\BB";
  margin-left: .5rem;
  display: inline; }

.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
  content: "\AB";
  margin-right: .5rem;
  display: inline; }

/* small displays */
@media only screen {
  .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* medium displays */
@media only screen and (min-width: 40.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* large displays */
@media only screen and (min-width: 64.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xlarge displays */
@media only screen and (min-width: 90.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xxlarge displays */
@media only screen and (min-width: 120.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* Orientation targeting */
.show-for-landscape,
.hide-for-portrait {
  display: inherit !important; }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }

/* Specific visibility for tables */
table.hide-for-landscape, table.show-for-portrait {
  display: table !important; }

thead.hide-for-landscape, thead.show-for-portrait {
  display: table-header-group !important; }

tbody.hide-for-landscape, tbody.show-for-portrait {
  display: table-row-group !important; }

tr.hide-for-landscape, tr.show-for-portrait {
  display: table-row !important; }

td.hide-for-landscape, td.show-for-portrait,
th.hide-for-landscape,
th.show-for-portrait {
  display: table-cell !important; }

@media only screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: inherit !important; }
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important; }
  /* Specific visibility for tables */
  table.show-for-landscape, table.hide-for-portrait {
    display: table !important; }
  thead.show-for-landscape, thead.hide-for-portrait {
    display: table-header-group !important; }
  tbody.show-for-landscape, tbody.hide-for-portrait {
    display: table-row-group !important; }
  tr.show-for-landscape, tr.hide-for-portrait {
    display: table-row !important; }
  td.show-for-landscape, td.hide-for-portrait,
  th.show-for-landscape,
  th.hide-for-portrait {
    display: table-cell !important; } }

@media only screen and (orientation: portrait) {
  .show-for-portrait,
  .hide-for-landscape {
    display: inherit !important; }
  .hide-for-portrait,
  .show-for-landscape {
    display: none !important; }
  /* Specific visibility for tables */
  table.show-for-portrait, table.hide-for-landscape {
    display: table !important; }
  thead.show-for-portrait, thead.hide-for-landscape {
    display: table-header-group !important; }
  tbody.show-for-portrait, tbody.hide-for-landscape {
    display: table-row-group !important; }
  tr.show-for-portrait, tr.hide-for-landscape {
    display: table-row !important; }
  td.show-for-portrait, td.hide-for-landscape,
  th.show-for-portrait,
  th.hide-for-landscape {
    display: table-cell !important; } }

/* Touch-enabled device targeting */
.show-for-touch {
  display: none !important; }

.hide-for-touch {
  display: inherit !important; }

.touch .show-for-touch {
  display: inherit !important; }

.touch .hide-for-touch {
  display: none !important; }

/* Specific visibility for tables */
table.hide-for-touch {
  display: table !important; }

.touch table.show-for-touch {
  display: table !important; }

thead.hide-for-touch {
  display: table-header-group !important; }

.touch thead.show-for-touch {
  display: table-header-group !important; }

tbody.hide-for-touch {
  display: table-row-group !important; }

.touch tbody.show-for-touch {
  display: table-row-group !important; }

tr.hide-for-touch {
  display: table-row !important; }

.touch tr.show-for-touch {
  display: table-row !important; }

td.hide-for-touch {
  display: table-cell !important; }

.touch td.show-for-touch {
  display: table-cell !important; }

th.hide-for-touch {
  display: table-cell !important; }

.touch th.show-for-touch {
  display: table-cell !important; }

/* Screen reader-specific classes */
.show-for-sr {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }

.show-on-focus {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }
  .show-on-focus:focus, .show-on-focus:active {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }

/*
       * Print styles.
       *
       * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
       * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
      */
.print-only {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: #000000 !important;
    /* Black prints faster: h5bp.com/s */
    text-shadow: none !important; }
  .show-for-print {
    display: block; }
  .hide-for-print {
    display: none; }
  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) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre {
    padding: 25px 0px 25px 50px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    color: #408CFF;
    font-size: 1.125rem;
    font-weight: normal; }
  thead {
    display: table-header-group;
    /* h5bp.com/t */ }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: .5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .hide-on-print {
    display: none !important; }
  .print-only {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  .show-for-print {
    display: inherit !important; } }

/* Print visibility */
@media print {
  .show-for-print {
    display: block; }
  .hide-for-print {
    display: none; }
  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; } }

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

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

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  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; }

.icon-email:before {
  content: "\e912"; }

.icon-search:before {
  content: "\e911"; }

.icon-carrot_left:before {
  content: "\e90e"; }

.icon-carrot_up:before {
  content: "\e910"; }

.icon-carrot_right:before {
  content: "\e90f"; }

.icon-icon_home:before {
  content: "\e901"; }

.icon-markets_academic:before {
  content: "\e902"; }

.icon-markets_aviation:before {
  content: "\e903"; }

.icon-markets_civic:before {
  content: "\e904"; }

.icon-markets_commercial:before {
  content: "\e905"; }

.icon-markets_design_build:before {
  content: "\e906"; }

.icon-markets_historic:before {
  content: "\e907"; }

.icon-markets_interior_design:before {
  content: "\e908"; }

.icon-markets_net_positive:before {
  content: "\e909"; }

.icon-social_facebook:before {
  content: "\e90a"; }

.icon-social_instagram:before {
  content: "\e90b"; }

.icon-social_linkedin:before {
  content: "\e90c"; }

.icon-social_twitter:before {
  content: "\e90d"; }

.icon-arrow-right:before {
  content: "\e900"; }

@font-face {
  font-family: 'FF Meta';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/meta_normal_lf_roman-webfont.woff"); }

@font-face {
  font-family: 'FF Meta';
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/meta_normal_lf_italic-webfont.woff"); }

@font-face {
  font-family: 'FF Meta';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/meta_medium_lf_roman-webfont.woff"); }

@font-face {
  font-family: 'FF Meta';
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/meta_medium_lf_italic-webfont.woff"); }

@font-face {
  font-family: 'FF Meta';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/meta_bold_lf_roman-webfont.woff"); }

@font-face {
  font-family: 'FF Meta';
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/meta_bold_lf_italic-webfont.woff"); }

* {
  -webkit-font-smoothing: antialiased;
  /* Chrome, Safari */
  -moz-osx-font-smoothing: grayscale;
  /* Firefox */ }

p {
  font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  margin: 0;
  font-size: 1rem;
  line-height: 1.6; }
  @media only screen and (min-width: 64.0625em) {
    p {
      font-size: 1.125rem; } }
  p.small {
    font-size: 0.875rem; }
    @media only screen and (min-width: 64.0625em) {
      p.small {
        font-size: 1rem; } }
  p.intro {
    font-size: 1.1875rem; }
    @media only screen and (min-width: 64.0625em) {
      p.intro {
        font-size: 1.375rem; } }

span.word-highlight {
  font-size: 88%;
  color: #231f20;
  text-transform: uppercase;
  font-weight: normal; }

dl, ol, ul {
  font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 1rem;
  line-height: 1.6; }
  @media only screen and (min-width: 64.0625em) {
    dl, ol, ul {
      font-size: 1.125rem; } }

a:not(.button) {
  font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500; }
  .no-touch a:not(.button) {
    transition: color .3s ease-in-out; }
  a:not(.button):link, a:not(.button):visited {
    color: #fa4616; }
  a:not(.button):hover, a:not(.button):active {
    color: #636466; }

a[disabled="disabled"]:not(.button) {
  color: #9d9fa1; }

a.fancy-link {
  text-transform: uppercase;
  display: inline-block;
  position: relative;
  text-decoration: none !important;
  padding-right: 1.875rem; }
  a.fancy-link:after {
    transition: right .2s ease-in-out;
    transform: translate3d(0, -50%, 0);
    top: 50%;
    right: 0.25rem;
    position: absolute;
    font-size: 0.75rem;
    font-family: 'icomoon';
    content: "\e900";
    display: inline-block; }
  a.fancy-link:hover {
    color: #636466; }
    a.fancy-link:hover::after {
      right: 0; }

#body blockquote {
  border-top: 1px solid #CECECE;
  border-bottom: 1px solid #CECECE;
  margin: 2rem 0;
  padding: 25px; }
  #body blockquote > p {
    font-size: 1.1875rem !important;
    line-height: 1.6;
    margin-bottom: 0;
    color: #408cff;
    font-style: italic;
    border-top-color: #CECECE;
    border-bottom-color: #CECECE; }
    @media only screen and (min-width: 64.0625em) {
      #body blockquote > p {
        font-size: 1.3125rem !important; } }
  #body blockquote cite,
  #body blockquote cite p,
  #body blockquote p.cite {
    color: #408cff;
    display: block;
    font-style: normal;
    margin-top: .75rem;
    font-size: 0.875rem; }
    @media only screen and (min-width: 64.0625em) {
      #body blockquote cite,
      #body blockquote cite p,
      #body blockquote p.cite {
        font-size: 1rem; } }

h1 {
  font-size: 2.25rem; }
  @media only screen and (min-width: 64.0625em) {
    h1 {
      font-size: 3.4375rem; } }
  h1.page-title {
    font-size: 1.875rem; }
    @media only screen and (min-width: 64.0625em) {
      h1.page-title {
        font-size: 2.625rem; } }
  h1.project-title {
    font-weight: normal; }

h2 {
  display: block;
  font-size: 1.875rem; }
  @media only screen and (min-width: 64.0625em) {
    h2 {
      font-size: 2.625rem; } }
  h2.page-title {
    font-weight: bold; }

h3 {
  font-size: 1.5625rem; }
  @media only screen and (min-width: 64.0625em) {
    h3 {
      font-size: 1.875rem; } }

h4 {
  font-size: 1.25rem; }
  @media only screen and (min-width: 64.0625em) {
    h4 {
      font-size: 1.5rem; } }

h5 {
  font-size: 1.125rem; }
  @media only screen and (min-width: 64.0625em) {
    h5 {
      font-size: 1.25rem; } }

h6 {
  font-size: 0.9375rem; }
  @media only screen and (min-width: 64.0625em) {
    h6 {
      font-size: 1.0625rem; } }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.2;
  font-weight: 500;
  color: #231f20;
  font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  margin: .75rem 0 .25rem; }
  h1.center, h2.center, h3.center, h4.center, h5.center, h6.center {
    text-align: center; }

.heading-uppercase {
  text-transform: uppercase;
  font-weight: normal; }

.home-page-title {
  font-size: 75px; }

/* Foundation Overrides */
.reveal-modal {
  min-height: none;
  border-radius: 0px;
  padding: 2rem;
  border: 0px solid #666; }
  .reveal-modal .flex-video {
    margin: 0; }
  .reveal-modal .close-reveal-modal {
    font-size: 2rem;
    top: 0;
    right: 0.3125rem; }

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important; }

body {
  margin-top: 90px; }

@media (max-width: 767px) {
  body {
    margin-top: 72px; } }

#site_header {
  display: flex;
  /* OLD - iOS 6-, Safari 3.1-6 */
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  -ms-flex-align: center;
      align-items: center;
  position: fixed;
  width: 100%;
  height: 5rem;
  background-color: #fff;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  padding: 0 1rem;
  transition: all 0.2s ease; }
  @media (max-width: 767px) {
    #site_header {
      padding: 0 15px;
      height: 4.5rem; } }
  #site_header.scroll {
    height: 4.125rem;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15); }
    @media only screen and (min-width: 40.0625em) {
      #site_header.scroll {
        height: 4.5rem; } }
  #site_header .site-logo {
    line-height: 0.5;
    position: relative;
    z-index: 20;
    opacity: 1;
    transition: opacity 300ms; }
    #site_header .site-logo #logo {
      height: 4.5rem;
      margin-bottom: 20px;
      fill: #fff;
      transition: all 300ms; }
      @media (max-width: 767px) {
        #site_header .site-logo #logo {
          margin-bottom: 22px;
          height: 3.2rem; } }
    #site_header .site-logo #nav_home {
      height: 1.725rem;
      position: absolute;
      left: 0;
      top: 0;
      fill: #fff;
      transition: all 0.3s;
      bottom: 0;
      margin: auto;
      opacity: 0; }
  #site_header .nav-toggle {
    position: absolute;
    width: 1.5rem;
    height: 1.0625rem;
    top: 0;
    right: 1rem;
    bottom: -30px;
    background: 0 0;
    padding: 0;
    margin: auto;
    z-index: 20; }
    @media (max-width: 767px) {
      #site_header .nav-toggle {
        bottom: -9px; } }
    #site_header .nav-toggle:focus {
      outline: none; }
    @media only screen and (min-width: 40.0625em) {
      #site_header .nav-toggle {
        right: 2rem; } }
    #site_header .nav-toggle span, #site_header .nav-toggle:before, #site_header .nav-toggle:after {
      content: ' ';
      display: block;
      height: 3px;
      width: 24px;
      background: #231f20;
      position: absolute;
      left: 0;
      right: 0;
      transition: all 300ms; }
    #site_header .nav-toggle span {
      position: relative;
      opacity: 1; }
    #site_header .nav-toggle:before {
      top: 0; }
    #site_header .nav-toggle:after {
      content: ' ';
      bottom: 0; }
  #site_header nav {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(35, 31, 32, 0.82);
    z-index: 10;
    padding: 6rem 1.725rem;
    overflow-y: scroll; }
    @media only screen and (min-width: 40.0625em) {
      #site_header nav {
        padding: 6rem 3.5rem; } }
    #site_header nav .menu {
      list-style: none;
      text-align: right; }
      #site_header nav .menu > li {
        margin: 0 0 1.625rem 0; }
      #site_header nav .menu .unclickable > a:hover {
        cursor: default !important;
        color: white !important; }
      #site_header nav .menu li {
        list-style: none; }
        #site_header nav .menu li a {
          font-size: 1.75rem;
          line-height: 2.125rem;
          font-weight: 300;
          color: #fff;
          font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
          display: block;
          margin: 0 0 0.5rem 0; }
          #site_header nav .menu li a:hover {
            color: #fa4616; }
          @media only screen and (min-width: 40.0625em) {
            #site_header nav .menu li a {
              font-size: 1.875rem;
              line-height: 2.25rem; } }
          .touch #site_header nav .menu li a {
            transition: none; }
        #site_header nav .menu li.menu-item-has-children > a {
          text-transform: uppercase; }
        #site_header nav .menu li.menu-item-has-children ul li a {
          font-size: 1.375rem;
          line-height: 1.625rem; }
          @media only screen and (min-width: 40.0625em) {
            #site_header nav .menu li.menu-item-has-children ul li a {
              font-size: 1.5rem;
              line-height: 1.75rem; } }

body.nav-open #site_header .site-logo #logo {
  opacity: 0; }

body.nav-open #site_header .site-logo #nav_home {
  opacity: 1; }

body.nav-open #site_header .nav-toggle span {
  opacity: 0;
  background: #fff; }

body.nav-open #site_header .nav-toggle:before {
  transform: rotate3d(0, 0, 1, 45deg) translate3d(5px, 5px, 0);
  background: #fff; }

body.nav-open #site_header .nav-toggle:after {
  transform: rotate3d(0, 0, 1, -45deg) translate3d(5px, -5px, 0);
  background: #fff; }

.page--banner {
  padding-top: 4.375rem; }

.nav-search-form {
  transition: all 0.3s ease-in-out;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  position: absolute;
  right: 3rem;
  bottom: 7px;
  left: auto;
  background: #fff; }
  @media only screen and (min-width: 40.0625em) {
    .nav-search-form {
      right: 4.25rem; } }
  @media (max-width: 767px) {
    .nav-search-form {
      bottom: 0px; } }
  .nav-search-form .search-submit,
  .nav-search-form .search-toggle {
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 20px;
    padding: 5px;
    line-height: 1;
    margin-bottom: 0;
    background: transparent;
    color: #231f20;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
    @media (max-width: 767px) {
      .nav-search-form .search-submit,
      .nav-search-form .search-toggle {
        bottom: 14px; } }
    .nav-search-form .search-submit:focus,
    .nav-search-form .search-toggle:focus {
      outline: none; }
    .nav-search-form .search-submit:hover,
    .nav-search-form .search-toggle:hover {
      color: #fa4616; }
  .nav-search-form .searchfield,
  .nav-search-form .search-submit {
    margin: 0; }
  .nav-search-form #navsearch {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    transition: all 0.3s ease;
    width: 0;
    opacity: 0;
    pointer-events: none; }
    .nav-search-form #navsearch .searchfield {
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
      display: inline;
      padding: 7px 8px; }
    .nav-search-form #navsearch input[type='text'] {
      font-size: 16px;
      border: solid 0 transparent;
      font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
      box-shadow: none;
      background-color: white !important; }

body.search-open #site_header .site-logo {
  opacity: 0; }
  @media only screen and (min-width: 40.0625em) {
    body.search-open #site_header .site-logo {
      opacity: 1; } }

body.search-open .nav-search-form {
  z-index: 9;
  border-bottom: 1px solid #231f20;
  left: 1rem; }
  @media only screen and (min-width: 40.0625em) {
    body.search-open .nav-search-form {
      left: auto; } }

body.search-open #navsearch {
  width: 225px;
  max-width: 91%;
  padding-right: 3rem;
  opacity: 1;
  pointer-events: all; }
  @media only screen and (min-width: 40.0625em) {
    body.search-open #navsearch {
      width: 280px; } }
  @media only screen and (min-width: 40.0625em) {
    body.search-open #navsearch {
      width: 310px; } }

body.search-open .search-toggle {
  position: relative; }
  body.search-open .search-toggle .icon-search {
    opacity: 0; }
  body.search-open .search-toggle::before, body.search-open .search-toggle::after {
    position: absolute;
    content: '';
    display: block;
    width: 16px;
    height: 2px;
    background-color: #231f20;
    top: 50%;
    left: 50%; }
  body.search-open .search-toggle::before {
    transform: translate3d(-50%, -50%, 0) rotate(45deg); }
  body.search-open .search-toggle::after {
    transform: translate3d(-50%, -50%, 0) rotate(-45deg); }

.columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  @media only screen and (min-width: 40.0625em) {
    .columns {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media only screen and (min-width: 64.0625em) {
    .columns {
      padding-left: 1rem;
      padding-right: 1rem; } }

.button {
  transition: all .3s ease-out;
  line-height: 1;
  display: inline-block;
  font-weight: 500;
  max-width: 600px;
  background-color: transparent;
  color: white;
  border: solid 2px #231f20;
  color: #231f20;
  font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 1.1875rem;
  margin: 1.25rem auto;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 0.8125rem 1.875rem 0.875rem; }
  @media only screen and (min-width: 40.0625em) {
    .button {
      font-size: 1.3125rem;
      margin: 1.5rem auto 0; } }
  .button:focus, .button:active, .button:hover {
    background-color: #fa4616 !important;
    border: solid 2px #fa4616;
    color: white; }
  .button.discover-more {
    margin-bottom: 6.25rem; }
  .button.view-all {
    margin-top: 6.25rem; }
  .button.inverted {
    transition: all .3s ease-out;
    border-color: #ffffff;
    color: white; }
    .button.inverted:focus, .button.inverted:active, .button.inverted:hover {
      border: solid 2px #fa4616; }
  .button.filled {
    transition: all .3s ease-out;
    background-color: #fa4616;
    border-color: #fa4616;
    color: white; }
    .button.filled:focus, .button.filled:active, .button.filled:hover {
      background-color: #636466 !important;
      border: solid 2px #636466;
      color: white; }
  .button.medium {
    font-size: 1rem;
    padding: 0.6875rem 1.625rem 0.75rem; }
    @media only screen and (min-width: 40.0625em) {
      .button.medium {
        font-size: 1.125rem; } }
    .button.medium.spacing-small {
      margin: 0.625rem auto; }
      @media only screen and (min-width: 40.0625em) {
        .button.medium.spacing-small {
          margin: 0.75rem auto 0; } }
  .button.small {
    font-size: 0.875rem;
    padding: 0.625rem 1.5rem 0.6875rem; }
    @media only screen and (min-width: 40.0625em) {
      .button.small {
        font-size: 1rem; } }
  .button.max-width {
    width: 100%;
    max-width: 440px; }

body.error404 h2.page-title {
  text-align: center;
  padding-left: 0;
  padding-right: 0;
  max-width: none; }

body.error404 .searchform .button {
  padding: .75rem 1.5rem; }

a {
  color: #6b6b6b; }
  a:hover {
    color: #fa4616; }

p a {
  font-weight: bold;
  text-decoration: underline; }

.content-section figure.alignleft,
.content-section img.alignleft {
  margin-left: auto;
  margin-right: auto;
  display: block; }
  @media only screen and (min-width: 40.0625em) {
    .content-section figure.alignleft,
    .content-section img.alignleft {
      float: left;
      margin-right: 1rem;
      display: inline; } }

.content-section figure.alignright,
.content-section img.alignright {
  margin-left: auto;
  margin-right: auto;
  display: block; }
  @media only screen and (min-width: 40.0625em) {
    .content-section figure.alignright,
    .content-section img.alignright {
      float: right;
      margin-left: 1rem;
      display: inline; } }

.content-section figure.aligncenter,
.content-section img.aligncenter {
  margin-left: auto;
  margin-right: auto; }

.content-section img.aligncenter {
  display: block; }

.content-section img.aligncenter,
.content-section figure.aligncenter.wp-caption,
.content-section figure.aligncenter {
  margin-left: auto;
  margin-right: auto; }

.content-section img.aligncenter {
  display: block; }

.page .rsDefaultInv, .page .rsDefaultInv .rsOverflow, .page .rsDefaultInv .rsSlide, .page .rsDefaultInv .rsVideoFrameHolder, .page .rsDefaultInv .rsThumbs {
  width: 100% !important;
  background-color: #fff; }

body, html {
  height: 100%;
  width: 100%; }

/* wrapper */
.smoothbox {
  position: fixed;
  top: 0;
  left: 0;
  background: black;
  background: rgba(0, 0, 0, 0.9);
  height: 100%;
  width: 100%;
  z-index: 9999; }

/* faux vertical centering */
.smoothbox-table {
  top: 0;
  height: 100%;
  width: 100%;
  display: table; }

.smoothbox-centering {
  display: table-cell;
  vertical-align: middle;
  height: 100%;
  width: 100%; }

/* horizontal centering & sizing */
.smoothbox-sizing {
  display: none;
  position: relative;
  margin: 0 auto;
  padding: 0px;
  width: 80%; }

/* item wrapper */
.sb-items {
  margin: 0 auto;
  width: auto;
  padding: 0;
  list-style: none;
  border-radius: 0px;
  display: table; }

.sb-items:after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

/* items */
.sb-item {
  left: 0;
  top: 0;
  width: 100%;
  max-height: 80%;
  float: left;
  margin-right: -100%;
  position: relative;
  zoom: 1;
  border-radius: 0px;
  -webkit-backface-visibility: hidden;
  transition: all .4s ease-out; }

.no-trans {
  transition: none; }

.sb-item img {
  max-width: 100%;
  max-height: 80%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  border-radius: 0px;
  position: relative; }

/* forward animation */
.sb-item-ani {
  opacity: 0; }

/* back animation */
.sb-item-ani2 {
  opacity: 0; }

.sb-caption {
  position: absolute;
  bottom: 0px;
  width: 100%;
  background: black;
  background: rgba(0, 0, 0, 0.9);
  color: #CCC;
  font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
  padding: 10px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  z-index: 1;
  text-align: center;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; }

/* buttons */
.sb-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: table;
  z-index: 10;
  text-align: center;
  opacity: .5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
  font-size: 0;
  transition: all .15s ease-out;
  zoom: 1; }

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

.sb-prev, .sb-next, .sb-cancel {
  display: table-cell;
  position: fixed;
  top: 0;
  zoom: 1;
  outline: none;
  color: rgba(255, 255, 255, 0) !important;
  width: 33%;
  text-align: center;
  text-decoration: none;
  font-size: 21px;
  font-weight: normal;
  line-height: 33px;
  transition: all .15s ease-out; }
  .sb-prev:before, .sb-next:before, .sb-cancel:before {
    color: rgba(255, 255, 255, 0.5);
    font-size: 50px; }
  .sb-prev:hover:before, .sb-next:hover:before, .sb-cancel:hover:before {
    color: white; }

.sb-prev,
.sb-next {
  border-radius: 0;
  top: 45%;
  padding-top: 5%;
  padding-bottom: 5%; }

.sb-prev {
  position: fixed;
  padding-left: 20px;
  left: 0;
  vertical-align: middle;
  text-align: left;
  display: block;
  color: rgba(255, 255, 255, 0); }
  .sb-prev:before {
    content: '<';
    vertical-align: middle; }

.sb-next {
  position: fixed;
  padding-right: 20px;
  right: 0;
  vertical-align: middle;
  text-align: right;
  display: block;
  color: rgba(255, 255, 255, 0); }
  .sb-next:before {
    content: '>';
    vertical-align: middle;
    float: right; }

.sb-cancel {
  display: none;
  top: 20px;
  right: 20px;
  width: 40px; }
  .sb-cancel:before {
    content: 'x';
    display: block;
    vertical-align: top; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -moz-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 {
  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; }

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

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent;
    display: block !important; }
    .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.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: 25px; }
  .slick-prev:before {
    content: url("./arrow-left.svg"); }

.slick-next {
  right: 25px; }
  .slick-next:before {
    content: url("./arrow-right.svg"); }

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

.slick-dots {
  position: absolute;
  bottom: 25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 2px solid white;
      border-radius: 10px;
      background: transparent;
      display: block;
      height: 5px;
      width: 5px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        background-color: white;
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
    .slick-dots li.slick-active button {
      color: black;
      background-color: white; }

ul.pagination {
  margin-top: 1.5rem;
  display: block;
  text-align: center; }
  ul.pagination li {
    float: none;
    display: inline-block; }
    ul.pagination li span,
    ul.pagination li a {
      color: #636466;
      display: block;
      line-height: 1.2;
      font-size: 1.375rem; }
      ul.pagination li span:not(.button):active, ul.pagination li span:not(.button):link, ul.pagination li span:not(.button):visited,
      ul.pagination li a:not(.button):active,
      ul.pagination li a:not(.button):link,
      ul.pagination li a:not(.button):visited {
        color: #636466; }
        ul.pagination li span:not(.button):active:focus, ul.pagination li span:not(.button):active:hover, ul.pagination li span:not(.button):link:focus, ul.pagination li span:not(.button):link:hover, ul.pagination li span:not(.button):visited:focus, ul.pagination li span:not(.button):visited:hover,
        ul.pagination li a:not(.button):active:focus,
        ul.pagination li a:not(.button):active:hover,
        ul.pagination li a:not(.button):link:focus,
        ul.pagination li a:not(.button):link:hover,
        ul.pagination li a:not(.button):visited:focus,
        ul.pagination li a:not(.button):visited:hover {
          color: #fa4616;
          background: #ffffff; }
    ul.pagination li a {
      padding: 0.0625rem 0.5rem; }
    ul.pagination li:active a, ul.pagination li:focus a, ul.pagination li:hover a {
      background: #ffffff; }
    ul.pagination li .current {
      margin: 0.0625rem 0.625rem;
      border-bottom: 3px solid #fa4616; }

/* Cool Timeline 4.5.6 */
body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 {
  --ctw-ibx-size: 48px;
  --ctw-ibx-radius: 50;
  --ctw-cbx-main-title-font-family: $main-font;
  --ctw-cbx-title-font-family: $main-font;
  --ctw-cbx-desc-font-family: $main-font;
  --ctw-cbx-date-font-family: $main-font;
  --ctw-cbx-img-padding: 0;
  --ctw-cbx-radius: 8px 8px 5px 5px;
  --ctw-lbl-big-size: 6px;
  --ctw-lbl-small-size: 6px;
  --ctw-cbx-space: 0;
  --ctw-cbx-title-padding: 18px 15px;
  --ctw-cbx-des-padding: 14px;
  width: 100%;
  margin: 0; }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 .ctl-icondot {
    top: calc(var(--ctw-ibx-size)* .75 - var(--ctw-ibx-size)* 2); }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 .ctl-labels {
    top: calc(0px - (var(--ctw-lbl-big-size) + var(--ctw-lbl-small-size) + var(--ctw-lbl-gap)) - var(--ctw-ibx-size) * 2 + 4px); }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 .ctl-h-line {
    border: 2px solid var(--ctw-line-bg);
    top: calc(0px + var(--ctw-lbl-big-size) + var(--ctw-lbl-small-size) + var(--ctw-lbl-gap) + 0px + var(--ctw-ibx-size) - var(--ctw-line-width) * .5 + var(--lbl-bd-width)*2) !important; }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 .ctl-arrow {
    width: 36px;
    height: 36px; }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 .ctl-story {
    margin-top: calc(var(--ctw-ibx-size) * 2 + var(--ctw-lbl-big-size) + var(--ctw-lbl-small-size) + 0px + var(--ctw-lbl-gap) + var(--lbl-bd-width)*2) !important; }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev,
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next {
    border: 0 !important;
    width: auto;
    top: calc(calc(0px + var(--ctw-lbl-big-size) + var(--ctw-lbl-small-size) + var(--ctw-lbl-gap) + 0px + var(--ctw-ibx-size) - var(--nav-icon-height) * .5 + var(--lbl-bd-width)*2)); }
    body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev svg,
    body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next svg {
      height: 20px;
      margin-top: 1px; }
      body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev svg path,
      body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next svg path {
        fill: var(--nav-icon-color); }
    body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev:hover,
    body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next:hover {
      background: transparent !important; }
    body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev.swiper-button-disabled,
    body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next.swiper-button-disabled {
      opacity: 1; }
      body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev.swiper-button-disabled svg,
      body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next.swiper-button-disabled svg {
        display: none; }
      body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev.swiper-button-disabled::before,
      body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next.swiper-button-disabled::before {
        content: '';
        display: block;
        border-left: 4px solid var(--nav-icon-color);
        width: 4px;
        height: 15px;
        margin-top: 1px; }
      body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev.swiper-button-disabled:hover svg path,
      body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next.swiper-button-disabled:hover svg path {
        fill: #4d4d4d; }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev {
    left: -4px; }
    body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-prev.swiper-button-disabled {
      left: -0; }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next {
    right: -4px; }
    body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 > .ctl-button-next.swiper-button-disabled {
      right: -0; }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 .ctl-content {
    border-radius: var(--ctw-cbx-radius);
    border: 0;
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.05); }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 .ctl-media a:hover {
    filter: brightness(1.2); }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 .read_more_wrapper {
    padding-top: 3px; }
  body .ctl-wrapper .ctl-horizontal-timeline.ctl-design-2 a.fancy-link {
    color: #fa4616;
    font-size: 1.125rem; }

/* Cool Timeline 4.4.4 */
body .cool-timeline-horizontal .clt_carousel_slider ul.slick-slider .slick-list li span.ctl-story-time,
body .cool-timeline-horizontal .wrp-desgin-4 ul.slick-slider .slick-list li span.ctl-story-time {
  font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; }

@media (max-width: 480px) {
  body .cool-timeline-horizontal .clt_carousel_slider ul.ctl_h_nav {
    padding: 0 !important; } }

body .cool-timeline-horizontal .clt_carousel_slider ul.slick-slider .slick-list li .ctl-story-time:after {
  height: 24px;
  width: 24px;
  left: calc(50% - 12px);
  left: -o-calc(50% - 12px); }

body .cool-timeline-horizontal.white-timeline .clt_caru_slider ul.slick-slider .slick-list li.slick-slide .timeline-post {
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.05);
  border-radius: 8px 8px 5px 5px;
  border: 0; }
  body .cool-timeline-horizontal.white-timeline .clt_caru_slider ul.slick-slider .slick-list li.slick-slide .timeline-post h2.content-title {
    font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; }
  body .cool-timeline-horizontal.white-timeline .clt_caru_slider ul.slick-slider .slick-list li.slick-slide .timeline-post .read_more_wrapper {
    padding-top: 3px; }
  body .cool-timeline-horizontal.white-timeline .clt_caru_slider ul.slick-slider .slick-list li.slick-slide .timeline-post a.fancy-link {
    color: #fa4616;
    font-size: 1.125rem; }
  body .cool-timeline-horizontal.white-timeline .clt_caru_slider ul.slick-slider .slick-list li.slick-slide .timeline-post a.ctl_read_more {
    float: none;
    margin: 0;
    padding: 0;
    color: #fa4616;
    font-size: 1.125rem;
    text-transform: uppercase;
    display: block;
    position: relative;
    text-decoration: none !important;
    border: 0;
    /*display: inline-block;
                padding-right: 1.875rem;
                margin-right: 25%;*/ }
    body .cool-timeline-horizontal.white-timeline .clt_caru_slider ul.slick-slider .slick-list li.slick-slide .timeline-post a.ctl_read_more:after {
      /*transition: right .2s ease-in-out;
                    transform: translate3d(0, -50%, 0);
                    top: 50%;
                    right: 0.25rem;
                    position: absolute;*/
      content: '\e900';
      font-size: 0.75rem;
      font-family: 'icomoon';
      display: inline-block;
      margin-left: 8px;
      transition: margin .2s ease-in-out; }
    body .cool-timeline-horizontal.white-timeline .clt_caru_slider ul.slick-slider .slick-list li.slick-slide .timeline-post a.ctl_read_more:hover {
      color: #636466; }
      body .cool-timeline-horizontal.white-timeline .clt_caru_slider ul.slick-slider .slick-list li.slick-slide .timeline-post a.ctl_read_more:hover:after {
        /*right: 0;*/
        margin-left: calc(0.25rem + 8px); }

body .cool-timeline-horizontal .slick-arrow i {
  font-weight: 900;
  font-size: 20px; }

body .cool-timeline-horizontal .slick-arrow.ctl-slick-prev {
  left: -19px; }
  body .cool-timeline-horizontal .slick-arrow.ctl-slick-prev i:before {
    content: '\f053'; }

body .cool-timeline-horizontal .slick-arrow.ctl-slick-next {
  right: -19px; }
  body .cool-timeline-horizontal .slick-arrow.ctl-slick-next i:before {
    content: '\f054'; }

body .cool-timeline-horizontal .slick-arrow.slick-disabled.ctl-slick-prev, body .cool-timeline-horizontal .slick-arrow.slick-disabled.ctl-slick-next {
  opacity: 1; }
  body .cool-timeline-horizontal .slick-arrow.slick-disabled.ctl-slick-prev i, body .cool-timeline-horizontal .slick-arrow.slick-disabled.ctl-slick-next i {
    border-left: 4px solid #4d4d4d;
    width: 4px;
    height: 15px; }
    body .cool-timeline-horizontal .slick-arrow.slick-disabled.ctl-slick-prev i:before, body .cool-timeline-horizontal .slick-arrow.slick-disabled.ctl-slick-next i:before {
      display: none; }

/* Lightbox */
body .glightbox-container .ctl_glightbox_container .gdesc-inner {
  padding: 12px !important; }
  body .glightbox-container .ctl_glightbox_container .gdesc-inner h4 {
    font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; }

body.glightbox-mobile .glightbox-container .ctl_glightbox_container .gslide:not(.zoomed) .gslide-inner-content {
  max-width: 80%; }
  @media (max-width: 480px) {
    body.glightbox-mobile .glightbox-container .ctl_glightbox_container .gslide:not(.zoomed) .gslide-inner-content {
      max-width: 90%; } }

body.glightbox-mobile .glightbox-container .ginner-container {
  height: auto; }
  body.glightbox-mobile .glightbox-container .ginner-container.desc-bottom .gslide-image {
    margin: 0; }
    body.glightbox-mobile .glightbox-container .ginner-container.desc-bottom .gslide-image img {
      width: 100%; }

body.glightbox-mobile .glightbox-container .gslide-description {
  padding: 0  !important;
  position: relative; }
  body.glightbox-mobile .glightbox-container .gslide-description .gdesc-inner {
    background: #ffffff; }

body.glightbox-mobile .glightbox-container .gslide-title {
  color: #000000; }

.glightbox-open {
  height: auto; }

#masthead {
  background: #ccc; }

.site-branding {
  margin-bottom: 1.25rem; }

.site-title {
  font-size: 3rem;
  margin: 0; }

.site-description {
  margin: 0; }

.main-navigation {
  background: #333; }

.main-navigation ul {
  margin: 0; }

#colophon {
  background: #fff;
  margin: 0 auto 0;
  max-width: 90rem; }
  #colophon hr {
    border-top: 2px solid #eee; }
  @media (max-width: 1400px) {
    #colophon a,
    #colophon p {
      font-size: 14px; } }
  #colophon .copyright,
  #colophon .textwidget,
  #colophon a,
  #colophon p {
    font-size: 15px;
    text-decoration: none;
    font-weight: 400; }
  #colophon .inline-flex {
    display: -ms-inline-flexbox;
    display: inline-flex; }
  #colophon .site-footer__inner {
    margin-bottom: 0;
    padding-right: 15px;
    padding-left: 15px; }
    #colophon .site-footer__inner article {
      display: inline-block;
      vertical-align: top;
      position: relative; }
      #colophon .site-footer__inner article.social-col {
        width: 100%; }
        @media (min-width: 1025px) {
          #colophon .site-footer__inner article.social-col {
            width: 25%; } }
        @media (min-width: 1200px) {
          #colophon .site-footer__inner article.social-col {
            width: 20%; } }
      #colophon .site-footer__inner article.info-col {
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between; }
        @media (min-width: 1200px) {
          #colophon .site-footer__inner article.info-col {
            width: 100%; } }
        @media (max-width: 400px) {
          #colophon .site-footer__inner article.info-col {
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
            #colophon .site-footer__inner article.info-col .social-link-col-width {
              width: -webkit-max-content;
              width: -moz-max-content;
              width: max-content; }
            #colophon .site-footer__inner article.info-col .widget-address {
              width: -webkit-max-content;
              width: -moz-max-content;
              width: max-content; } }
        @media (min-width: 1200px) {
          #colophon .site-footer__inner article.info-col .social-link-col-width {
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content; }
          #colophon .site-footer__inner article.info-col .widget-address {
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content; } }
        #colophon .site-footer__inner article.info-col .row {
          margin: 0 -0.9375rem;
          max-width: none;
          width: 100%;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: justify;
              justify-content: space-between;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
        #colophon .site-footer__inner article.info-col div#text-6,
        #colophon .site-footer__inner article.info-col div#text-9,
        #colophon .site-footer__inner article.info-col div#text-10 {
          margin-top: 14px;
          margin-left: 32px; }
          @media (min-width: 1200px) {
            #colophon .site-footer__inner article.info-col div#text-6,
            #colophon .site-footer__inner article.info-col div#text-9,
            #colophon .site-footer__inner article.info-col div#text-10 {
              margin-left: 8px; } }
        #colophon .site-footer__inner article.info-col div#text-3,
        #colophon .site-footer__inner article.info-col div#text-2 {
          width: -webkit-max-content;
          width: -moz-max-content;
          width: max-content; }
      @media (max-width: 992px) {
        #colophon .site-footer__inner article {
          width: 100%;
          display: block;
          margin: 0; } }
      #colophon .site-footer__inner article span {
        display: block; }
        @media (min-width: 1200px) {
          #colophon .site-footer__inner article span {
            width: 50%;
            margin: 0 -2px;
            display: inline-block;
            padding: 0 10px; } }
      #colophon .site-footer__inner article h4 {
        font-size: 16px;
        font-weight: 400;
        color: #000;
        margin-top: 1rem; }
        @media large-only {
          #colophon .site-footer__inner article h4 {
            margin-top: 0; } }
      #colophon .site-footer__inner article .no-heading {
        padding-top: 0; }
        @media (min-width: 1200px) {
          #colophon .site-footer__inner article .no-heading {
            padding-top: 50px; } }
    #colophon .site-footer__inner .social-link {
      display: inline-block;
      width: 1.8rem;
      height: 2.5rem;
      -ms-flex-align: center;
          align-items: center;
      text-align: center;
      line-height: 53px;
      margin-right: 5px; }
      #colophon .site-footer__inner .social-link svg {
        height: 20px;
        opacity: 1;
        fill: #6b6b6b; }
      #colophon .site-footer__inner .social-link:hover svg {
        fill: #fa4616; }
    #colophon .site-footer__inner .footer-col {
      margin-bottom: 16px; }
      @media large-only {
        #colophon .site-footer__inner .footer-col {
          text-align: left;
          margin-bottom: 1.25rem; } }
      #colophon .site-footer__inner .footer-col a {
        color: #6b6b6b; }
        #colophon .site-footer__inner .footer-col a:hover {
          color: #fa4616; }
      @media (min-width: 1200px) {
        #colophon .site-footer__inner .footer-col {
          width: 33.3333%;
          margin-bottom: 0; } }
  #colophon .copyright {
    padding: 2rem 15px 1rem 15px;
    font-size: 12px !important;
    /* Added */ }
    @media (min-width: 1025px) {
      #colophon .copyright {
        text-align: center; } }

.footer-content:last-child {
  width: 10% !important; }

#colophon .site-footer__inner article.info-col {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important; }

#colophon .site-footer__inner article.info-col .row {
  -ms-flex-pack: justify;
  justify-content: space-around !important; }

#colophon .site-footer__inner .footer-col {
  width: 25%;
  margin-bottom: 0; }

.footer-content {
  -ms-flex-direction: column;
      flex-direction: column; }

.widget_text {
  margin: 0 !important; }

@media (max-width: 1024px) {
  #colophon .site-footer__inner .footer-col,
  .footer-content:last-child {
    width: 50% !important; } }

@media (max-width: 600px) {
  #colophon .site-footer__inner .footer-col,
  .footer-content:last-child {
    width: 100% !important; }
  #colophon .site-footer__inner article.info-col .row {
    -ms-flex-direction: column;
        flex-direction: column; } }

.comment-content p {
  margin-bottom: 1.25rem; }

#secondary h1 {
  font-size: 1.5rem;
  font-weight: 700; }

.social-share-links .social-link {
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  -ms-flex-align: center;
      align-items: center;
  text-align: center;
  line-height: 53px;
  margin-right: 5px; }
  .social-share-links .social-link svg {
    height: 20px;
    opacity: 1;
    fill: #6B6B6B; }
  .social-share-links .social-link:hover svg {
    fill: #fa4616; }

.bg-black {
  background: #231f20; }
  .bg-black * {
    color: white; }

[class*='block-'] {
  padding: 5rem 0; }

[class*='block-posts'] {
  padding: 20px 0; }

.block-hero {
  padding: 2rem 0; }
  .block-hero .hero--title {
    font-size: 2.375rem;
    line-height: 1.2;
    font-weight: normal; }
    @media only screen and (min-width: 40.0625em) {
      .block-hero .hero--title {
        font-size: 3.25rem; } }
    @media only screen and (min-width: 64.0625em) {
      .block-hero .hero--title {
        font-size: 4.375rem; } }

.block-content-builder-with-columns {
  padding: 0; }
  .block-content-builder-with-columns h4,
  .block-content-builder-with-columns h5 {
    color: #231F20;
    text-transform: uppercase;
    font-weight: 100;
    font-size: 24px;
    line-height: 28px;
    text-transform: uppercase; }
  .block-content-builder-with-columns h5 {
    font-size: 20px; }
  .block-content-builder-with-columns blockquote h4 {
    text-transform: none;
    color: #408CFF; }

.block-landing-page-cta figure {
  margin: 0; }
  @media only screen and (min-width: 64.0625em) {
    .block-landing-page-cta figure {
      padding: 0;
      padding-left: 30px;
      border-left: 8px solid #fa4616; } }

.block-landing-page-cta h3 {
  line-height: 1;
  margin: 15px 0 10px 0; }
  @media only screen and (min-width: 64.0625em) {
    .block-landing-page-cta h3 {
      margin: 10px 0; } }

.block-landing-page-cta p {
  margin: 0; }

.block-landing-page-cta .button {
  margin: 15px 0 0 0; }

.block-landing-page-cta .has-image {
  border-left: 5px solid #fa4616; }
  @media only screen and (min-width: 64.0625em) {
    .block-landing-page-cta .has-image {
      border: none; } }

.block-landing-page-cta .no-image {
  margin: 0 auto !important; }
  .block-landing-page-cta .no-image .columns {
    border-left: 5px solid #fa4616; }
    @media only screen and (min-width: 64.0625em) {
      .block-landing-page-cta .no-image .columns {
        padding-left: 30px;
        border-left: 8px solid #fa4616; } }
  .block-landing-page-cta .no-image h3 {
    margin: 0 0 10px 0; }

.block-landing-page-featured-assets figure {
  margin: 0;
  position: relative; }
  .block-landing-page-featured-assets figure svg {
    position: absolute;
    fill: #fff;
    height: 7vw;
    width: 7vw;
    min-height: 60px;
    min-width: 60px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto; }

.block-landing-page-featured-assets img {
  display: block;
  width: 100%; }

section.landing-page-hero {
  box-shadow: inset 0 0 0 2500px rgba(0, 0, 0, 0.3);
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1;
      flex: 1;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  padding: 60px 30px;
  margin: 90px 1rem 0;
  height: 100vw; }
  @media only screen and (min-width: 64.0625em) {
    section.landing-page-hero {
      height: 46.5vw;
      background-attachment: fixed; } }
  section.landing-page-hero h1 {
    color: #fff;
    font-size: 2.1875rem;
    font-weight: 100;
    text-align: center;
    margin: 0 auto; }
    @media only screen and (min-width: 40.0625em) {
      section.landing-page-hero h1 {
        font-size: 4.375rem; } }
    @media only screen and (min-width: 64.0625em) {
      section.landing-page-hero h1 {
        max-width: 80%; } }

@media only screen and (min-width: 64.0625em) {
  .block-landing-page-two-column-image {
    display: -ms-flexbox;
    display: flex; } }

.block-landing-page-two-column-image figure {
  margin: 0;
  padding: 0; }

.block-landing-page-two-column-image article {
  margin-top: 30px; }
  @media only screen and (min-width: 64.0625em) {
    .block-landing-page-two-column-image article {
      margin: 0; } }

.block-images-grid,
.block-projects-grid {
  padding: 56px 0; }
  .block-images-grid .images-grid,
  .block-images-grid .project-grid,
  .block-projects-grid .images-grid,
  .block-projects-grid .project-grid {
    padding: 0 .5rem;
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grd-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: repeat(auto-fill, minmax(12.5%, 1fr));
    -ms-grid-rows: 1fr 1fr 1fr;
    grid-auto-rows: 1fr;
    grid-gap: 0;
    grid-auto-flow: dense; }
    .block-images-grid .images-grid__header,
    .block-images-grid .project-grid__header,
    .block-projects-grid .images-grid__header,
    .block-projects-grid .project-grid__header {
      padding: 0 0.5rem 1rem; }
    .block-images-grid .images-grid .image,
    .block-images-grid .images-grid .project,
    .block-images-grid .project-grid .image,
    .block-images-grid .project-grid .project,
    .block-projects-grid .images-grid .image,
    .block-projects-grid .images-grid .project,
    .block-projects-grid .project-grid .image,
    .block-projects-grid .project-grid .project {
      display: block;
      background-color: #231f20;
      position: relative;
      border: 9px solid white;
      margin: -1px;
      -ms-grid-column-span: 4;
      grid-column: span 4;
      padding-bottom: calc(100% - 16px);
      text-decoration: none;
      overflow: hidden; }
      @media only screen and (min-width: 64.0625em) {
        .block-images-grid .images-grid .image,
        .block-images-grid .images-grid .project,
        .block-images-grid .project-grid .image,
        .block-images-grid .project-grid .project,
        .block-projects-grid .images-grid .image,
        .block-projects-grid .images-grid .project,
        .block-projects-grid .project-grid .image,
        .block-projects-grid .project-grid .project {
          height: 23.75vw;
          max-height: 353px; } }
      .block-images-grid .images-grid .image:focus, .block-images-grid .images-grid .image:hover,
      .block-images-grid .images-grid .project:focus,
      .block-images-grid .images-grid .project:hover,
      .block-images-grid .project-grid .image:focus,
      .block-images-grid .project-grid .image:hover,
      .block-images-grid .project-grid .project:focus,
      .block-images-grid .project-grid .project:hover,
      .block-projects-grid .images-grid .image:focus,
      .block-projects-grid .images-grid .image:hover,
      .block-projects-grid .images-grid .project:focus,
      .block-projects-grid .images-grid .project:hover,
      .block-projects-grid .project-grid .image:focus,
      .block-projects-grid .project-grid .image:hover,
      .block-projects-grid .project-grid .project:focus,
      .block-projects-grid .project-grid .project:hover {
        text-decoration: none; }
        .block-images-grid .images-grid .image:focus .fader, .block-images-grid .images-grid .image:hover .fader,
        .block-images-grid .images-grid .project:focus .fader,
        .block-images-grid .images-grid .project:hover .fader,
        .block-images-grid .project-grid .image:focus .fader,
        .block-images-grid .project-grid .image:hover .fader,
        .block-images-grid .project-grid .project:focus .fader,
        .block-images-grid .project-grid .project:hover .fader,
        .block-projects-grid .images-grid .image:focus .fader,
        .block-projects-grid .images-grid .image:hover .fader,
        .block-projects-grid .images-grid .project:focus .fader,
        .block-projects-grid .images-grid .project:hover .fader,
        .block-projects-grid .project-grid .image:focus .fader,
        .block-projects-grid .project-grid .image:hover .fader,
        .block-projects-grid .project-grid .project:focus .fader,
        .block-projects-grid .project-grid .project:hover .fader {
          opacity: .3;
          -moz-opacity: .3;
          -webkit-opacity: .3; }
        .block-images-grid .images-grid .image:focus .project__title-text, .block-images-grid .images-grid .image:hover .project__title-text,
        .block-images-grid .images-grid .project:focus .project__title-text,
        .block-images-grid .images-grid .project:hover .project__title-text,
        .block-images-grid .project-grid .image:focus .project__title-text,
        .block-images-grid .project-grid .image:hover .project__title-text,
        .block-images-grid .project-grid .project:focus .project__title-text,
        .block-images-grid .project-grid .project:hover .project__title-text,
        .block-projects-grid .images-grid .image:focus .project__title-text,
        .block-projects-grid .images-grid .image:hover .project__title-text,
        .block-projects-grid .images-grid .project:focus .project__title-text,
        .block-projects-grid .images-grid .project:hover .project__title-text,
        .block-projects-grid .project-grid .image:focus .project__title-text,
        .block-projects-grid .project-grid .image:hover .project__title-text,
        .block-projects-grid .project-grid .project:focus .project__title-text,
        .block-projects-grid .project-grid .project:hover .project__title-text {
          color: #ffffff !important;
          text-align: center; }
      @media only screen and (min-width: 64.0625em) {
        .block-images-grid .images-grid .image.p-width-1,
        .block-images-grid .images-grid .project.p-width-1,
        .block-images-grid .project-grid .image.p-width-1,
        .block-images-grid .project-grid .project.p-width-1,
        .block-projects-grid .images-grid .image.p-width-1,
        .block-projects-grid .images-grid .project.p-width-1,
        .block-projects-grid .project-grid .image.p-width-1,
        .block-projects-grid .project-grid .project.p-width-1 {
          -ms-grid-column-span: 1;
          grid-column: span 1;
          padding-bottom: calc(200% - 16px); } }
      @media only screen and (min-width: 64.0625em) {
        .block-images-grid .images-grid .image.p-width-2,
        .block-images-grid .images-grid .project.p-width-2,
        .block-images-grid .project-grid .image.p-width-2,
        .block-images-grid .project-grid .project.p-width-2,
        .block-projects-grid .images-grid .image.p-width-2,
        .block-projects-grid .images-grid .project.p-width-2,
        .block-projects-grid .project-grid .image.p-width-2,
        .block-projects-grid .project-grid .project.p-width-2 {
          -ms-grid-column-span: 2;
          grid-column: span 2; } }
      @media only screen and (min-width: 64.0625em) {
        .block-images-grid .images-grid .image.p-width-3,
        .block-images-grid .images-grid .project.p-width-3,
        .block-images-grid .project-grid .image.p-width-3,
        .block-images-grid .project-grid .project.p-width-3,
        .block-projects-grid .images-grid .image.p-width-3,
        .block-projects-grid .images-grid .project.p-width-3,
        .block-projects-grid .project-grid .image.p-width-3,
        .block-projects-grid .project-grid .project.p-width-3 {
          -ms-grid-column-span: 3;
          grid-column: span 3;
          padding-bottom: calc(66.6667% - 16px); } }
      @media only screen and (min-width: 64.0625em) {
        .block-images-grid .images-grid .image.p-width-4,
        .block-images-grid .images-grid .project.p-width-4,
        .block-images-grid .project-grid .image.p-width-4,
        .block-images-grid .project-grid .project.p-width-4,
        .block-projects-grid .images-grid .image.p-width-4,
        .block-projects-grid .images-grid .project.p-width-4,
        .block-projects-grid .project-grid .image.p-width-4,
        .block-projects-grid .project-grid .project.p-width-4 {
          -ms-grid-column-span: 4;
          grid-column: span 4;
          padding-bottom: calc(50% - 16px); } }
      .block-images-grid .images-grid .image img,
      .block-images-grid .images-grid .project img,
      .block-images-grid .project-grid .image img,
      .block-images-grid .project-grid .project img,
      .block-projects-grid .images-grid .image img,
      .block-projects-grid .images-grid .project img,
      .block-projects-grid .project-grid .image img,
      .block-projects-grid .project-grid .project img {
        object-fit: cover;
        width: 100%;
        height: calc(50vw - 16px);
        max-height: calc(100% + 16px);
        max-width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        transition: opacity 0.2s ease;
        display: block; }
        @media only screen and (min-width: 64.0625em) {
          .block-images-grid .images-grid .image img,
          .block-images-grid .images-grid .project img,
          .block-images-grid .project-grid .image img,
          .block-images-grid .project-grid .project img,
          .block-projects-grid .images-grid .image img,
          .block-projects-grid .images-grid .project img,
          .block-projects-grid .project-grid .image img,
          .block-projects-grid .project-grid .project img {
            height: 23.75vw; } }
      .block-images-grid .images-grid .image .project__thumb--desktop,
      .block-images-grid .images-grid .project .project__thumb--desktop,
      .block-images-grid .project-grid .image .project__thumb--desktop,
      .block-images-grid .project-grid .project .project__thumb--desktop,
      .block-projects-grid .images-grid .image .project__thumb--desktop,
      .block-projects-grid .images-grid .project .project__thumb--desktop,
      .block-projects-grid .project-grid .image .project__thumb--desktop,
      .block-projects-grid .project-grid .project .project__thumb--desktop {
        display: none; }
        @media only screen and (min-width: 64.0625em) {
          .block-images-grid .images-grid .image .project__thumb--desktop,
          .block-images-grid .images-grid .project .project__thumb--desktop,
          .block-images-grid .project-grid .image .project__thumb--desktop,
          .block-images-grid .project-grid .project .project__thumb--desktop,
          .block-projects-grid .images-grid .image .project__thumb--desktop,
          .block-projects-grid .images-grid .project .project__thumb--desktop,
          .block-projects-grid .project-grid .image .project__thumb--desktop,
          .block-projects-grid .project-grid .project .project__thumb--desktop {
            display: block; } }
      @media only screen and (min-width: 64.0625em) {
        .block-images-grid .images-grid .image .project__thumb--mobile,
        .block-images-grid .images-grid .project .project__thumb--mobile,
        .block-images-grid .project-grid .image .project__thumb--mobile,
        .block-images-grid .project-grid .project .project__thumb--mobile,
        .block-projects-grid .images-grid .image .project__thumb--mobile,
        .block-projects-grid .images-grid .project .project__thumb--mobile,
        .block-projects-grid .project-grid .image .project__thumb--mobile,
        .block-projects-grid .project-grid .project .project__thumb--mobile {
          display: none; } }
      .block-images-grid .images-grid .image .project__title,
      .block-images-grid .images-grid .project .project__title,
      .block-images-grid .project-grid .image .project__title,
      .block-images-grid .project-grid .project .project__title,
      .block-projects-grid .images-grid .image .project__title,
      .block-projects-grid .images-grid .project .project__title,
      .block-projects-grid .project-grid .image .project__title,
      .block-projects-grid .project-grid .project .project__title {
        display: none;
        position: absolute;
        transform: translate3d(0, -50%, 0);
        top: 50%;
        left: 0;
        padding: 1.25rem;
        text-align: center;
        color: transparent;
        font-size: 1.25rem;
        line-height: 1.2;
        font-weight: 500;
        width: 100%;
        height: auto; }
        @media only screen and (min-width: 64.0625em) {
          .block-images-grid .images-grid .image .project__title,
          .block-images-grid .images-grid .project .project__title,
          .block-images-grid .project-grid .image .project__title,
          .block-images-grid .project-grid .project .project__title,
          .block-projects-grid .images-grid .image .project__title,
          .block-projects-grid .images-grid .project .project__title,
          .block-projects-grid .project-grid .image .project__title,
          .block-projects-grid .project-grid .project .project__title {
            display: block; } }
      .block-images-grid .images-grid .image img,
      .block-images-grid .images-grid .project img,
      .block-images-grid .project-grid .image img,
      .block-images-grid .project-grid .project img,
      .block-projects-grid .images-grid .image img,
      .block-projects-grid .images-grid .project img,
      .block-projects-grid .project-grid .image img,
      .block-projects-grid .project-grid .project img {
        width: 100%; }
    .block-images-grid .images-grid .image,
    .block-images-grid .project-grid .image,
    .block-projects-grid .images-grid .image,
    .block-projects-grid .project-grid .image {
      pointer-events: none; }

.block-projects-grid + .block-content-builder-with-columns,
.block-content-builder-with-columns + .block-projects-grid {
  padding-top: 0; }

_:-ms-fullscreen .images-grid,
_:-ms-fullscreen .project-grid, :root .block-images-grid .images-grid,
:root .block-images-grid .project-grid,
_:-ms-fullscreen .images-grid,
_:-ms-fullscreen .project-grid, :root .block-projects-grid .images-grid,
:root .block-projects-grid .project-grid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

_:-ms-fullscreen .image,
_:-ms-fullscreen .project, :root .block-images-grid .image,
:root .block-images-grid .project,
_:-ms-fullscreen .image,
_:-ms-fullscreen .project, :root .block-projects-grid .image,
:root .block-projects-grid .project {
  -ms-flex: 1 0 50%;
      flex: 1 0 50%;
  max-width: 50%;
  padding-bottom: 0;
  padding-bottom: 50%; }
  @media only screen and (min-width: 64.0625em) {
    _:-ms-fullscreen .image.p-width-1,
    _:-ms-fullscreen .project.p-width-1, :root .block-images-grid .image.p-width-1,
    :root .block-images-grid .project.p-width-1,
    _:-ms-fullscreen .image.p-width-1,
    _:-ms-fullscreen .project.p-width-1, :root .block-projects-grid .image.p-width-1,
    :root .block-projects-grid .project.p-width-1 {
      -ms-flex: 1 0 12.5%;
          flex: 1 0 12.5%;
      max-width: 12.5%;
      padding-bottom: 0; } }
  @media only screen and (min-width: 64.0625em) {
    _:-ms-fullscreen .image.p-width-2,
    _:-ms-fullscreen .project.p-width-2, :root .block-images-grid .image.p-width-2,
    :root .block-images-grid .project.p-width-2,
    _:-ms-fullscreen .image.p-width-2,
    _:-ms-fullscreen .project.p-width-2, :root .block-projects-grid .image.p-width-2,
    :root .block-projects-grid .project.p-width-2 {
      -ms-flex: 1 0 25%;
          flex: 1 0 25%;
      max-width: 25%;
      padding-bottom: 0; } }
  @media only screen and (min-width: 64.0625em) {
    _:-ms-fullscreen .image.p-width-3,
    _:-ms-fullscreen .project.p-width-3, :root .block-images-grid .image.p-width-3,
    :root .block-images-grid .project.p-width-3,
    _:-ms-fullscreen .image.p-width-3,
    _:-ms-fullscreen .project.p-width-3, :root .block-projects-grid .image.p-width-3,
    :root .block-projects-grid .project.p-width-3 {
      -ms-flex: 1 0 37.5%;
          flex: 1 0 37.5%;
      max-width: 37.5%;
      padding-bottom: 0; } }
  @media only screen and (min-width: 64.0625em) {
    _:-ms-fullscreen .image.p-width-4,
    _:-ms-fullscreen .project.p-width-4, :root .block-images-grid .image.p-width-4,
    :root .block-images-grid .project.p-width-4,
    _:-ms-fullscreen .image.p-width-4,
    _:-ms-fullscreen .project.p-width-4, :root .block-projects-grid .image.p-width-4,
    :root .block-projects-grid .project.p-width-4 {
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
      max-width: 50%;
      padding-bottom: 0; } }

.block-content-builder-with-columns {
  padding: 3.5rem 0; }
  .block-content-builder-with-columns__headline {
    margin-top: 0;
    margin-bottom: 1.5rem; }
  .block-content-builder-with-columns .display-headline {
    margin-top: 0; }
  .block-content-builder-with-columns .columns {
    padding-bottom: 1rem; }
    .block-content-builder-with-columns .columns.end {
      padding-bottom: 0; }
    .block-content-builder-with-columns .columns ul {
      margin-bottom: 0; }
    .block-content-builder-with-columns .columns h5, .block-content-builder-with-columns .columns h4 {
      margin: 10px 0; }
      @media only screen and (min-width: 40.0625em) {
        .block-content-builder-with-columns .columns h5, .block-content-builder-with-columns .columns h4 {
          margin: 0 0 10px 0; } }
    .block-content-builder-with-columns .columns img {
      margin: 20px 0 0 0; }
  .block-content-builder-with-columns + .block-content-builder-with-columns {
    padding-top: 0; }

.home__banner + .block-content-builder-with-columns {
  padding-bottom: 1.5rem; }

.block-market-icon-grid-modified,
.block-market-icon-grid {
  padding: 5rem 0 8rem; }
  .block-market-icon-grid-modified.space-0,
  .block-market-icon-grid.space-0 {
    padding: 0 0 5rem; }
  .block-market-icon-grid-modified .icon-grid,
  .block-market-icon-grid .icon-grid {
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: center; }
  .block-market-icon-grid-modified .icon-link,
  .block-market-icon-grid .icon-link {
    display: block;
    border: none;
    position: relative; }
    @media only screen and (min-width: 40.0625em) {
      .block-market-icon-grid-modified .icon-link:hover,
      .block-market-icon-grid .icon-link:hover {
        color: #fa4616; }
        .block-market-icon-grid-modified .icon-link:hover [class*='icon-markets_'],
        .block-market-icon-grid .icon-link:hover [class*='icon-markets_'] {
          transform: translate3d(0, -8px, 0); }
        .block-market-icon-grid-modified .icon-link:hover .icon__title,
        .block-market-icon-grid .icon-link:hover .icon__title {
          transform: translate3d(0, -18px, 0);
          color: #fa4616; } }
  .block-market-icon-grid-modified .icon,
  .block-market-icon-grid .icon {
    padding: 1rem 0.9375rem 0; }
    @media only screen and (min-width: 40.0625em) {
      .block-market-icon-grid-modified .icon,
      .block-market-icon-grid .icon {
        padding: 3.5rem 0.9375rem 0; } }
    .block-market-icon-grid-modified .icon .icon-markets__image,
    .block-market-icon-grid .icon .icon-markets__image {
      line-height: 0; }
      .block-market-icon-grid-modified .icon .icon-markets__image img,
      .block-market-icon-grid .icon .icon-markets__image img {
        max-width: 7rem; }
        @media only screen and (min-width: 40.0625em) {
          .block-market-icon-grid-modified .icon .icon-markets__image img,
          .block-market-icon-grid .icon .icon-markets__image img {
            max-width: 9.375rem; } }
    .block-market-icon-grid-modified .icon [class*='icon-markets_'],
    .block-market-icon-grid .icon [class*='icon-markets_'] {
      transform: translate3d(0, 0, 0);
      transition: all .3s ease-in-out;
      color: #636466;
      display: block;
      padding-bottom: 1rem;
      border-bottom: 3px solid #fa4616;
      font-size: 4.125rem; }
      @media only screen and (min-width: 40.0625em) {
        .block-market-icon-grid-modified .icon [class*='icon-markets_'],
        .block-market-icon-grid .icon [class*='icon-markets_'] {
          font-size: 9.375rem; } }
    .block-market-icon-grid-modified .icon__title,
    .block-market-icon-grid .icon__title {
      transform: translate3d(0, 0, 0);
      transition: all .3s ease-in-out;
      position: relative;
      z-index: 1;
      text-transform: uppercase;
      margin: 1rem 0 0;
      background: #ffffff; }
  .block-market-icon-grid-modified .icon-arrow-right,
  .block-market-icon-grid .icon-arrow-right {
    z-index: 0;
    transform: translate3d(-50%, 0, 0);
    font-size: 0.75rem;
    position: absolute;
    left: 50%;
    bottom: 0; }
  .block-market-icon-grid-modified + .block-big-image-cta,
  .block-market-icon-grid + .block-big-image-cta {
    padding-top: 0; }

.block-content-builder-with-columns + .block-market-icon-grid {
  padding-top: 1.5rem; }

.block-big-image-cta + .block-market-icon-grid {
  padding-top: 0;
  padding-bottom: 5rem; }

.block-market-icon-grid-modified .icon .icon-markets__image {
  line-height: 0; }
  .block-market-icon-grid-modified .icon .icon-markets__image img {
    max-width: 7.5rem; }
    @media only screen and (min-width: 40.0625em) {
      .block-market-icon-grid-modified .icon .icon-markets__image img {
        max-width: 8.125rem; } }

.block-big-image-cta .option--video_embed .image__video {
  max-width: 100%;
  height: auto; }

.block-big-image-cta .big-image-cta__image img {
  display: block;
  margin-bottom: 1rem; }

.block-big-image-cta .image__link {
  display: block; }

.block-big-image-cta .columns *:first-child {
  margin-top: 0; }

.block-big-image-cta .columns .button {
  margin-top: 24px; }

.block-two-column-cta {
  padding: 5rem 0; }
  .block-two-column-cta .cta__button {
    margin-top: 24px; }
    .block-two-column-cta .cta__button .button {
      margin-top: 0; }

.block-two-column-image-icon figure {
  margin: 0;
  padding: 0; }

.block-two-column-image-icon h1, .block-two-column-image-icon h2, .block-two-column-image-icon h3, .block-two-column-image-icon h4, .block-two-column-image-icon h5, .block-two-column-image-icon h6 {
  margin-top: 0; }

@media only screen and (max-width: 40em) {
  .block-two-column-image-icon .img-container,
  .block-two-column-image-icon .icon-container {
    margin-bottom: 1rem; } }

.block-two-column-image-icon .img-container img,
.block-two-column-image-icon .icon-container img {
  display: block;
  width: 100%; }

@media only screen and (max-width: 40em) {
  .block-two-column-image-icon .icon-container {
    padding-right: 0; } }

.block-market-sector-contact .img-container {
  margin: 0;
  padding: 0;
  padding-left: 1rem;
  border-left: 5px solid #fa4616; }
  @media only screen and (min-width: 64.0625em) {
    .block-market-sector-contact .img-container {
      margin-bottom: 2rem;
      padding-left: 1rem; } }
  .block-market-sector-contact .img-container img {
    display: block; }
    @media only screen and (min-width: 40.0625em) {
      .block-market-sector-contact .img-container img {
        width: 100%; } }

.block-market-sector-contact .contact-headline {
  margin-top: 0; }
  @media only screen and (max-width: 40em) {
    .block-market-sector-contact .contact-headline {
      font-size: 1.25rem; } }

@media only screen and (max-width: 40em) {
  .block-market-sector-contact .contact-name {
    font-size: .85rem; } }

.block-market-sector-contact .contact + .end {
  margin-top: 1rem; }
  @media only screen and (min-width: 40.0625em) {
    .block-market-sector-contact .contact + .end {
      margin-top: 0; } }

.block-market-sector-contact .contact .button {
  margin-bottom: 0; }
  @media only screen and (max-width: 40em) {
    .block-market-sector-contact .contact .button {
      margin-top: 0.5rem; } }

@media only screen and (min-width: 40.0625em) {
  .block-market-sector-contact .contact__inner {
    padding-top: 0;
    padding-left: 0;
    border: none; } }

.block-market-sector-contact .team-listings {
  border-left: 5px solid #CECECE;
  padding-left: 1rem; }
  @media only screen and (min-width: 64.0625em) {
    .block-market-sector-contact .team-listings {
      padding-left: 2rem;
      padding-bottom: 2rem; } }
  .block-market-sector-contact .team-listings a {
    font-weight: 400;
    line-height: 1.5; }
  .block-market-sector-contact .team-listings .team-headline {
    margin-top: 0; }
    @media only screen and (max-width: 40em) {
      .block-market-sector-contact .team-listings .team-headline {
        font-size: 1.1rem; } }

.block-market-story-block .cta__inner {
  border-top: 3px solid #dbdcde;
  border-bottom: 3px solid #dbdcde;
  padding: 1rem 0;
  margin-bottom: -3px; }

.block-market-story-block .cta__title {
  margin: 1rem 0; }

.block-market-story-block .cta__link {
  margin-top: 1rem; }

.block-market-story-block .row .columns:last-of-type {
  display: none; }
  @media only screen and (min-width: 64.0625em) {
    .block-market-story-block .row .columns:last-of-type {
      display: block; } }

#home_banner {
  padding: 0 15px;
  margin: 0; }
  @media only screen and (min-width: 64.0625em) {
    #home_banner {
      width: 100%;
      max-width: 2030px;
      margin: 0 auto; } }
  #home_banner.banner__format-video .home__banner-inner {
    position: relative; }
  #home_banner.banner__format-images .home__banner-inner {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    padding-bottom: 100%;
    transition: background-position 0.2s ease; }
    @media only screen and (min-width: 64.0625em) {
      #home_banner.banner__format-images .home__banner-inner {
        padding-bottom: 46.5%;
        background-attachment: fixed;
        background-position: center 90px;
        background-size: auto 46.5vw; }
        .header-fixed #home_banner.banner__format-images .home__banner-inner {
          background-position: center 72px; } }
  #home_banner .home__banner-video {
    width: 100%;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding-bottom: 50%; }
    @media only screen and (min-width: 64.0625em) {
      #home_banner .home__banner-video {
        padding-bottom: 0; } }
  #home_banner .home__banner-caption {
    background: linear-gradient(90deg, rgba(73, 66, 67, 0) 0%, rgba(35, 31, 32, 0.6) 64.1%, rgba(35, 31, 32, 0.8) 100%);
    font-size: 0.875rem;
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: right;
    line-height: 1.2;
    color: #ffffff;
    padding: 0.5rem 1rem;
    padding-left: 25%; }
    @media only screen and (min-width: 64.0625em) {
      #home_banner .home__banner-caption {
        padding: 1rem 56px;
        font-size: 1.25rem; } }
    #home_banner .home__banner-caption-link {
      color: #ffffff; }
      #home_banner .home__banner-caption-link:hover {
        color: #fa4616; }

@media only screen and (min-width: 40.0625em) {
  .home__featured-news .row {
    display: -ms-flexbox;
    display: flex; } }

.home__featured-news p,
.home__featured-news .featured-news__meta {
  font-size: 0.875rem;
  line-height: 1.6; }
  @media only screen and (min-width: 40.0625em) {
    .home__featured-news p,
    .home__featured-news .featured-news__meta {
      font-size: 1rem; } }

.home__featured-news p + * {
  margin-top: 1.5rem; }
  @media only screen and (min-width: 40.0625em) {
    .home__featured-news p + * {
      margin-top: 0.5rem; } }

.home__featured-news .featured-news__image {
  margin-bottom: 0.5rem; }
  .home__featured-news .featured-news__image img {
    width: 100%; }

.home__featured-news .separator {
  display: inline-block;
  padding: 0 12px;
  font-weight: 500;
  color: #f1f1f2; }

@media only screen and (min-width: 40.0625em) {
  .home__featured-news .featured-news__row > div:last-child {
    display: none; } }

@media only screen and (min-width: 64.0625em) {
  .home__featured-news .featured-news__row > div:last-child {
    display: block; } }

.home__featured-news .featured-news__headline {
  margin-top: 0;
  margin-bottom: 2rem; }

.home__featured-news .featured-news__title {
  margin-top: 0.5rem; }

.home__featured-news .featured-news__link {
  font-size: 1rem; }
  @media only screen and (min-width: 40.0625em) {
    .home__featured-news .featured-news__link {
      font-size: 1.125rem; } }

.home__featured-news .featured-news__item {
  position: relative;
  padding-bottom: 1rem;
  margin-bottom: 2rem; }
  @media only screen and (min-width: 40.0625em) {
    .home__featured-news .featured-news__item {
      padding-bottom: 2rem;
      margin-bottom: 0; } }
  .home__featured-news .featured-news__item:after {
    position: absolute;
    content: '';
    display: block;
    border-bottom: 3px solid #f1f1f2;
    bottom: 0;
    left: 0.9375rem;
    right: 0.9375rem; }

.welcome-section {
  padding: 2.5rem; }
  .welcome-section .primary-headline p {
    font-size: 2.1875rem;
    line-height: 1.2;
    color: #6b6b6b;
    text-align: center;
    font-weight: bold;
    padding: 3.4375rem 0 2.5rem 0; }
    @media only screen and (min-width: 40.0625em) {
      .welcome-section .primary-headline p {
        font-size: 3.4375rem; } }
  .welcome-section .secondary-headline {
    font-size: 1.875rem;
    line-height: 1.5;
    color: #fa4616;
    text-transform: uppercase;
    text-align: left;
    padding: 2.5rem 0; }

.news-title {
  width: 75%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.2s ease;
  opacity: 1;
  z-index: 5;
  color: #231f20;
  font-size: 2rem;
  line-height: 1.4; }
  @media only screen and (min-width: 40.0625em) {
    .news-title {
      font-size: 1.25rem; } }
  @media only screen and (min-width: 64.0625em) {
    .news-title {
      font-size: 1.8125rem;
      line-height: 34px; } }
  @media only screen and (max-width: 40em) {
    .news-title {
      color: #231f20;
      top: 90vw;
      left: 0; } }
  .news-title .news-sub-title {
    margin-top: 0.625rem;
    font-size: 1rem;
    text-transform: uppercase; }

.page-home .news-title {
  color: #ffffff; }

body {
  font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  color: #636466;
  font-size: 1.125rem;
  opacity: 0;
  transition: opacity .5s; }
  body.loaded {
    opacity: 1; }
  body.noscroll {
    overflow: hidden !important; }

#content {
  font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; }

.center {
  display: block;
  width: 100%;
  text-align: center;
  line-height: 100px; }

.entry-meta {
  margin-bottom: 1.25rem; }

.updated {
  display: none; }

.vcard {
  display: inherit;
  padding: 0;
  border: none;
  margin: 0; }

.vcard .fn {
  font-weight: normal;
  font-size: 1rem; }

.entry-content p {
  margin-bottom: 1.25rem; }

.feat-block {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  @media only screen and (min-width: 64.0625em) {
    .feat-block {
      background-attachment: fixed; } }
  .feat-block.darkened {
    box-shadow: inset 0 0 0 2500px rgba(0, 0, 0, 0.3); }
  .feat-block .feat-page-text {
    font-size: 2.1875rem;
    text-align: center;
    color: #fff;
    width: 80%;
    margin: 0 auto;
    padding: 18% 1.25rem;
    line-height: 1.2; }
    @media only screen and (min-width: 40.0625em) {
      .feat-block .feat-page-text {
        font-size: 4.375rem; } }

.content-section {
  display: table;
  clear: both;
  width: 100%;
  padding: 1.25rem;
  padding-bottom: 3.125rem; }
  @media only screen and (min-width: 40.0625em) {
    .content-section {
      width: 75%;
      margin: 0 auto; } }
  .content-section * + p {
    margin-top: .75rem; }
  .content-section p + ol,
  .content-section p + ul {
    margin-top: .75rem; }
  .content-section li {
    margin-bottom: .25rem; }
  .content-section a:not(.button) {
    text-decoration: underline; }
  .content-section img {
    max-width: 100%;
    margin: 1.375rem auto; }
  .content-section .introtext {
    clear: both;
    padding: 1rem; }
    @media only screen and (min-width: 40.0625em) {
      .content-section .introtext {
        max-width: 50%; } }
  .content-section .col {
    float: left;
    width: 100%;
    padding: 1rem; }
    @media only screen and (min-width: 40.0625em) {
      .content-section .col {
        width: 33.33333%; } }
    .content-section .col li {
      margin: 1rem 0; }

.page-culture .content-section {
  width: 100%; }

.sections {
  padding: 2.5rem 0; }

.page-block {
  min-height: 100vh;
  width: 100%; }

.page-awards .page-title {
  display: none; }

.award-section {
  line-height: 1.25rem;
  padding: 2.5rem 1.25rem; }
  .award-section .award-labels {
    margin-bottom: 1.25rem; }
    @media only screen and (min-width: 40.0625em) {
      .award-section .award-labels {
        width: 90% !important;
        margin: 0 auto; } }
  .award-section .single-award {
    margin-bottom: 0.625rem; }
    @media only screen and (min-width: 40.0625em) {
      .award-section .single-award {
        width: 90% !important;
        margin: 1.25rem auto; } }
    .award-section .single-award .award-name {
      font-weight: 700; }
      .award-section .single-award .award-name a {
        color: #6b6b6b; }
        .award-section .single-award .award-name a:hover {
          color: #fa4616; }

.memorium-section {
  background-color: #eeeeee; }
  .memorium-section .in-memorium {
    width: 100%;
    max-width: 60.9375rem;
    margin: 0 auto;
    padding: 2.5rem;
    padding-bottom: 5rem; }

#searchform {
  width: 100%;
  max-width: 25rem;
  margin: 0 auto;
  text-align: center; }
  #searchform input[type="text"] {
    border-style: solid;
    border-width: 0 0 1px 0;
    border-color: #a1a1a1;
    font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    box-shadow: none;
    display: inline; }
  #searchform input[type="submit"] {
    display: inline; }

.the-search-result {
  padding: 2.5rem; }

.no-results {
  text-align: center;
  max-width: 1440px;
  margin: 0 auto;
  padding: 1.25rem; }
  .no-results .search-submit {
    background-color: #fa4616;
    border: 2px solid #fa4616; }
    .no-results .search-submit:hover {
      background-color: #ffffff;
      border: 2px solid #636466;
      color: #636466; }

.page-culture .team-label {
  margin-top: 50px;
  margin-left: 7px; }

.page-culture h2 {
  display: none; }

.rsDefaultInv .rsBullets {
  width: 100%;
  margin: 0 auto 35px !important; }

.rsDefaultInv .rsBullet {
  width: 15px !important;
  height: 15px !important; }

.rsDefaultInv .rsBullet span {
  width: 15px !important;
  height: 15px !important;
  background: #6b6b6b none repeat scroll 0% 0% !important; }
  .rsDefaultInv .rsBullet span:hover {
    cursor: pointer;
    background: #fa4616 none repeat scroll 0% 0% !important; }

.project-info ul {
  margin-left: 0;
  list-style: none;
  font-size: 1.125rem; }
  .project-info ul li {
    margin: 1rem 0px;
    line-height: 1.25rem; }

.image-caption {
  width: 100%;
  margin: 5px auto;
  font-size: 1rem; }

.page-philosophy .content-section p {
  margin-bottom: 25px; }

.awards-block {
  padding: 0 2.5rem;
  margin-bottom: 2.5rem; }
  .awards-block .fp-tableCell {
    vertical-align: top; }
  .awards-block h2 {
    font-size: 2rem;
    padding-top: 3rem; }
    @media only screen and (min-width: 40.0625em) {
      .awards-block h2 {
        font-size: 3rem;
        padding-top: 4rem; } }
  .awards-block .button.discover-more {
    margin: 2rem auto 4rem auto;
    padding-top: .55em; }
  @media only screen and (min-width: 40.0625em) {
    .awards-block .awards {
      display: block;
      padding: 0;
      margin: 0 -0.625rem; }
      .awards-block .awards:before, .awards-block .awards:after {
        content: " ";
        display: table; }
      .awards-block .awards:after {
        clear: both; }
      .awards-block .awards > li {
        display: block;
        float: left;
        height: auto;
        padding: 0 0.625rem 1.25rem; }
      .awards-block .awards > li {
        list-style: none;
        padding: 0 0.625rem 1.25rem;
        width: 33.33333%; }
        .awards-block .awards > li:nth-of-type(1n) {
          clear: none; }
        .awards-block .awards > li:nth-of-type(3n+1) {
          clear: both; } }
  @media only screen and (min-width: 64.0625em) {
    .awards-block .awards {
      display: block;
      padding: 0;
      margin: 0 -0.625rem; }
      .awards-block .awards:before, .awards-block .awards:after {
        content: " ";
        display: table; }
      .awards-block .awards:after {
        clear: both; }
      .awards-block .awards > li {
        display: block;
        float: left;
        height: auto;
        padding: 0 0.625rem 1.25rem; }
      .awards-block .awards > li {
        list-style: none;
        padding: 0 0.625rem 1.25rem;
        width: 25%; }
        .awards-block .awards > li:nth-of-type(1n) {
          clear: none; }
        .awards-block .awards > li:nth-of-type(4n+1) {
          clear: both; } }
  .awards-block .awards img {
    display: none; }
    @media only screen and (min-width: 40.0625em) {
      .awards-block .awards img {
        display: block;
        height: 8rem;
        width: auto;
        margin: 0 auto 1rem auto; } }
  .awards-block .awards p {
    font-size: 0.9375rem;
    padding-bottom: 1rem; }
    @media only screen and (min-width: 40.0625em) {
      .awards-block .awards p {
        text-align: center;
        font-size: 1.1875rem; } }
  .awards-block .award:before, .awards-block .award:after {
    content: " ";
    display: table; }
  .awards-block .award:after {
    clear: both; }
  .awards-block .s-award-thumb {
    float: left;
    width: 33%;
    padding-right: 3%;
    margin: 0 auto; }
    .awards-block .s-award-thumb img {
      display: block;
      margin: 0 auto;
      max-width: 100%;
      height: auto;
      width: auto; }
  .awards-block .s-award-title {
    float: left;
    width: 63%;
    text-align: center;
    margin-top: 1.25rem;
    margin-bottom: 2.5rem; }
    @media only screen and (max-width: 40em) {
      .awards-block .s-award-title {
        font-size: 0.875rem; }
        .awards-block .s-award-title p {
          font-size: 0.875rem;
          padding: 0.625rem; } }

.ofsection {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 2500px rgba(0, 0, 0, 0.3); }
  .ofsection .main-block {
    width: 70%;
    margin: 0 auto; }
    @media only screen and (max-width: 40em) {
      .ofsection .main-block:first-of-type {
        padding-top: 100px; } }
    .ofsection .main-block .large-caption, .ofsection .main-block .large-caption > p {
      color: white;
      font-size: 2.1875rem;
      line-height: 1.3;
      text-align: center; }
      @media only screen and (min-width: 64.0625em) {
        .ofsection .main-block .large-caption, .ofsection .main-block .large-caption > p {
          font-size: 3.125rem; } }
    .ofsection .main-block .small-caption, .ofsection .main-block .small-caption > p {
      color: white;
      font-size: 1.25rem;
      margin-top: 3.125rem;
      line-height: 1.3;
      text-align: center; }
      @media only screen and (min-width: 64.0625em) {
        .ofsection .main-block .small-caption, .ofsection .main-block .small-caption > p {
          font-size: 1.875rem; } }

h3.memorium-header {
  text-transform: uppercase;
  font-size: 1.25rem; }

.page-team .page-title {
  margin-top: 40px; }

.page-team .team-image {
  display: none; }

.page-team .content-section {
  width: 100%;
  padding: 0rem 1.25rem 0rem; }
  @media only screen and (min-width: 64.0625em) {
    .page-team .content-section {
      padding-left: 0.5rem; } }

.page-team .caption-section p {
  font-size: 1.875rem; }

.page-team .team-image {
  width: 100%;
  padding: 1.25rem; }
  .page-team .team-image img {
    display: block;
    width: 100%; }

@media only screen and (min-width: 64.0625em) {
  .page-team .leadership .headshot-width {
    width: 20%; } }

.page-team .leadership .row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.page-team .leadership .columns {
  padding-left: 0.5rem;
  padding-right: 0.5rem; }

@media only screen and (min-width: 40.0625em) and (max-width: 64em) {
  .page-team .leadership .person {
    min-height: 62vw; } }

.page-team .leadership .person a picture {
  background: #231f20;
  margin-bottom: 13px; }
  .page-team .leadership .person a picture.mobile-headshot {
    display: block; }
    .page-team .leadership .person a picture.mobile-headshot img {
      aspect-ratio: 207 / 226;
      object-fit: cover; }
    @media only screen and (min-width: 40.0625em) {
      .page-team .leadership .person a picture.mobile-headshot {
        display: none; } }
  .page-team .leadership .person a picture.desktop-headshot {
    display: none; }
    @media only screen and (min-width: 40.0625em) {
      .page-team .leadership .person a picture.desktop-headshot {
        display: block; }
        .page-team .leadership .person a picture.desktop-headshot img {
          aspect-ratio: 272 / 339;
          object-fit: cover; } }
  .page-team .leadership .person a picture img {
    width: 100%; }

.page-team .leadership .person img {
  transition: all 0.3s ease-in-out;
  display: block; }

.page-team .leadership .person img:hover {
  opacity: 0.7; }

@media only screen and (max-width: 40em) {
  .page-team .team-section {
    padding: 1.25rem 0.5rem; } }

@media only screen and (min-width: 40.0625em) and (max-width: 64em) {
  .page-team .team-section {
    padding: 1.25rem 0.5rem; } }

.page-team .leadership .team-label,
.page-team .team .team-label {
  font-size: 1.2rem;
  text-transform: uppercase;
  padding: 0 0 17px;
  border-bottom: 1px solid #cecece;
  margin-bottom: 14px; }
  @media only screen and (min-width: 40.0625em) {
    .page-team .leadership .team-label,
    .page-team .team .team-label {
      font-size: 1.5rem; } }

.page-team .leadership .person-block,
.page-team .team .person-block {
  padding: 1.25rem 0; }
  .page-team .leadership .person-block p,
  .page-team .team .person-block p {
    line-height: 1.4; }
  .page-team .leadership .person-block .name,
  .page-team .team .person-block .name {
    font-size: 1.25rem;
    font-weight: 500;
    color: #231f20; }
    .page-team .leadership .person-block .name .link-arrow,
    .page-team .team .person-block .name .link-arrow {
      display: inline;
      width: 1.5rem;
      margin-left: 0.625rem; }
    .page-team .leadership .person-block .name a,
    .page-team .team .person-block .name a {
      opacity: 1;
      transition: opacity 0.2s ease; }
      .page-team .leadership .person-block .name a:hover,
      .page-team .team .person-block .name a:hover {
        opacity: 0.8; }
  .page-team .leadership .person-block .title,
  .page-team .team .person-block .title {
    color: #636466;
    line-height: 1.25;
    font-size: 1rem;
    text-transform: uppercase; }
  .page-team .leadership .person-block .location,
  .page-team .team .person-block .location {
    font-size: 0.875rem;
    color: #636466; }
  .page-team .leadership .person-block a,
  .page-team .team .person-block a {
    color: #6b6b6b; }
    .page-team .leadership .person-block a:hover,
    .page-team .team .person-block a:hover {
      color: #fa4616; }

.page-team .culture-image {
  width: 100%; }
  .page-team .culture-image img {
    display: block;
    width: 100%; }

.page-culture .row.culture-caption {
  padding: 0 16px; }

.page-culture .row.culture-title {
  padding: 0 8px; }

.page-culture .row.project-gallery {
  padding: 0 8px; }

.single-people .credentials h5,
.single-people .news h5 {
  font-size: 1.25rem; }

.single-people .credentials p,
.single-people .news p {
  font-size: 1.125rem; }

.single-people .credentials h5 + p,
.single-people .news h5 + p {
  margin-top: 12px; }
  @media only screen and (min-width: 40.0625em) {
    .single-people .credentials h5 + p,
    .single-people .news h5 + p {
      margin-top: 8px; } }

.single-people .credentials p + p,
.single-people .news p + p {
  margin-top: 12px; }

.single-people .credentials p,
.single-people .news p {
  line-height: 1.37; }

.single-people .credentials p > a,
.single-people .news p > a {
  font-weight: normal;
  text-decoration: none; }

.single-people .credentials + .news {
  margin-top: 40px; }

.single-people .left-profile {
  display: block; }
  @media only screen and (min-width: 40.0625em) {
    .single-people .left-profile {
      margin: 0 auto;
      margin-right: 8px; } }
  @media only screen and (min-width: 40.0625em) {
    .single-people .left-profile .pro-title,
    .single-people .left-profile .person-name {
      display: none; } }
  .single-people .left-profile .contact-info {
    margin-top: 24px; }
    @media only screen and (min-width: 40.0625em) {
      .single-people .left-profile .contact-info {
        margin-top: 0;
        margin-bottom: 2.5rem; } }
    .single-people .left-profile .contact-info h5 {
      font-size: 1.25rem;
      margin-bottom: 22px; }
    .single-people .left-profile .contact-info a {
      text-decoration: none;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1.6; }
    .single-people .left-profile .contact-info .contact-items {
      display: -ms-flexbox;
      display: flex; }
      @media only screen and (min-width: 40.0625em) {
        .single-people .left-profile .contact-info .contact-items {
          display: block; } }
      .single-people .left-profile .contact-info .contact-items .contact-item {
        color: #fa4616;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        transition: color 0.3s ease-in-out; }
        .single-people .left-profile .contact-info .contact-items .contact-item:hover {
          color: #636466; }
        .single-people .left-profile .contact-info .contact-items .contact-item .link-label {
          display: none; }
          @media only screen and (min-width: 40.0625em) {
            .single-people .left-profile .contact-info .contact-items .contact-item .link-label {
              display: inline; } }
        @media only screen and (min-width: 40.0625em) {
          .single-people .left-profile .contact-info .contact-items .contact-item + .contact-item {
            margin-top: 12px; } }
        .single-people .left-profile .contact-info .contact-items .contact-item [class*='icon-'] {
          display: inline-block;
          margin-right: 21px;
          font-size: 1.25rem; }
  .single-people .left-profile .news,
  .single-people .left-profile .credentials {
    display: none; }
    @media only screen and (min-width: 40.0625em) {
      .single-people .left-profile .news,
      .single-people .left-profile .credentials {
        display: block; } }

.single-people .right-profile .person-name {
  margin-top: 0; }

.single-people .right-profile .news,
.single-people .right-profile .credentials {
  display: block; }
  @media only screen and (min-width: 40.0625em) {
    .single-people .right-profile .news,
    .single-people .right-profile .credentials {
      display: none; } }

.single-people .right-profile .person-name,
.single-people .right-profile .pro-title {
  display: none; }
  @media only screen and (min-width: 40.0625em) {
    .single-people .right-profile .person-name,
    .single-people .right-profile .pro-title {
      display: block; } }

@media only screen and (min-width: 64.0625em) {
  .single-people .bio {
    max-width: 80%;
    margin-bottom: 40px; } }

.single-people .recent-projects {
  margin-bottom: 2.25rem;
  margin-top: 2.5rem; }
  .single-people .recent-projects h5 {
    font-size: 1.25rem; }
  @media only screen and (min-width: 40.0625em) {
    .single-people .recent-projects {
      display: table;
      clear: both;
      width: 100%;
      margin-bottom: 2.5rem; } }
  .single-people .recent-projects a {
    position: relative;
    background: #231f20;
    display: block;
    border-top: solid 15px white; }
    @media only screen and (min-width: 40.0625em) {
      .single-people .recent-projects a {
        width: 33.33333%;
        display: inline-block;
        border-right: solid 15px white; } }
  .single-people .recent-projects .project-title {
    padding: 0.9375rem;
    transition: all 0.3s ease-in-out;
    pointer-events: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    opacity: 0;
    display: none; }
    @media only screen and (min-width: 40.0625em) {
      .single-people .recent-projects .project-title {
        display: -ms-flexbox;
        display: flex; } }
    .single-people .recent-projects .project-title .title-text {
      color: #ffffff;
      text-align: center;
      transform: translateY(0); }
  .single-people .recent-projects .project-img {
    width: 100%;
    transition: all 0.3s ease-in-out;
    opacity: 1;
    padding-top: 72%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1; }
    .single-people .recent-projects .project-img:hover {
      opacity: 0.3; }
      .single-people .recent-projects .project-img:hover + .project-title {
        opacity: 1; }

.single-people img.profile-img {
  width: 100%;
  margin: 0 auto 1.25rem auto; }

#project-team-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(50%, 1fr));
  grid-auto-rows: 1fr;
  grid-gap: 0;
  grid-auto-flow: dense; }
  @media only screen and (min-width: 64.0625em) {
    #project-team-grid {
      grid-template-columns: repeat(auto-fill, minmax(20%, 1fr)); } }
  #project-team-grid .i-team {
    position: relative;
    border: 4px solid white;
    width: 100%; }
    #project-team-grid .i-team.iw-1 {
      grid-column: span 1; }
      @media only screen and (min-width: 64.0625em) {
        #project-team-grid .i-team.iw-1 {
          grid-column: span 1; } }
    #project-team-grid .i-team.iw-2 {
      grid-column: span 1; }
      @media only screen and (min-width: 64.0625em) {
        #project-team-grid .i-team.iw-2 {
          grid-column: span 2; } }
    #project-team-grid .i-team.iw-3 {
      grid-column: span 1; }
      @media only screen and (min-width: 64.0625em) {
        #project-team-grid .i-team.iw-3 {
          grid-column: span 3; } }
    #project-team-grid .i-team.ih-1 {
      height: 50vw; }
      @media only screen and (min-width: 64.0625em) {
        #project-team-grid .i-team.ih-1 {
          height: 35vw;
          max-height: 488px; } }
    @media only screen and (min-width: 64.0625em) {
      #project-team-grid .i-team {
        border: 8px solid white; } }
    #project-team-grid .i-team picture {
      background-color: #6b6b6b;
      width: 100%;
      height: 50vw;
      max-height: 100%;
      max-width: 100%;
      position: absolute;
      top: 0;
      left: 0; }
      #project-team-grid .i-team picture.desktop-headshot {
        display: none; }
        @media only screen and (min-width: 64.0625em) {
          #project-team-grid .i-team picture.desktop-headshot {
            display: block; } }
      #project-team-grid .i-team picture.mobile-headshot {
        display: block; }
        @media only screen and (min-width: 64.0625em) {
          #project-team-grid .i-team picture.mobile-headshot {
            display: none; } }
      #project-team-grid .i-team picture img {
        object-fit: cover;
        width: 100%;
        height: calc(50vw - 30px);
        max-height: 100%;
        max-width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        bottom: 30px;
        transition: opacity 0.2s ease; }
        @media only screen and (min-width: 64.0625em) {
          #project-team-grid .i-team picture img {
            height: calc(35vw - 128px);
            bottom: 128px; } }
    #project-team-grid .i-team .project-title {
      min-height: 30px;
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 0.25rem 0;
      background-color: #ffffff;
      font-size: 1.125rem;
      position: absolute;
      display: block; }
      @media only screen and (min-width: 64.0625em) {
        #project-team-grid .i-team .project-title {
          min-height: 128px;
          padding: 0.8125rem 0; } }
      #project-team-grid .i-team .project-title .title-text {
        transform: translateY(0);
        background-color: #ffffff;
        text-align: left;
        z-index: 500; }
        #project-team-grid .i-team .project-title .title-text .name {
          font-size: 0.875rem;
          font-weight: 500;
          color: #231f20; }
          @media only screen and (min-width: 64.0625em) {
            #project-team-grid .i-team .project-title .title-text .name {
              font-size: 1.25rem; } }
        #project-team-grid .i-team .project-title .title-text .title {
          display: none;
          color: #636466;
          font-size: 1rem;
          line-height: 1.25;
          text-transform: uppercase; }
          @media only screen and (min-width: 64.0625em) {
            #project-team-grid .i-team .project-title .title-text .title {
              display: block; } }
        #project-team-grid .i-team .project-title .title-text .location {
          display: none;
          font-size: 0.875rem;
          color: #636466; }
          @media only screen and (min-width: 64.0625em) {
            #project-team-grid .i-team .project-title .title-text .location {
              display: block; } }
    #project-team-grid .i-team img {
      width: 100%; }
  #project-team-grid a.i-team:hover img {
    opacity: 0.7; }

.page-team .team-filters {
  display: none !important; }

.page-team .row.main-cats.lower.close {
  display: block !important; }

.page-team li button.filter-btn {
  margin: 0; }

.page-team .people-lower .columns {
  padding-left: 0.5rem; }

.page-team .row.main-tags.people-lower {
  transition: all 0.3s ease-in-out;
  bottom: 0;
  background: white;
  left: 0;
  right: 0; }

.page-team .page-id-204 .sections {
  padding: 0.5rem 0; }

.page-team button.filter-btn.active {
  color: #231f20;
  border-bottom: 3px solid #fa4616; }

.page-team button.filter-btn {
  text-align: center;
  font-weight: 500;
  padding: 0;
  color: #636466;
  background-color: transparent;
  display: inline-block;
  font-size: 1.0625rem;
  line-height: 27.2px;
  font-family: 'FF Meta', HelveticaNeue-Light, 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;
  margin: 1.5rem 0 1.0625rem;
  margin-right: 1%; }

.page-team button.filter-btn:hover {
  color: #fa4616; }

.page-team .name {
  font-size: 1.25rem;
  font-weight: 500;
  color: #231f20 !important;
  margin-top: 15px; }

.page-team .title {
  color: #636466;
  line-height: 1.25;
  font-size: 1rem;
  text-transform: uppercase; }

.page-team .location {
  font-size: 0.875rem;
  color: #636466; }

.page-team .leadership .columns {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 20px; }

@media (min-width: 1024px) and (max-width: 1440px) {
  .page-team .content-section {
    padding: 0 1.5rem !important; }
  .page-team .row.main-tags.people-lower.team-filters {
    padding: 0 1rem; } }

@media (max-width: 1024px) {
  .page-team .content-section {
    padding: 0rem 1rem 0rem !important; } }

@media (min-width: 1024px) {
  .page-team .team-filters {
    display: -ms-flexbox !important;
    display: flex !important; }
  .page-team .row.main-cats.lower.close {
    display: none !important; }
  .page-team .team-section {
    padding: 0 1rem; } }

@media (max-width: 641px) {
  .page-team .leadership .columns {
    width: 50% !important; } }

@media (max-width: 600px) {
  .page-team .title,
  .page-team .location {
    font-size: 0.8rem; } }

.page-template-template-market-landing,
.page-template-template-landing {
  margin-top: 0 !important; }
  .page-template-template-market-landing .landing-page-template-block-wrapper,
  .page-template-template-landing .landing-page-template-block-wrapper {
    padding: 15px;
    max-width: 1400px;
    margin: auto; }
    @media (min-width: 90rem) {
      .page-template-template-market-landing .landing-page-template-block-wrapper,
      .page-template-template-landing .landing-page-template-block-wrapper {
        padding: 0; } }
  .page-template-template-market-landing .block,
  .page-template-template-market-landing [class*='block-'],
  .page-template-template-landing .block,
  .page-template-template-landing [class*='block-'] {
    padding-top: 0;
    padding-bottom: 0; }
  .page-template-template-market-landing .page-intro,
  .page-template-template-landing .page-intro {
    max-width: 100%;
    margin: 2rem auto; }
    @media only screen and (min-width: 40.0625em) {
      .page-template-template-market-landing .page-intro,
      .page-template-template-landing .page-intro {
        max-width: 1400px; } }
    @media only screen and (min-width: 40.0625em) {
      .page-template-template-market-landing .page-intro p,
      .page-template-template-landing .page-intro p {
        font-size: 22px;
        line-height: 35px; } }
  .page-template-template-market-landing .landing-page-template-block-wrapper > section,
  .page-template-template-landing .landing-page-template-block-wrapper > section {
    margin: 56px 0; }
    .page-template-template-market-landing .landing-page-template-block-wrapper > section .row,
    .page-template-template-landing .landing-page-template-block-wrapper > section .row {
      margin: 0 -10px;
      width: auto;
      max-width: calc(100% + 20px); }
    .page-template-template-market-landing .landing-page-template-block-wrapper > section .row-contained,
    .page-template-template-landing .landing-page-template-block-wrapper > section .row-contained {
      max-width: 100%;
      margin: auto; }
      @media only screen and (min-width: 40.0625em) {
        .page-template-template-market-landing .landing-page-template-block-wrapper > section .row-contained,
        .page-template-template-landing .landing-page-template-block-wrapper > section .row-contained {
          max-width: 83.33%; } }
      @media only screen and (min-width: 64.0625em) {
        .page-template-template-market-landing .landing-page-template-block-wrapper > section .row-contained,
        .page-template-template-landing .landing-page-template-block-wrapper > section .row-contained {
          max-width: 66.66%; } }
    .page-template-template-market-landing .landing-page-template-block-wrapper > section blockquote,
    .page-template-template-landing .landing-page-template-block-wrapper > section blockquote {
      padding: 2rem 1rem;
      margin: 0;
      border: 0;
      height: 100%;
      border-top: 1px solid #CECECE;
      border-bottom: 1px solid #CECECE; }
      .page-template-template-market-landing .landing-page-template-block-wrapper > section blockquote cite,
      .page-template-template-market-landing .landing-page-template-block-wrapper > section blockquote p.cite,
      .page-template-template-landing .landing-page-template-block-wrapper > section blockquote cite,
      .page-template-template-landing .landing-page-template-block-wrapper > section blockquote p.cite {
        margin-top: 24px; }

.row.main-cats {
  bottom: 0;
  transition: all 0.3s ease-in-out;
  clear: both;
  padding: 0 1.1875rem;
  position: relative;
  display: none; }
  @media only screen and (min-width: 64.0625em) {
    .row.main-cats {
      display: block; } }
  .row.main-cats .filter__toggle {
    text-transform: uppercase;
    background-color: #ffffff;
    color: #636466;
    font-weight: 500;
    font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    width: 100%;
    text-align: center;
    margin-bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
    .row.main-cats .filter__toggle:focus {
      outline: none; }
    @media only screen and (min-width: 64.0625em) {
      .row.main-cats .filter__toggle {
        display: none; } }
    .row.main-cats .filter__toggle [class*='icon-'] {
      transform: rotate(0deg);
      transition: all 0.3s ease-in-out;
      line-height: 1;
      font-size: 0.625rem;
      margin-left: 0.5rem; }
  .row.main-cats.lower {
    background-color: #ffffff;
    z-index: 1;
    transform: translate3d(0, 0, 0);
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    position: fixed;
    margin-top: 0; }
    @media only screen and (min-width: 64.0625em) {
      .row.main-cats.lower {
        transition: all 0.3s ease-in-out;
        transform: translate3d(0, 100%, 0);
        bottom: 0; } }
    .row.main-cats.lower ul {
      transition: all 0.3s ease-in-out;
      padding-right: 1.1875rem; }
      @media large-down {
        .row.main-cats.lower ul {
          position: static; } }
    .row.main-cats.lower > ul {
      overflow: hidden;
      max-height: 0; }
      @media only screen and (min-width: 64.0625em) {
        .row.main-cats.lower > ul {
          max-height: none; } }
    .row.main-cats.lower.open > ul {
      margin-top: 0.75rem;
      max-height: 75vh;
      overflow: scroll; }
      @media only screen and (min-width: 64.0625em) {
        .row.main-cats.lower.open > ul {
          overflow: hidden; } }
    .row.main-cats.lower.open .filter__toggle span {
      transform: rotate(180deg); }
  .row.main-cats.bottom {
    overflow: hidden; }
    @media only screen and (min-width: 64.0625em) {
      .row.main-cats.bottom {
        transform: translate3d(0, 0, 0);
        position: absolute; } }
  .row.main-cats.fixed-scroll {
    background-color: #ffffff;
    z-index: 1;
    transform: translate3d(0, 0, 0);
    bottom: 0; }
    .row.main-cats.fixed-scroll li {
      margin-bottom: 1.5rem; }
  .row.main-cats .show-menu {
    text-decoration: none;
    color: white;
    background: #fa4616;
    text-align: center;
    padding: 10px 0;
    display: none; }
    @media only screen and (max-width: 40em) {
      .row.main-cats .show-menu {
        display: block; } }
  .row.main-cats input[type='checkbox'] {
    display: none; }
  .row.main-cats input[type='checkbox']:checked ~ #menu {
    display: block; }
  .row.main-cats ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 50;
    overflow: hidden; }
    @media only screen and (min-width: 40.0625em) {
      .row.main-cats ul {
        width: 100%; } }
    .row.main-cats ul.main-categories.sub-filter-open > li > a {
      pointer-events: none;
      transform: translate3d(0, -100%, 0);
      opacity: 0; }
    .row.main-cats ul li {
      display: inline-block;
      width: auto;
      position: static;
      color: #fa4616;
      padding: 0 0.25em;
      width: 100%;
      text-align: center;
      margin-bottom: 1.5rem; }
      @media only screen and (min-width: 64.0625em) {
        .row.main-cats ul li {
          text-align: left;
          width: auto;
          margin: 1.5rem 0 1.0625rem;
          margin-right: 1%; } }
      .row.main-cats ul li a {
        text-align: center;
        font-weight: 500;
        text-decoration: none;
        color: #636466;
        display: inline-block;
        font-size: 1.0625rem; }
        @media only screen and (min-width: 64.0625em) {
          .row.main-cats ul li a {
            display: block; } }
  @media only screen and (min-width: 64.0625em) and (max-width: 1168px) {
    .row.main-cats ul li a {
      font-size: 0.9rem; } }
        .row.main-cats ul li a.selected, .row.main-cats ul li a.current {
          color: #231f20;
          border-bottom: 3px solid #fa4616; }
        .row.main-cats ul li a:hover {
          color: #fa4616; }
        .row.main-cats ul li a.sub-filter__open [class*='icon-'] {
          margin-left: 0.5rem; }
        .row.main-cats ul li a.sub-filter__close [class*='icon-'] {
          margin-right: 0.5rem; }
        .row.main-cats ul li a [class*='icon-'] {
          line-height: 1;
          font-size: 0.625rem; }
      .row.main-cats ul li .sub-filter {
        position: absolute;
        top: 0;
        left: 0;
        transition: all 0.3s ease-in-out;
        transform: translate3d(-100%, 0, 0);
        opacity: 0;
        pointer-events: none; }
        .row.main-cats ul li .sub-filter.active {
          transform: translate3d(0, 0, 0);
          opacity: 1;
          pointer-events: all; }
      @media only screen and (max-width: 40em) {
        .row.main-cats ul li {
          width: 100%; }
          .row.main-cats ul li ul {
            width: 100%; } }

.row.cat-description {
  padding: 2.5rem 1.25rem 1.25rem;
  line-height: 29px; }
  .row.cat-description h5 {
    margin-top: 0; }
  @media only screen and (min-width: 64.0625em) {
    .row.cat-description .description-text {
      padding-right: 100px; } }
  .row.cat-description .project-labels h5 {
    margin-top: 40px; }
    @media only screen and (min-width: 64.0625em) {
      .row.cat-description .project-labels h5 {
        margin-top: 0; } }
  .row.cat-description .project-labels a {
    display: block;
    margin: 1rem 0px;
    line-height: 1.25rem;
    color: #6b6b6b; }
    .row.cat-description .project-labels a:hover {
      color: #fa4616; }

.page-portfolio .content-area,
.tax-project-categories .content-area {
  overflow: hidden; }

#project_home_grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
  grid-auto-rows: 1fr;
  grid-gap: 0;
  grid-auto-flow: dense; }
  #project_home_grid .i-project {
    background-color: #231f20;
    position: relative;
    border: 4px solid white; }
    #project_home_grid .i-project.iw-2 {
      grid-column: span 2; }
    #project_home_grid .i-project.iw-3 {
      grid-column: span 3; }
    #project_home_grid .i-project.ih-1 {
      height: 30vw;
      max-height: 423px; }
    @media only screen and (min-width: 64.0625em) {
      #project_home_grid .i-project {
        border: 8px solid white; } }
    #project_home_grid .i-project img {
      object-fit: cover;
      width: 100%;
      height: 30vw;
      max-height: 100%;
      max-width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 1;
      transition: opacity 0.2s ease; }
    #project_home_grid .i-project .project-title {
      transition: all 0.3s ease-in-out;
      opacity: 0;
      position: absolute;
      top: 50%;
      left: 0;
      padding: 1.25rem;
      text-align: center;
      color: transparent;
      font-size: 1.5rem;
      width: 100%;
      height: auto;
      max-height: 100%;
      pointer-events: none; }
      @media only screen and (min-width: 64.0625em) {
        #project_home_grid .i-project .project-title {
          display: block;
          position: relative; } }
      #project_home_grid .i-project .project-title .title-text {
        font-size: 20px;
        line-height: 1.2;
        color: #ffffff;
        transform: translateY(-90%); }
    #project_home_grid .i-project:hover .fader {
      opacity: 0.3;
      -moz-opacity: 0.3;
      -webkit-opacity: 0.3; }
    @media only screen and (min-width: 64.0625em) {
      .no-touch #project_home_grid .i-project:hover .project-title {
        opacity: 1;
        color: #6b6b6b !important;
        text-align: center; } }
    #project_home_grid .i-project img {
      width: 100%; }

.archive.tax-project-categories .the-site-content,
.page-portfolio .the-site-content {
  position: relative;
  padding-bottom: 5.625rem; }

body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) #project_grid {
  margin-top: 0.9375rem;
  width: 100%; }

body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .columnset {
  width: 20%; }

body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project {
  position: relative;
  overflow: hidden;
  float: left;
  display: block;
  border: 4px solid white;
  height: 0px;
  display: block; }
  @media only screen and (min-width: 64.0625em) {
    body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project {
      border: 8px solid white; } }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project .project-photo {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    width: 100%;
    height: 30vw;
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    transition: opacity 0.2s ease; }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project .project-title {
    display: none;
    position: absolute;
    top: 50%;
    left: 0;
    padding: 1.25rem;
    text-align: center;
    color: transparent;
    font-size: 1.5rem;
    width: 100%;
    height: auto; }
    @media only screen and (min-width: 64.0625em) {
      body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project .project-title {
        display: block;
        position: relative; } }
    body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project .project-title .title-text {
      transform: translateY(-90%); }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project:hover .fader {
    opacity: 0.3;
    -moz-opacity: 0.3;
    -webkit-opacity: 0.3; }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project:hover .project-title {
    color: #6b6b6b !important;
    text-align: center; }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project.iw-1 {
    width: 20%; }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project.iw-2 {
    width: 40%; }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project.iw-3 {
    width: 60%; }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project.ih-1 {
    height: 30vw;
    max-height: 423px; }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project.ih-2 {
    padding-top: 20%; }
  body:not(.page-portfolio):not(.tax-project-categories):not(.page-complete-portfolio) .i-project img {
    width: 100%; }

.featured-project-image {
  background-color: #a1a1a1; }
  .featured-project-image img {
    width: 100%;
    height: auto;
    background-color: #a1a1a1;
    opacity: 0; }

h1.project-title {
  text-align: center;
  margin: 2.5rem 0; }

.row.project-row {
  max-width: 73rem !important; }

.project-content {
  padding: 2.5rem 1.25rem; }
  .project-content p {
    margin-bottom: 1.25rem; }

figure.wp-caption {
  width: auto !important;
  max-width: 100%; }
  figure.wp-caption img {
    width: 100%; }

.project-info {
  padding: 2.5rem 0;
  margin-left: 1.25rem; }
  .project-info.people {
    clear: both;
    display: table; }
    .project-info.people .project-person {
      float: left;
      width: 50%; }
      .project-info.people .project-person img {
        width: 100%;
        margin: 0; }
  .project-info .project-award {
    margin: 1rem 0px;
    line-height: 1.25rem; }

.related-projects a {
  display: block;
  position: relative; }

.related-projects .section-heading {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  margin-left: .5rem; }

.related-projects .featured-news-block {
  opacity: 0.3;
  transition: opacity 0.2s ease; }
  .related-projects .featured-news-block:hover {
    opacity: 1; }

.related-projects .news-title {
  font-size: 20px;
  line-height: 1.2;
  color: #ffffff; }

.next-post-block {
  box-shadow: inset 0 0 0 2000px rgba(255, 255, 255, 0.8);
  background-size: cover;
  padding: 5rem 1.25rem; }
  @media only screen and (min-width: 64.0625em) {
    .next-post-block {
      border: solid 7px white; } }
  .next-post-block .next-project-label {
    text-align: center;
    font-size: 1.5625rem;
    text-transform: capitalize;
    line-height: 1.1;
    padding-bottom: 1.25rem; }
    @media only screen and (min-width: 64.0625em) {
      .next-post-block .next-project-label {
        font-size: 2.1875rem; } }
  .next-post-block .next-project-title {
    font-size: 2.1875rem;
    line-height: 1;
    text-transform: capitalize; }
    @media only screen and (min-width: 64.0625em) {
      .next-post-block .next-project-title {
        font-size: 2.8125rem; } }

body.single-project .sd-social-icon .sd-content ul li[class*='share-'] a, body.single-project .sd-social-icon .sd-content ul li[class*='share-'] a:hover, body.single-project .sd-social-icon .sd-content ul li[class*='share-'] div.option a {
  border-radius: 0px !important;
  background-color: #6b6b6b !important;
  color: white !important;
  opacity: 1; }
  body.single-project .sd-social-icon .sd-content ul li[class*='share-'] a:hover, body.single-project .sd-social-icon .sd-content ul li[class*='share-'] a:hover:hover, body.single-project .sd-social-icon .sd-content ul li[class*='share-'] div.option a:hover {
    background-color: #fa4616 !important; }

.all-toggle {
  display: none; }

.project-person .image-caption {
  font-style: italic;
  font-size: 0.8rem; }

.row.project-gallery {
  padding: 0 8px; }

.related-projects {
  padding: 0 0.5rem; }

.related-projects a {
  position: relative; }

.featured-reading {
  height: auto;
  margin-bottom: 2.5rem;
  box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0);
  transition: all 0.2s ease; }
  .featured-reading .columns {
    padding-left: .5rem;
    padding-right: .5rem; }
  .featured-reading a:not(.related-portfolio-link) {
    background-color: #231f20;
    display: block;
    position: relative;
    text-align: center; }
    .featured-reading a:not(.related-portfolio-link):hover .news-title {
      opacity: 0; }
    .featured-reading a:not(.related-portfolio-link):hover .featured-news-block {
      opacity: 1; }
  .featured-reading h2.secondary-headline {
    max-width: 60.9375rem;
    margin-left: 1.2%;
    padding-left: 0;
    color: #fa4616;
    text-transform: uppercase;
    text-align: left; }
  .featured-reading .news-title {
    opacity: 1;
    transition: all 0.3s ease-in-out; }
  .featured-reading .featured-news-block-overlay {
    width: 100%;
    height: 100%;
    transition: all 0.3s ease-in-out;
    z-index: 4; }
  .featured-reading .featured-news-block {
    position: relative;
    padding-top: 100%;
    opacity: 0.3;
    transition: all 0.3s ease-in-out;
    background-position: center; }
    @media only screen and (max-width: 40em) {
      .featured-reading .featured-news-block {
        box-shadow: none;
        margin-bottom: 200px; } }

@media only screen and (max-width: 40em) {
  .project-content {
    padding: 0.5rem 1.25rem; }
  .project-info.people {
    padding-top: 0.5rem !important; }
  .content-section img {
    margin: 0.5rem auto; } }

.blog .featued-post,
.archive .featued-post,
.single-post .featued-post {
  padding-top: 20px;
  position: relative;
  margin-bottom: 4.1875rem; }
  .blog .featued-post > h5,
  .archive .featued-post > h5,
  .single-post .featued-post > h5 {
    margin: 0 0 20px;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate3d(0, -100%, 0); }
  .blog .featued-post .blog-post.featured .entry-header .entry-item-title,
  .archive .featued-post .blog-post.featured .entry-header .entry-item-title,
  .single-post .featued-post .blog-post.featured .entry-header .entry-item-title {
    margin-top: 24px; }
  .blog .featued-post .blog-post.featured .entry-header .author-credit,
  .archive .featued-post .blog-post.featured .entry-header .author-credit,
  .single-post .featued-post .blog-post.featured .entry-header .author-credit {
    font-size: 1.0625rem; }
  .blog .featued-post .blog-post.featured .entry-content p,
  .archive .featued-post .blog-post.featured .entry-content p,
  .single-post .featued-post .blog-post.featured .entry-content p {
    font-size: 1.125rem;
    margin-bottom: 0; }
  .blog .featued-post .blog-post.featured .entry-footer,
  .archive .featued-post .blog-post.featured .entry-footer,
  .single-post .featued-post .blog-post.featured .entry-footer {
    padding: 24px 0 40px; }

.blog .posts-feed,
.archive .posts-feed,
.single-post .posts-feed {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin: 0 -15px; }
  @media only screen and (min-width: 40.0625em) {
    .blog .posts-feed,
    .archive .posts-feed,
    .single-post .posts-feed {
      margin-bottom: -17px; } }
  .blog .posts-feed .blog-post,
  .archive .posts-feed .blog-post,
  .single-post .posts-feed .blog-post {
    -ms-flex: 1 0 100%;
        flex: 1 0 100%;
    width: 100%;
    margin-bottom: 0;
    padding: 20px 0.9375rem 47px;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    @media only screen and (min-width: 40.0625em) {
      .blog .posts-feed .blog-post,
      .archive .posts-feed .blog-post,
      .single-post .posts-feed .blog-post {
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
        width: 50%; } }
    .blog .posts-feed .blog-post article,
    .archive .posts-feed .blog-post article,
    .single-post .posts-feed .blog-post article {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      width: 100%;
      height: 100%; }

.blog .blog-post .entry-header img,
.archive .blog-post .entry-header img,
.single-post .blog-post .entry-header img {
  width: 100%; }

.blog .blog-post .entry-header .entry-item-title,
.archive .blog-post .entry-header .entry-item-title,
.single-post .blog-post .entry-header .entry-item-title {
  margin-top: 8px;
  margin-bottom: 8px; }
  .blog .blog-post .entry-header .entry-item-title > a:link,
  .blog .blog-post .entry-header .entry-item-title > a:visited,
  .archive .blog-post .entry-header .entry-item-title > a:link,
  .archive .blog-post .entry-header .entry-item-title > a:visited,
  .single-post .blog-post .entry-header .entry-item-title > a:link,
  .single-post .blog-post .entry-header .entry-item-title > a:visited {
    color: #231f20; }
  .blog .blog-post .entry-header .entry-item-title > a:hover,
  .blog .blog-post .entry-header .entry-item-title > a:active,
  .archive .blog-post .entry-header .entry-item-title > a:hover,
  .archive .blog-post .entry-header .entry-item-title > a:active,
  .single-post .blog-post .entry-header .entry-item-title > a:hover,
  .single-post .blog-post .entry-header .entry-item-title > a:active {
    color: #636466; }

.blog .blog-post .main-article,
.archive .blog-post .main-article,
.single-post .blog-post .main-article {
  margin: 2.5rem 0; }

.blog .blog-post .entry-footer,
.archive .blog-post .entry-footer,
.single-post .blog-post .entry-footer {
  padding: 1rem 0 2.0625rem;
  border-bottom: 3px solid #f1f1f2;
  margin-top: auto; }

.blog .blog-post .entry-content p,
.archive .blog-post .entry-content p,
.single-post .blog-post .entry-content p {
  font-size: 1rem; }

.blog .blog-post .entry-content figure.alignleft,
.blog .blog-post .entry-content img.alignleft,
.blog .blog-post .main-article figure.alignleft,
.blog .blog-post .main-article img.alignleft,
.archive .blog-post .entry-content figure.alignleft,
.archive .blog-post .entry-content img.alignleft,
.archive .blog-post .main-article figure.alignleft,
.archive .blog-post .main-article img.alignleft,
.single-post .blog-post .entry-content figure.alignleft,
.single-post .blog-post .entry-content img.alignleft,
.single-post .blog-post .main-article figure.alignleft,
.single-post .blog-post .main-article img.alignleft {
  margin-left: auto;
  margin-right: auto;
  display: block; }
  @media only screen and (min-width: 40.0625em) {
    .blog .blog-post .entry-content figure.alignleft,
    .blog .blog-post .entry-content img.alignleft,
    .blog .blog-post .main-article figure.alignleft,
    .blog .blog-post .main-article img.alignleft,
    .archive .blog-post .entry-content figure.alignleft,
    .archive .blog-post .entry-content img.alignleft,
    .archive .blog-post .main-article figure.alignleft,
    .archive .blog-post .main-article img.alignleft,
    .single-post .blog-post .entry-content figure.alignleft,
    .single-post .blog-post .entry-content img.alignleft,
    .single-post .blog-post .main-article figure.alignleft,
    .single-post .blog-post .main-article img.alignleft {
      float: left;
      margin-right: 1rem;
      display: inline; } }

.blog .blog-post .entry-content figure.alignright,
.blog .blog-post .entry-content img.alignright,
.blog .blog-post .main-article figure.alignright,
.blog .blog-post .main-article img.alignright,
.archive .blog-post .entry-content figure.alignright,
.archive .blog-post .entry-content img.alignright,
.archive .blog-post .main-article figure.alignright,
.archive .blog-post .main-article img.alignright,
.single-post .blog-post .entry-content figure.alignright,
.single-post .blog-post .entry-content img.alignright,
.single-post .blog-post .main-article figure.alignright,
.single-post .blog-post .main-article img.alignright {
  margin-left: auto;
  margin-right: auto;
  display: block; }
  @media only screen and (min-width: 40.0625em) {
    .blog .blog-post .entry-content figure.alignright,
    .blog .blog-post .entry-content img.alignright,
    .blog .blog-post .main-article figure.alignright,
    .blog .blog-post .main-article img.alignright,
    .archive .blog-post .entry-content figure.alignright,
    .archive .blog-post .entry-content img.alignright,
    .archive .blog-post .main-article figure.alignright,
    .archive .blog-post .main-article img.alignright,
    .single-post .blog-post .entry-content figure.alignright,
    .single-post .blog-post .entry-content img.alignright,
    .single-post .blog-post .main-article figure.alignright,
    .single-post .blog-post .main-article img.alignright {
      float: right;
      margin-left: 1rem;
      display: inline; } }

.blog .blog-post .entry-content figure.aligncenter,
.blog .blog-post .entry-content img.aligncenter,
.blog .blog-post .main-article figure.aligncenter,
.blog .blog-post .main-article img.aligncenter,
.archive .blog-post .entry-content figure.aligncenter,
.archive .blog-post .entry-content img.aligncenter,
.archive .blog-post .main-article figure.aligncenter,
.archive .blog-post .main-article img.aligncenter,
.single-post .blog-post .entry-content figure.aligncenter,
.single-post .blog-post .entry-content img.aligncenter,
.single-post .blog-post .main-article figure.aligncenter,
.single-post .blog-post .main-article img.aligncenter {
  margin-left: auto;
  margin-right: auto; }

.blog .blog-post .entry-content img.aligncenter,
.blog .blog-post .main-article img.aligncenter,
.archive .blog-post .entry-content img.aligncenter,
.archive .blog-post .main-article img.aligncenter,
.single-post .blog-post .entry-content img.aligncenter,
.single-post .blog-post .main-article img.aligncenter {
  display: block; }

.blog .blog-post figure,
.archive .blog-post figure,
.single-post .blog-post figure {
  max-width: 100%;
  margin: 0 0 1.25rem; }
  .blog .blog-post figure figcaption,
  .archive .blog-post figure figcaption,
  .single-post .blog-post figure figcaption {
    padding-top: 0.625rem;
    font-size: 1rem; }

.blog .blog-post .author-credit,
.archive .blog-post .author-credit,
.single-post .blog-post .author-credit {
  font-size: 0.9375rem;
  margin-bottom: 8px;
  color: #636466;
  font-weight: 500; }

.blog .blog-post h5.readmore,
.archive .blog-post h5.readmore,
.single-post .blog-post h5.readmore {
  color: inherit;
  margin-top: 1.25rem;
  margin-bottom: 2.5rem; }

.blog .blog-post .entry-meta,
.archive .blog-post .entry-meta,
.single-post .blog-post .entry-meta {
  margin-top: 16px;
  margin-bottom: 8px;
  font-size: 1rem;
  color: #a1a1a1; }
  .blog .blog-post .entry-meta a,
  .archive .blog-post .entry-meta a,
  .single-post .blog-post .entry-meta a {
    font-weight: normal;
    color: #a1a1a1; }
  .blog .blog-post .entry-meta .postdate,
  .archive .blog-post .entry-meta .postdate,
  .single-post .blog-post .entry-meta .postdate {
    margin-right: 1.25rem; }

.blog .blog-nav,
.archive .blog-nav,
.single-post .blog-nav {
  display: table;
  clear: both;
  margin-bottom: 2.5rem;
  width: 100%; }
  .blog .blog-nav .left-nav,
  .archive .blog-nav .left-nav,
  .single-post .blog-nav .left-nav {
    width: 50%;
    float: left;
    text-align: left; }
    .blog .blog-nav .left-nav img,
    .archive .blog-nav .left-nav img,
    .single-post .blog-nav .left-nav img {
      display: inline-block;
      width: 1.5625rem;
      transform: rotate(-180deg); }
    .blog .blog-nav .left-nav:hover,
    .archive .blog-nav .left-nav:hover,
    .single-post .blog-nav .left-nav:hover {
      opacity: 0.7; }
  .blog .blog-nav .right-nav,
  .archive .blog-nav .right-nav,
  .single-post .blog-nav .right-nav {
    width: 50%;
    float: left;
    text-align: right; }
    .blog .blog-nav .right-nav:hover,
    .archive .blog-nav .right-nav:hover,
    .single-post .blog-nav .right-nav:hover {
      opacity: 0.7; }
    .blog .blog-nav .right-nav img,
    .archive .blog-nav .right-nav img,
    .single-post .blog-nav .right-nav img {
      display: inline-block;
      width: 1.5625rem; }

.blog .blog-sidebar,
.archive .blog-sidebar,
.single-post .blog-sidebar {
  padding-left: 1.25rem; }
  .blog .blog-sidebar h5,
  .archive .blog-sidebar h5,
  .single-post .blog-sidebar h5 {
    margin-top: 20px; }
  .blog .blog-sidebar .social-block.social-link-group,
  .archive .blog-sidebar .social-block.social-link-group,
  .single-post .blog-sidebar .social-block.social-link-group {
    margin-bottom: 40px; }
  .blog .blog-sidebar .social-block .inline-flex,
  .archive .blog-sidebar .social-block .inline-flex,
  .single-post .blog-sidebar .social-block .inline-flex {
    display: -ms-inline-flexbox;
    display: inline-flex; }
  .blog .blog-sidebar .social-block .social-link,
  .archive .blog-sidebar .social-block .social-link,
  .single-post .blog-sidebar .social-block .social-link {
    display: inline-block;
    width: 2.5rem;
    height: 2.5rem;
    -ms-flex-align: center;
        align-items: center;
    text-align: center;
    line-height: 53px;
    margin-right: 5px; }
    .blog .blog-sidebar .social-block .social-link svg,
    .archive .blog-sidebar .social-block .social-link svg,
    .single-post .blog-sidebar .social-block .social-link svg {
      height: 20px;
      opacity: 1;
      fill: #6b6b6b; }
    .blog .blog-sidebar .social-block .social-link:hover svg,
    .archive .blog-sidebar .social-block .social-link:hover svg,
    .single-post .blog-sidebar .social-block .social-link:hover svg {
      fill: #fa4616; }
  .blog .blog-sidebar .social-block h5,
  .archive .blog-sidebar .social-block h5,
  .single-post .blog-sidebar .social-block h5 {
    color: #a1a1a1; }
  .blog .blog-sidebar .social-block #text-3 p.address,
  .blog .blog-sidebar .social-block #text-3 p.address-portland,
  .blog .blog-sidebar .social-block #text-8 p.address,
  .blog .blog-sidebar .social-block #text-8 p.address-portland,
  .archive .blog-sidebar .social-block #text-3 p.address,
  .archive .blog-sidebar .social-block #text-3 p.address-portland,
  .archive .blog-sidebar .social-block #text-8 p.address,
  .archive .blog-sidebar .social-block #text-8 p.address-portland,
  .single-post .blog-sidebar .social-block #text-3 p.address,
  .single-post .blog-sidebar .social-block #text-3 p.address-portland,
  .single-post .blog-sidebar .social-block #text-8 p.address,
  .single-post .blog-sidebar .social-block #text-8 p.address-portland {
    display: none; }
  .blog .blog-sidebar .featured-posts,
  .archive .blog-sidebar .featured-posts,
  .single-post .blog-sidebar .featured-posts {
    margin-bottom: 2.5rem; }
  .blog .blog-sidebar .tag-toggle,
  .archive .blog-sidebar .tag-toggle,
  .single-post .blog-sidebar .tag-toggle {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    .blog .blog-sidebar .tag-toggle img,
    .archive .blog-sidebar .tag-toggle img,
    .single-post .blog-sidebar .tag-toggle img {
      height: 1.25rem;
      transform: rotate(180deg); }
      .blog .blog-sidebar .tag-toggle img.open,
      .archive .blog-sidebar .tag-toggle img.open,
      .single-post .blog-sidebar .tag-toggle img.open {
        transform: rotate(0deg) translateY(-2px); }

.blog .blog-post-footer .cat-section,
.blog .cat-section,
.archive .blog-post-footer .cat-section,
.archive .cat-section,
.single-post .blog-post-footer .cat-section,
.single-post .cat-section {
  margin-left: 0;
  margin-bottom: 2.5rem; }
  .blog .blog-post-footer .cat-section li,
  .blog .cat-section li,
  .archive .blog-post-footer .cat-section li,
  .archive .cat-section li,
  .single-post .blog-post-footer .cat-section li,
  .single-post .cat-section li {
    margin: 1rem 0px;
    line-height: 1.25rem;
    list-style-type: none; }
    .blog .blog-post-footer .cat-section li a,
    .blog .cat-section li a,
    .archive .blog-post-footer .cat-section li a,
    .archive .cat-section li a,
    .single-post .blog-post-footer .cat-section li a,
    .single-post .cat-section li a {
      font-weight: 500;
      font-size: 1.125rem;
      color: #fa4616; }
      .blog .blog-post-footer .cat-section li a:hover,
      .blog .cat-section li a:hover,
      .archive .blog-post-footer .cat-section li a:hover,
      .archive .cat-section li a:hover,
      .single-post .blog-post-footer .cat-section li a:hover,
      .single-post .cat-section li a:hover {
        color: #6b6b6b; }

.blog .tag-section,
.archive .tag-section,
.single-post .tag-section {
  display: block;
  width: 100%;
  height: 0px;
  overflow: hidden;
  text-align: left; }
  .blog .tag-section.open,
  .archive .tag-section.open,
  .single-post .tag-section.open {
    height: auto !important;
    padding-bottom: 2.5rem; }
  .blog .tag-section .blog-tag,
  .archive .tag-section .blog-tag,
  .single-post .tag-section .blog-tag {
    display: inline-block;
    font-size: 0.875rem;
    background-color: rgba(0, 0, 0, 0.03);
    border-radius: 500px;
    padding: 0.3125rem 1.25rem;
    margin: 0.625rem 0.3125rem 0 0;
    color: rgba(0, 0, 0, 0.3); }
    .blog .tag-section .blog-tag:hover,
    .archive .tag-section .blog-tag:hover,
    .single-post .tag-section .blog-tag:hover {
      background-color: rgba(0, 0, 0, 0.1); }

.blog .page-header,
.archive .page-header,
.single-post .page-header {
  margin-bottom: 60px; }
  .blog .page-header__inner,
  .archive .page-header__inner,
  .single-post .page-header__inner {
    padding: 0 0 40px;
    border-bottom: 2px solid #f1f1f2; }
  .blog .page-header .archive-title + p,
  .archive .page-header .archive-title + p,
  .single-post .page-header .archive-title + p {
    margin-top: 24px; }

.single-post h1.page-title {
  margin: 0 0 16px;
  line-height: 1.3; }

.single-post .entry-header--info {
  margin: 0 auto 40px; }
  @media only screen and (min-width: 64.0625em) {
    .single-post .entry-header--info {
      width: 50%; } }
  .single-post .entry-header--info .author-credit {
    font-size: 1.125rem;
    line-height: 1.2;
    color: #636466;
    font-weight: 500; }
    @media only screen and (min-width: 64.0625em) {
      .single-post .entry-header--info .author-credit {
        font-size: 1.25rem; } }
  .single-post .entry-header--info .entry-meta {
    margin-top: 0; }
  .single-post .entry-header--info .categories {
    margin-top: 8px; }
    .single-post .entry-header--info .categories a {
      color: #fa4616;
      font-size: 1rem;
      font-weight: 500; }
      @media only screen and (min-width: 40.0625em) {
        .single-post .entry-header--info .categories a {
          font-size: 1.125rem; } }
      .single-post .entry-header--info .categories a:hover {
        color: #6b6b6b; }

.single-post .blog-post .main-article {
  margin-top: 0; }

.single-post .navigation.posts-navigation,
.blog .navigation.posts-navigation,
.archive .navigation.posts-navigation {
  padding: 0 0 30px; }
  .single-post .navigation.posts-navigation .nav-links,
  .blog .navigation.posts-navigation .nav-links,
  .archive .navigation.posts-navigation .nav-links {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .single-post .navigation.posts-navigation .nav-previous a,
  .single-post .navigation.posts-navigation .nav-next a,
  .blog .navigation.posts-navigation .nav-previous a,
  .blog .navigation.posts-navigation .nav-next a,
  .archive .navigation.posts-navigation .nav-previous a,
  .archive .navigation.posts-navigation .nav-next a {
    color: #636466;
    font-weight: normal;
    display: block; }
    .single-post .navigation.posts-navigation .nav-previous a:hover,
    .single-post .navigation.posts-navigation .nav-next a:hover,
    .blog .navigation.posts-navigation .nav-previous a:hover,
    .blog .navigation.posts-navigation .nav-next a:hover,
    .archive .navigation.posts-navigation .nav-previous a:hover,
    .archive .navigation.posts-navigation .nav-next a:hover {
      color: #fa4616; }
      .single-post .navigation.posts-navigation .nav-previous a:hover h5,
      .single-post .navigation.posts-navigation .nav-next a:hover h5,
      .blog .navigation.posts-navigation .nav-previous a:hover h5,
      .blog .navigation.posts-navigation .nav-next a:hover h5,
      .archive .navigation.posts-navigation .nav-previous a:hover h5,
      .archive .navigation.posts-navigation .nav-next a:hover h5 {
        color: #636466; }
    .single-post .navigation.posts-navigation .nav-previous a [class*='icon-'],
    .single-post .navigation.posts-navigation .nav-next a [class*='icon-'],
    .blog .navigation.posts-navigation .nav-previous a [class*='icon-'],
    .blog .navigation.posts-navigation .nav-next a [class*='icon-'],
    .archive .navigation.posts-navigation .nav-previous a [class*='icon-'],
    .archive .navigation.posts-navigation .nav-next a [class*='icon-'] {
      display: inline-block;
      font-size: 60%; }
  .single-post .navigation.posts-navigation .nav-previous [class*='icon-'],
  .blog .navigation.posts-navigation .nav-previous [class*='icon-'],
  .archive .navigation.posts-navigation .nav-previous [class*='icon-'] {
    margin-right: 18px; }
  .single-post .navigation.posts-navigation .nav-next [class*='icon-'],
  .blog .navigation.posts-navigation .nav-next [class*='icon-'],
  .archive .navigation.posts-navigation .nav-next [class*='icon-'] {
    margin-left: 18px; }

.single-post .navigation.posts-navigation {
  padding-top: 18px;
  margin: 0 auto; }
  @media only screen and (min-width: 64.0625em) {
    .single-post .navigation.posts-navigation {
      width: 50%; } }
  .single-post .navigation.posts-navigation .nav-links {
    -ms-flex-align: initial;
        align-items: initial; }
  .single-post .navigation.posts-navigation .nav-previous,
  .single-post .navigation.posts-navigation .nav-next {
    -ms-flex: 1 0 50%;
        flex: 1 0 50%;
    max-width: 50%; }
    .single-post .navigation.posts-navigation .nav-previous h5,
    .single-post .navigation.posts-navigation .nav-next h5 {
      transition: color .3s ease-in-out;
      margin-top: 17px; }
  .single-post .navigation.posts-navigation .nav-previous {
    text-align: right;
    padding-left: 1rem; }
    .single-post .navigation.posts-navigation .nav-previous [class*='icon-'] {
      margin-left: 18px;
      margin-right: 0; }
  .single-post .navigation.posts-navigation .nav-next {
    padding-right: 1rem; }
    .single-post .navigation.posts-navigation .nav-next [class*='icon-'] {
      margin-left: 0;
      margin-right: 18px; }

.single-post .blog-post-footer .entry-meta {
  padding-bottom: 40px;
  border-bottom: 2px solid #f1f1f2; }
  .single-post .blog-post-footer .entry-meta--inner {
    margin: 0 auto; }
    @media only screen and (min-width: 64.0625em) {
      .single-post .blog-post-footer .entry-meta--inner {
        width: 50%; } }
  .single-post .blog-post-footer .entry-meta .categories a {
    color: #fa4616;
    font-weight: 500;
    font-size: 1rem; }
    @media only screen and (min-width: 40.0625em) {
      .single-post .blog-post-footer .entry-meta .categories a {
        font-size: 1.125rem; } }
    .single-post .blog-post-footer .entry-meta .categories a:hover {
      color: #6b6b6b; }
  .single-post .blog-post-footer .entry-meta .tag-toggle {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    @media only screen and (min-width: 64.0625em) {
      .single-post .blog-post-footer .entry-meta .tag-toggle {
        pointer-events: none; } }
    .single-post .blog-post-footer .entry-meta .tag-toggle img {
      height: 1.25rem;
      transform: rotate(180deg); }
      .single-post .blog-post-footer .entry-meta .tag-toggle img.open {
        transform: rotate(0deg) translateY(-2px); }
      @media only screen and (min-width: 64.0625em) {
        .single-post .blog-post-footer .entry-meta .tag-toggle img {
          display: none; } }
  .single-post .blog-post-footer .entry-meta .tag-section {
    margin-bottom: 1rem; }
    @media only screen and (min-width: 64.0625em) {
      .single-post .blog-post-footer .entry-meta .tag-section {
        height: auto !important; } }
  .single-post .blog-post-footer .entry-meta.bottom {
    padding-top: 36px; }
    .single-post .blog-post-footer .entry-meta.bottom h5 {
      color: #636466;
      font-size: 1.0625rem;
      font-weight: normal; }
  .single-post .blog-post-footer .entry-meta .postdate {
    margin: 8px 0 0;
    line-height: 1.5;
    font-size: 1.125rem;
    color: #9d9fa1; }

.single-post .blog-post-footer .related-posts {
  margin-top: 40px; }
  .single-post .blog-post-footer .related-posts--heading {
    font-weight: normal;
    color: #636466;
    font-size: 1.0625rem; }
    .single-post .blog-post-footer .related-posts--heading + p {
      margin-top: 8px; }
  .single-post .blog-post-footer .related-posts p a {
    font-weight: 500;
    color: #fa4616;
    text-decoration: none; }
    .single-post .blog-post-footer .related-posts p a:hover {
      color: #6b6b6b; }
  .single-post .blog-post-footer .related-posts p + p {
    margin-top: 8px; }

.single-post .blog-post .wp-caption,
.single-post .blog-post .entry-content .wp-caption {
  margin-bottom: 0; }
  .single-post .blog-post .wp-caption .wp-caption-text p,
  .single-post .blog-post .wp-caption .wp-caption-text,
  .single-post .blog-post .entry-content .wp-caption .wp-caption-text p,
  .single-post .blog-post .entry-content .wp-caption .wp-caption-text {
    font-size: 1rem;
    font-style: italic;
    color: #636466;
    padding-top: 8px; }
  .single-post .blog-post .wp-caption.post-hero,
  .single-post .blog-post .entry-content .wp-caption.post-hero {
    margin-bottom: 20px; }
    .single-post .blog-post .wp-caption.post-hero .wp-caption-text,
    .single-post .blog-post .entry-content .wp-caption.post-hero .wp-caption-text {
      margin: 0 auto;
      padding-top: 8px; }

.single-post .blog-post .block-posts-copy .posts-copy,
.single-post .blog-post .entry-content .block-posts-copy .posts-copy {
  margin: 0 auto; }
  @media only screen and (min-width: 64.0625em) {
    .single-post .blog-post .block-posts-copy .posts-copy,
    .single-post .blog-post .entry-content .block-posts-copy .posts-copy {
      width: 50%; } }

.single-post .blog-post .block-posts-copy p,
.single-post .blog-post .entry-content .block-posts-copy p {
  font-size: 1.125rem;
  margin: 0; }
  .single-post .blog-post .block-posts-copy p + .wp-caption,
  .single-post .blog-post .block-posts-copy p + p,
  .single-post .blog-post .entry-content .block-posts-copy p + .wp-caption,
  .single-post .blog-post .entry-content .block-posts-copy p + p {
    margin-top: 40px; }

.single-post .blog-post .block-posts-copy .wp-caption,
.single-post .blog-post .entry-content .block-posts-copy .wp-caption {
  display: block;
  float: none; }

.single-post .blog-post .block-posts-copy .wp-caption + p,
.single-post .blog-post .entry-content .block-posts-copy .wp-caption + p {
  margin-top: 40px; }

.single-post .blog-post .block-posts-large-image,
.single-post .blog-post .entry-content .block-posts-large-image {
  margin: 0 auto; }
  .single-post .blog-post .block-posts-large-image img,
  .single-post .blog-post .entry-content .block-posts-large-image img {
    display: block;
    margin: 0 auto; }
    @media only screen and (min-width: 64.0625em) {
      .single-post .blog-post .block-posts-large-image img,
      .single-post .blog-post .entry-content .block-posts-large-image img {
        width: 83.3336%; } }
  .single-post .blog-post .block-posts-large-image .wp-caption-text,
  .single-post .blog-post .entry-content .block-posts-large-image .wp-caption-text {
    padding-top: 8px;
    margin: 0 auto 0; }
    @media only screen and (min-width: 64.0625em) {
      .single-post .blog-post .block-posts-large-image .wp-caption-text,
      .single-post .blog-post .entry-content .block-posts-large-image .wp-caption-text {
        width: 83.3336%; } }
    .single-post .blog-post .block-posts-large-image .wp-caption-text p,
    .single-post .blog-post .entry-content .block-posts-large-image .wp-caption-text p {
      font-size: 16px;
      padding-top: 0;
      margin: 0; }

.single-post .block-images-grid {
  padding: 20px 0; }
  @media only screen and (min-width: 64.0625em) {
    .single-post .block-images-grid .images-grid {
      width: 83.3336%; } }

@media only screen and (min-width: 40.0625em) {
  .page-contact .gfield.left-field {
    float: left;
    clear: both;
    width: 48%; } }

@media only screen and (min-width: 40.0625em) {
  .page-contact .gfield.right-field {
    float: right;
    margin-right: 10px;
    clear: none;
    width: 48%; } }

.page-contact .contact-column {
  width: 90%;
  margin: 0 auto;
  padding-bottom: 2.5rem; }

.page-contact .location-section {
  margin-top: 2.75rem; }
  .page-contact .location-section a {
    color: #6b6b6b; }
    .page-contact .location-section a:hover {
      color: #a1a1a1; }
  .page-contact .location-section address {
    font-style: normal; }
    .page-contact .location-section address p {
      margin: 1rem 0px;
      line-height: 1.25rem; }

.page-contact .contact-section.transit h5 {
  margin-top: 0;
  margin-bottom: 16px; }

.page-contact .contact-section ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  .page-contact .contact-section ul li {
    margin: 0 0 15px 0; }

.page-contact .contact-section__item {
  margin-bottom: 1.5rem; }
  .page-contact .contact-section__item p {
    font-size: 15px; }

.page-contact article.office-locations {
  margin-top: 24px; }

.page-contact .map-section {
  margin-top: 1.5rem; }
  @media only screen and (min-width: 64.0625em) and (max-width: 90em) {
    .page-contact .map-section {
      padding: 0 30px; } }
  .page-contact .map-section h3 {
    margin: 0.725rem 0;
    color: #000; }
  .page-contact .map-section .columns + .columns {
    margin-top: 2rem; }
    @media only screen and (min-width: 64.0625em) {
      .page-contact .map-section .columns + .columns {
        margin-top: 0; } }
  .page-contact .map-section .wpgmza_map {
    height: 450px !important; }
    @media only screen and (min-width: 40.0625em) and (max-width: 64em) {
      .page-contact .map-section .wpgmza_map {
        height: 375px !important; } }

@media only screen and (max-width: 40em) {
  .gform_wrapper {
    padding: 0; } }

.gform_wrapper select, .gform_wrapper textarea, .gform_wrapper input[type="text"], .gform_wrapper input[type="email"], .gform_wrapper input[type="tel"], .gform_wrapper input[type="url"] {
  background-color: white;
  box-shadow: none;
  border: solid 1px #a1a1a1;
  padding: 0.3125rem; }

.gform_wrapper select, .gform_wrapper input[type="text"], .gform_wrapper input[type="email"], .gform_wrapper input[type="tel"], .gform_wrapper input[type="url"] {
  height: 3.125rem; }

.gform_wrapper .gfield_label {
  color: #fa4616;
  font-size: 1.125rem;
  font-weight: normal !important;
  display: none !important; }

.gform_wrapper .gform_footer {
  padding: 0;
  margin: 0;
  clear: both;
  text-align: right;
  margin-top: -71px !important; }
  @media only screen and (max-width: 40em) {
    .gform_wrapper .gform_footer {
      margin-top: 0 !important; } }

.gform_wrapper #gform_1 input#gform_submit_button_1 {
  height: 0;
  max-width: 0;
  font-size: 0;
  border: 0;
  margin: 0;
  padding: 0; }

.gform_wrapper #gform_1 .gform-custom-submit-button {
  font-size: 0;
  margin: 0 16px 0 0; }
  .gform_wrapper #gform_1 .gform-custom-submit-button:before {
    content: 'Submit';
    display: block;
    font-size: 18px; }

body .gform_wrapper.gravity-theme .gfield-choice-input + label {
  margin-bottom: 1rem; }

body .gform_wrapper.gravity-theme .gfield_list_icons {
  -ms-flex-align: center;
      align-items: center; }
  body .gform_wrapper.gravity-theme .gfield_list_icons button {
    margin-top: 0;
    margin-bottom: 0; }

.page-services .the-site-content .project-content {
  width: 100% !important;
  padding-right: 1rem; }

.page-services .the-site-content .col {
  float: left;
  width: 100%;
  padding: 1rem; }
  @media only screen and (min-width: 40.0625em) {
    .page-services .the-site-content .col {
      width: 25%; } }

.page-services .the-site-content .row.fourcol .columns {
  padding: 0 1rem 0 2.25rem; }
  .page-services .the-site-content .row.fourcol .columns a h5 {
    transition: all .3s ease-in-out; }
    .page-services .the-site-content .row.fourcol .columns a h5::after {
      transition: all .3s ease-in-out;
      font-family: sans-serif;
      color: #fa4616;
      content: " →"; }
  .page-services .the-site-content .row.fourcol .columns a:hover h5 {
    color: #fa4616; }
  .page-services .the-site-content .row.fourcol .columns ul {
    margin-left: 0; }
    .page-services .the-site-content .row.fourcol .columns ul li {
      list-style-type: none;
      padding-bottom: .5rem; }

.page-template-page-services-template h1 {
  font-weight: 400;
  text-transform: uppercase;
  font-size: 150%;
  padding: .5em 0; }

.page-template-page-services-template .people .project-person {
  padding-right: 16px; }

.page-template-page-services-template .row.project-gallery {
  padding: 8px; }

.page-template-page-services-template .related-portfolio-header {
  min-height: 150px; }

.page-template-page-services-template .related-portfolio-link {
  text-transform: uppercase;
  text-align: right;
  color: #fa4616;
  padding-top: 3.75rem; }

.page-template-page-services-template .related-portfolio-link:after {
  font-family: sans-serif;
  color: #fa4616;
  content: " →"; }

.page-template-page-services-template .related-left {
  width: 50%;
  float: left;
  text-align: left;
  min-height: 60px; }

.page-template-page-services-template .related-right {
  width: 50%;
  float: right;
  text-align: right;
  min-height: 60px; }

#body .search__form {
  padding: 56px 0; }
  #body .search__form .search-submit {
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 20px;
    padding: 0;
    line-height: 1;
    margin-bottom: 0;
    background: transparent;
    color: #231f20;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
    #body .search__form .search-submit:focus {
      outline: none; }
    #body .search__form .search-submit:hover {
      color: #fa4616; }
  #body .search__form .searchfield,
  #body .search__form .search-submit {
    margin: 0; }
  #body .search__form #navsearch {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    transition: all 0.3s ease;
    width: 100%;
    border-bottom: 2px solid #f1f1f2; }
    #body .search__form #navsearch .searchfield {
      font-size: 20px;
      line-height: 1.2;
      font-weight: 500;
      letter-spacing: 0;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
      width: auto;
      display: inline;
      padding: 7px 8px; }
    #body .search__form #navsearch input[type="text"] {
      border: solid 0 transparent;
      font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
      box-shadow: none;
      background-color: white !important; }

#body .search__nav {
  margin: 0 0; }
  #body .search__nav.desktop {
    display: none; }
  @media only screen and (min-width: 64.0625em) {
    #body .search__nav {
      margin-top: 56px; }
      #body .search__nav.mobile {
        display: none; }
      #body .search__nav.desktop {
        display: block; } }
  #body .search__nav li {
    text-transform: uppercase;
    list-style: none;
    color: #9d9fa1;
    font-size: 17px;
    line-height: 2;
    display: inline-block;
    margin-right: 24px; }
    @media only screen and (min-width: 64.0625em) {
      #body .search__nav li {
        line-height: 1.2;
        display: block; } }
    @media only screen and (min-width: 64.0625em) {
      #body .search__nav li + li {
        margin-top: 24px; } }
    #body .search__nav li a {
      color: #231f20; }
      #body .search__nav li a:hover {
        color: #fa4616; }
    #body .search__nav li.disabled > a {
      pointer-events: none;
      color: #9d9fa1; }
    #body .search__nav li.active a {
      color: #fa4616; }

#body .search__results {
  padding: 0 0 56px; }

#body .search__results-section {
  padding-top: 77px; }
  @media only screen and (min-width: 64.0625em) {
    #body .search__results-section {
      padding-top: 0; }
      #body .search__results-section + .search__results-section .search__results-section--header {
        padding-top: 77px; } }
  #body .search__results-section:focus {
    outline: none; }
  #body .search__results-section .search-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    margin-left: -1rem;
    margin-right: -1rem; }
  #body .search__results-section#results-news .search-row {
    margin-left: -.5rem;
    margin-right: -.5rem; }
  #body .search__results-section--footer {
    margin-top: 1rem;
    border-bottom: 2px solid #f1f1f2;
    padding: 15px 0; }
    @media only screen and (min-width: 64.0625em) {
      #body .search__results-section--footer {
        display: none; } }
  #body .search__results-section--header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    border-bottom: 2px solid #f1f1f2;
    padding: 15px 0;
    margin-bottom: 24px; }
    #body .search__results-section--header .fancy-link {
      display: none; }
      @media only screen and (min-width: 64.0625em) {
        #body .search__results-section--header .fancy-link {
          display: inline-block; } }
    #body .search__results-section--header h2 {
      font-size: 18px;
      font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
      text-transform: uppercase;
      font-weight: 300;
      margin: 0; }
      #body .search__results-section--header h2 .count {
        color: #9d9fa1; }

.search-result__project {
  margin-bottom: 35px; }
  .search-result__project--title {
    transition: all .3s ease-in-out;
    margin-top: 5px;
    font-size: 20px;
    line-height: 1.2; }
    @media only screen and (min-width: 64.0625em) {
      .search-result__project--title {
        font-size: 24px; } }
  .search-result__project--location {
    font-size: 17px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 1.2;
    color: #9d9fa1;
    margin-top: 4px; }
  .search-result__project .project:hover .search-result__project--title {
    color: #fa4616; }
  .search-result__project .project:hover .image img {
    opacity: .7; }
  .search-result__project .project .image {
    background-color: #231f20;
    transition: all .3s ease-in-out;
    position: relative;
    padding-bottom: calc(100% - 16px);
    overflow: hidden; }
    .search-result__project .project .image img {
      object-fit: cover;
      width: 100%;
      height: calc(50vw - 16px);
      min-height: 101%;
      width: auto;
      min-width: 101%;
      position: absolute;
      top: 50%;
      left: 50%;
      opacity: 1;
      transform: translate3d(-50%, -50%, 0);
      transition: opacity 0.2s ease;
      display: block; }
      @media only screen and (min-width: 64.0625em) {
        .search-result__project .project .image img {
          height: 23.75vw; } }

.search-result__people {
  margin-bottom: 35px; }
  .search-result__people a:hover picture img {
    opacity: .7; }
  .search-result__people a:hover .search-result__people--name {
    color: #fa4616; }
  .search-result__people picture {
    display: block;
    background: #231f20; }
    .search-result__people picture img {
      transition: all .3s ease-in-out;
      opacity: 1; }
  .search-result__people--name {
    transition: all .3s ease-in-out;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.2;
    margin-top: 10px; }
  .search-result__people--title {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #636466;
    margin-top: 4px; }
  .search-result__people .profile-img {
    width: 100%; }

#body .search-result__news {
  margin-bottom: 32px; }
  #body .search-result__news.columns {
    padding-left: .5rem;
    padding-right: .5rem; }
  #body .search-result__news .inner {
    padding: 0 0 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    height: 100%; }
    #body .search-result__news .inner:after {
      position: absolute;
      content: '';
      display: block;
      border-bottom: 3px solid #F1F1F2;
      bottom: 0;
      left: 0.5rem;
      right: 0.5rem; }
  #body .search-result__news--link {
    margin-top: auto; }
  #body .search-result__news--image + .search-result__news--meta {
    margin-top: 10px; }
  #body .search-result__news--meta {
    font-size: 1rem;
    line-height: 1.2; }
  #body .search-result__news--author-credit {
    color: #636466;
    font-size: .9375rem;
    line-height: 1.2;
    font-weight: 500;
    margin-top: 1rem; }
  #body .search-result__news--excerpt {
    margin-top: 1.25rem;
    margin-bottom: .75rem; }

#body .search-result__page + .search-result__page {
  margin-top: 2rem; }

#body .search-result__page a:hover .search-result__page--title {
  color: #fa4616; }

#body .search-result__page--title {
  transition: all .3s ease-in-out; }

#body .search-result__page--meta p {
  font-size: 1rem;
  line-height: 1.6; }

#body .search-result__page--excerpt {
  color: #231f20;
  margin-top: 10px;
  font-size: 1rem;
  color: #636466;
  line-height: 1.6; }
  #body .search-result__page--excerpt p {
    font-size: 1rem; }

body {
  position: inherit;
  overflow-x: hidden; }

iframe {
  max-width: 100%; }

/*
Welcome to Custom CSS!

To learn how this works, see http://wp.me/PEmnE-Bt
*/
body {
  font-family: "FF Meta", HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; }

.sb-item img {
  max-height: 700px; }

.featured-posts ul {
  margin-left: 0; }

.featured-posts li {
  list-style-type: none;
  margin-bottom: 10px; }

.page-awards .page-title {
  display: none; }

.project-info {
  padding: .5em 0; }

.project-info.people {
  padding-top: 2.5em; }

.project-person .image-caption {
  font-style: italic;
  font-size: .8rem; }

.page-services .col {
  padding: 1rem 1rem 0 0; }

.page-opportunities a {
  display: inline; }

.fixed {
  position: fixed !important; }

.top-site {
  display: none; }

.award-section {
  line-height: 1.25rem; }

.welcome-section .primary-headline p {
  color: #6b6b6b; }

.project-content blockquote h3 {
  font-size: 1.25rem; }

h3.memorium-header {
  text-transform: uppercase;
  font-size: 1.25rem; }

.button.discover-more {
  margin-bottom: 6.25rem;
  padding-top: .55em; }

.page-services .col {
  width: 100%; }

.page-services .content-section {
  width: 100% !important;
  padding: 0;
  margin-bottom: 20px; }

@media only screen and (min-width: 64.0625em) {
  .top-site {
    display: block; }
  .page-services .col {
    position: relative;
    padding-left: .9375rem;
    padding-right: .9375rem;
    float: left;
    width: 25%; } }

@media only screen and (max-width: 64em) {
  .page-services .col {
    text-align: left;
    margin-bottom: 1.25rem;
    padding-left: 1rem; } }

@media only screen and (max-width: 40em) {
  .news-title {
    top: 50%;
    left: 50%;
    line-height: 1em; }
  .featured-reading .featured-news-block-overlay {
    height: auto; }
  .featured-reading .featured-news-block {
    margin-bottom: 20px; } }

/**
 * fullPage 2.6.6
 * https://github.com/alvarotrigo/fullPage.js
 * MIT licensed
 *
 * Copyright (C) 2013 alvarotrigo.com - A project by Alvaro Trigo
 * Contribution by Jhony0311
 */
html.fp-enabled,
.fp-enabled body {
  margin: 0;
  padding: 0;
  overflow: hidden;
  /*Avoid flicker on slides transitions for mobile phones #336 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

#superContainer {
  height: 100%;
  position: relative;
  /* Touch detection for Windows 8 */
  -ms-touch-action: none;
  /* IE 11 on Windows Phone 8.1*/
  touch-action: none; }

.fp-section {
  position: relative;
  /* Safari<=5 Android<=3 */
  /* <=28 */
  box-sizing: border-box; }

.fp-slide {
  float: left; }

.fp-slide, .fp-slidesContainer {
  height: 100%;
  display: block; }

.fp-slides {
  z-index: 1;
  height: 100%;
  overflow: hidden;
  position: relative;
  /* Safari<=6 Android<=4.3 */
  transition: all 0.3s ease-out; }

.fp-section.fp-table, .fp-slide.fp-table {
  display: table;
  table-layout: fixed;
  width: 100%; }

.fp-tableCell {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 100%; }

.fp-slidesContainer {
  float: left;
  position: relative; }

.fp-controlArrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  cursor: pointer;
  width: 0;
  height: 0;
  border-style: solid;
  margin-top: -38px;
  transform: translate3d(0, 0, 0); }
  .fp-controlArrow.fp-prev {
    left: 15px;
    width: 0;
    border-width: 38.5px 34px 38.5px 0;
    border-color: transparent #fff transparent transparent; }
  .fp-controlArrow.fp-next {
    right: 15px;
    border-width: 38.5px 0 38.5px 34px;
    border-color: transparent transparent transparent #fff; }

.fp-scrollable {
  overflow: scroll; }

.fp-notransition {
  transition: none !important; }

.fp-slidesNav {
  position: absolute;
  z-index: 4;
  left: 50%;
  opacity: 1; }
  .fp-slidesNav.bottom {
    bottom: 17px; }
  .fp-slidesNav.top {
    top: 17px; }

#fp-nav ul,
.fp-slidesNav ul {
  margin: 0;
  padding: 0; }
  #fp-nav ul li,
  .fp-slidesNav ul li {
    display: block;
    width: 14px;
    height: 13px;
    margin: 7px;
    position: relative; }
    #fp-nav ul li a,
    .fp-slidesNav ul li a {
      display: block;
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      cursor: pointer;
      text-decoration: none; }
      #fp-nav ul li a.active span,
      .fp-slidesNav ul li a.active span {
        height: 12px;
        width: 12px;
        margin: -6px 0 0 -6px;
        border-radius: 100%; }
        #fp-nav ul li:hover #fp-nav ul li a.active span,
        #fp-slidesNav ul li:hover #fp-nav ul li a.active span, #fp-nav ul li:hover
        .fp-slidesNav ul li a.active span,
        #fp-slidesNav ul li:hover
        .fp-slidesNav ul li a.active span {
          height: 12px;
          width: 12px;
          margin: -6px 0 0 -6px;
          border-radius: 100%; }
      #fp-nav ul li a span,
      .fp-slidesNav ul li a span {
        border-radius: 50%;
        position: absolute;
        z-index: 1;
        height: 4px;
        width: 4px;
        border: 0;
        background: #333;
        left: 50%;
        top: 50%;
        margin: -2px 0 0 -2px;
        transition: all 0.1s ease-in-out; }
    #fp-nav ul li:hover a span,
    .fp-slidesNav ul li:hover a span {
      width: 10px;
      height: 10px;
      margin: -5px 0px 0px -5px; }

#fp-nav {
  position: fixed;
  z-index: 100;
  margin-top: -32px;
  top: 50%;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0); }
  #fp-nav.right {
    right: 17px; }
  #fp-nav.left {
    left: 17px; }
  #fp-nav ul li .fp-tooltip {
    position: absolute;
    top: -2px;
    color: #fff;
    font-size: 14px;
    font-family: arial, helvetica, sans-serif;
    white-space: nowrap;
    max-width: 220px;
    overflow: hidden;
    display: block;
    opacity: 0;
    width: 0; }
    #fp-nav ul li .fp-tooltip.right {
      right: 20px; }
  #fp-nav ul li:hover .fp-tooltip {
    transition: opacity 0.2s ease-in;
    width: auto;
    opacity: 1; }
  #fp-nav.fp-show-active a.active + .fp-tooltip {
    transition: opacity 0.2s ease-in;
    width: auto;
    opacity: 1; }

.fp-slidesNav ul li {
  display: inline-block; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9ub3JtYWxpemUuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZ2xvYmFsLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYmxvY2stZ3JpZC5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fY2xlYXJpbmcuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24tYnV0dG9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2ljb24tYmFyLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2lubGluZS1saXN0cy5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19qb3lyaWRlLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2tleXN0cm9rZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX21hZ2VsbGFuLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3ByaWNpbmctdGFibGVzLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhcnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zaWRlLW5hdi5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zcGxpdC1idXR0b25zLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3N1Yi1uYXYuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3dpdGNoZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGh1bWJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Rvb2x0aXBzLnNjc3MiLCIuLi9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdHlwZS5zY3NzIiwiLi4vY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vaWNvbW9vbi9zdHlsZS5zY3NzIiwiYmFzZS9fdmFyaWFibGVzLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL19vdmVycmlkZS5zY3NzIiwiYmFzZS9faGVhZGVyLnNjc3MiLCJiYXNlL19ncmlkLnNjc3MiLCJiYXNlL19idXR0b25zLnNjc3MiLCJiYXNlL193cC5zY3NzIiwiY29tcG9uZW50cy9fcm95YWwtc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19zbW9vdGhib3guc2NzcyIsImNvbXBvbmVudHMvX3NsaWNrLnNjc3MiLCJjb21wb25lbnRzL19zbGljay10aGVtZS5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fY29vbC10aW1lbGluZS5zY3NzIiwic2VjdGlvbnMvX2hlYWRlci5zY3NzIiwic2VjdGlvbnMvX2Zvb3Rlci5zY3NzIiwic2VjdGlvbnMvX2NvbW1lbnRzLnNjc3MiLCJzZWN0aW9ucy9fc2lkZWJhci5zY3NzIiwiYmxvY2tzL19nbG9iYWxzLnNjc3MiLCJibG9ja3MvX2hlcm8uc2NzcyIsImJsb2Nrcy9fbGFuZGluZy1wYWdlLWNvbHVtbi1idWlsZGVyLnNjc3MiLCJibG9ja3MvX2xhbmRpbmctcGFnZS1jdGEuc2NzcyIsImJsb2Nrcy9fbGFuZGluZy1wYWdlLWZlYXR1cmVkLWFzc2V0LnNjc3MiLCJibG9ja3MvX2xhbmRpbmctcGFnZS1oZXJvLnNjc3MiLCJibG9ja3MvX2xhbmRpbmctcGFnZS10d28tY29sdW1uLWltYWdlLnNjc3MiLCJibG9ja3MvX3Byb2plY3QtZ3JpZC5zY3NzIiwiYmxvY2tzL19jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zLnNjc3MiLCJibG9ja3MvX21hcmtldC1pY29uLWdyaWQuc2NzcyIsImJsb2Nrcy9fYmlnLWltYWdlLWN0YS5zY3NzIiwiYmxvY2tzL190d28tY29sdW1uLWN0YS5zY3NzIiwiYmxvY2tzL190d28tY29sdW1uLWltYWdlLWljb24uc2NzcyIsImJsb2Nrcy9fbWFya2V0LXNlY3Rvci1jb250YWN0LnNjc3MiLCJibG9ja3MvX21hcmtldC1zdG9yeS1ibG9jay5zY3NzIiwicGFnZXMvX2Zyb250LXBhZ2Uuc2NzcyIsInBhZ2VzL19wYWdlLnNjc3MiLCJwYWdlcy9fb3VyLXdvcmsuc2NzcyIsInBhZ2VzL19vdXItZmlybS5zY3NzIiwicGFnZXMvX291ci10ZWFtLnNjc3MiLCJwYWdlcy9fbGFuZGluZy1wYWdlLXRlbXBsYXRlLnNjc3MiLCJwYWdlcy9fcG9ydGZvbGlvLnNjc3MiLCJwYWdlcy9fcHJvamVjdC5zY3NzIiwicGFnZXMvX2Jsb2cuc2NzcyIsInBhZ2VzL19jb250YWN0LnNjc3MiLCJwYWdlcy9fc2VydmljZXMuc2NzcyIsInBhZ2VzL19zZWFyY2guc2NzcyIsIl9zaGFtZS5zY3NzIiwiX2Z1bGxQYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCLDRFQUE0RTtBQUU1RTs7OztHQUlHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEO2dGQUNnRjtBQUVoRjs7Ozs7R0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBYyxFQUNmOztBQUVEOzs7R0FHRztBQUVIOzs7O0VBSUUsc0JBQXFCO0VBQUUsT0FBTztFQUM5Qix5QkFBd0I7RUFBRSxPQUFPLEVBQ2xDOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsY0FBYTtFQUNiLFVBQVMsRUFDVjs7QUFFRDs7O0dBR0c7QURMSDs7RUNTRSxjQUFhLEVBQ2Q7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSw4QkFBNkIsRUFDOUI7O0FBRUQ7OztHQUdHO0FBRUg7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O0lvQnZDekQsaUJwQnVDeUQ7SW9CckN6RCxvQkF4QzJEO0lBeUNoQyxldEJzTFAsRXNCN0lqQjtJQXJDSDtNQUFpQixjQUFhLEVBQUk7SUF5QmxDO01BeEJnQixpQkFBZ0IsRUFBSTtJQUtoQztNQUFvQyxldEI0S3BCLEVzQjVLZ0Q7SUFPbEU7TUFDRSxlQUFjO01BQUUsd0JBQStCLEVBRWhEO01BU0g7UUFWa0IsaUJBQWdCLEVBQUk7SUFVdEM7TUFLTSxldEJ5SmEsRXNCbkpkO01BWEw7UUFTUSxlQWhFNkUsRUFpRTlFO0VBSUw7SXRCakVGLG1CQXdQZSxFc0JyTFo7O0FDb0NILG9CQUFvQjtBQUNwQjtFQTNFRiwwQnZCc0tzQjtFdUJyS3RCLGVBQWtDO0VBQ2xDLHVCckIyQjJELEVxQnNEeEQ7RUEvRUg7SUFDRSxpQkFBZ0I7SUFDaEIsZUFBYyxFQUNmO0VBdUVHO0lBakVKLDBCdkJrS3NCO0l1QmpLdEIsZXZCdUpzQjtJdUJ0SnRCLG9FdkI2SzZFO0l1QjVLN0UsZ0JyQmEyRDtJcUJaM0Qsb0J2QmdMeUI7SXVCL0t6QiwyQnJCVzJEO0lxQlYzRCxtQkE5RHdCLEVBeUhxQjtFQUgzQztJQWpERiwwQnZCd0lzQjtJdUJ2SXRCLGV2Qm9Kc0I7SXVCbkp0QixvRXZCZ0s2RTtJdUIvSjdFLGdCckJBMkQ7SXFCQzNELG9CdkJtS3lCO0l1QmxLekIsMkJyQkYyRDtJcUJHM0QsbUJBbEV3QixFQWlIcUI7RUFKM0M7SUFwQ0YsMEJ2QndIc0I7SXVCdkh0QixrQ3ZCOEhzQjtJdUI3SHRCLGV2QmtJc0I7SXVCakl0QixtQnJCYjJEO0lxQmMzRCxvQnZCc0p5QjtJdUJySnpCLGlCQWhFMEI7SUFpRTFCLG1CckJoQjJEO0lxQmlCM0QsbUJBckV1QixFQXVHa0M7RUFMdkQ7SUF0QkYsMEJ2QjBHc0I7SXVCekd0QixrQ3ZCZ0hzQjtJdUIvR3RCLGV2QndIc0I7SXVCdkh0QixvQnJCM0IyRDtJcUI0QjNELG9CdkJ3SXlCO0l1QnZJekIsbUJyQjdCMkQ7SXFCOEIzRCxtQkF6RXVCLEVBK0Y2QjtFQU5sRDtJQVRGLDBC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QWRzRyxFQWN2RTtNNEJxSnpDO1E1QjlJRSxlUHlFa0IsRU94RW5CO0k0QjZJRDtNNUJ4SkEsMEJQMkZtQjtNTzFGbkIsc0JBUndIO01BYXhILGVQNkRvQixFbUNrSWtEO01BN0N0RTtRNUJySlUsMEJBZHNHLEVBY3ZFO000QnFKekM7UTVCOUlFLGVQeURrQixFT3hEbkI7STRCNklEO001QnhKQSwwQlAwRmlCO01PekZqQixzQkFSd0g7TUFheEgsZVA2RG9CLEVtQ21JOEM7TTVCcE1sRTtRQUNVLDBCQWRzRyxFQWN2RTtNNEJxSnpDO1E1QjlJRSxlUHlEa0IsRU94RG5CO0k0QjRMSztNNUJ2TU4sMEJQNEZtQjtNTzNGbkIsc0JBUndIO01BYXhILGVQNkRvQixFbUNvSWtEO01BL0N0RTtRNUJySlUsMEJBZHNHLEVBY3ZFO000QnFKekM7UTVCOUlFLGVQeURrQixFT3hEbkI7STRCNklEO001QnhKQSwwQlA2RmdCO01PNUZoQixzQkFSd0g7TUFheEgsZVA2RW9CLEVtQ3FINEM7TTVCdE1oRTtRQUNVLDBCQWRzRyxFQWN2RTtNNEJxSnpDO1E1QjlJRSxlUHlEa0IsRU94RG5CO0U0QmdNRztJQUNFLHFCakMzUW1EO0lpQzRRbkQsd0JBL1RnQztJQWdVaEMseUJBaFVnQztJNUJrSHRDLDBCUHdGbUI7SU92Rm5CLHNCQXJIZ0Y7SUEwSGhGLGVQNkRvQixFbUNtSmY7SUE5REw7TTVCckpVLDBCQXZIc0UsRUF1SHZDO0lBS3pDO01BRUUsZVB5RGtCLEVPeERuQjtJNEJzTUs7TTVCak5OLDBCUHlGcUI7TU94RnJCLHNCQVJ3SDtNQWF4SCxlUDZFb0IsRW1DOEgrQztNQXpEbkU7UTVCckpVLDBCQWRzRyxFQWN2RTtNNEJxSnpDO1E1QjlJRSxlUHlFa0IsRU94RW5CO0k0QjZJRDtNNUJ4SkEsMEJQMkZtQjtNTzFGbkIsc0JBUndIO01BYXhILGVQNkRvQixFbUMrSTJDO01BMUQvRDtRNUJySlUsMEJBZHNHLEVBY3ZFO01BS3pDO1FBRUUsZVB5RGtCLEVPeERuQjtJNEI2SUQ7TTVCeEpBLDBCUDBGaUI7TU96RmpCLHNC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LHNCQUFxQjtVQUNyQixvQkFBbUIsRUFDdEI7TUFqQ2pCOztRQXFDZ0IsbUJBQWtCO1FBQ2xCLG1CQUFrQjtRQUNsQixXQUFVO1FBQ1YsWUFBVztRQUNYLFdBQVU7UUFDVixVQUFTO1FBQ1QsaUJBQWdCO1FBQ2hCLFVBQVM7UUFDVCxTQUFRO1FBQ1Isc0JBQXFCO1FBSXJCLGlDQUFnQyxFQUNuQztJQW5EYjs7TUEwRG9CLFlBQVc7TUFDWCxhQUFZO01BQ1osMEJBQXlCLEVBQzVCOztBQU1qQjtFQUNJLGdCQUFlO0VBQ2YsYUFBWTtFQUNaLGtCQUFpQjtFQUNqQixTQUFRO0VBQ1IsV0FBVTtFQUNWLHdDQUFxQyxFQThDeEM7RUE3Q0c7SUFDRyxZQUFXLEVBQ2I7RUFDRDtJQUNJLFdBQ0osRUFBQztFQUdPO0lBQ0ksbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxZQUFXO0lBQ1gsZ0JBQWU7SUFDZiwwQ0FBeUM7SUFDekMsb0JBQW1CO0lBQ25CLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsZUFBYztJQUNkLFdBQVU7SUFDVixTQUFRLEVBU1g7SUFuQ2I7TUE2Qm9CLFlBQVcsRUFDZDtFQU9EO0lBRUksaUNBQWdDO0lBQ2hDLFlBQVc7SUFDWCxXQUFVLEVBQ2I7RUExQ2pCO0lBZ0RRLGlDQUFnQztJQUNoQyxZQUFXO0lBQ1gsV0FBVSxFQUNiOztBQUVMO0VBQ0ksc0JBQXFCLEVBQ3hCIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxubWV0YS5mb3VuZGF0aW9uLXZlcnNpb24ge1xuICBmb250LWZhbWlseTogXCIvNS41LjIvXCI7IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuL1wiO1xuICB3aWR0aDogMDsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkvXCI7XG4gIHdpZHRoOiAwOyB9XG5cbm1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NDAuMDYyNWVtKS9cIjtcbiAgd2lkdGg6IDQwLjA2MjVlbTsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NDAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDo2NGVtKS9cIjtcbiAgd2lkdGg6IDQwLjA2MjVlbTsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Uge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjQuMDYyNWVtKS9cIjtcbiAgd2lkdGg6IDY0LjA2MjVlbTsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOjkwZW0pL1wiO1xuICB3aWR0aDogNjQuMDYyNWVtOyB9XG5cbm1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Uge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTAuMDYyNWVtKS9cIjtcbiAgd2lkdGg6IDkwLjA2MjVlbTsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDoxMjBlbSkvXCI7XG4gIHdpZHRoOiA5MC4wNjI1ZW07IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXh4bGFyZ2Uge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwLjA2MjVlbSkvXCI7XG4gIHdpZHRoOiAxMjAuMDYyNWVtOyB9XG5cbm1ldGEuZm91bmRhdGlvbi1kYXRhLWF0dHJpYnV0ZS1uYW1lc3BhY2Uge1xuICBmb250LWZhbWlseTogZmFsc2U7IH1cblxuaHRtbCwgYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuaHRtbCxcbmJvZHkge1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMjIyO1xuICBjdXJzb3I6IGF1dG87XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5hOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmltZyB7XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uYW50aWFsaWFzZWQge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnJvdyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICAucm93OmJlZm9yZSwgLnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnJvdzphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW46IDAgLTAuOTM3NXJlbTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAucm93IC5yb3c6YmVmb3JlLCAucm93IC5yb3c6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5yb3cgLnJvdzphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnJvdyAucm93LmNvbGxhcHNlOmJlZm9yZSwgLnJvdyAucm93LmNvbGxhcHNlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAucm93IC5yb3cuY29sbGFwc2U6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuXG4uY29sdW1uLFxuLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbiArIC5jb2x1bW46bGFzdC1jaGlsZCxcbi5jb2x1bW5zICsgLmNvbHVtbjpsYXN0LWNoaWxkLCAuY29sdW1uICtcbi5jb2x1bW5zOmxhc3QtY2hpbGQsXG4uY29sdW1ucyArXG4uY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jb2x1bW4gKyAuY29sdW1uLmVuZCxcbi5jb2x1bW5zICsgLmNvbHVtbi5lbmQsIC5jb2x1bW4gK1xuLmNvbHVtbnMuZW5kLFxuLmNvbHVtbnMgK1xuLmNvbHVtbnMuZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNtYWxsLXB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuY29sdW1uLnNtYWxsLWNlbnRlcmVkLFxuICAuY29sdW1ucy5zbWFsbC1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4uc21hbGwtdW5jZW50ZXJlZCxcbiAgLmNvbHVtbnMuc21hbGwtdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2x1bW4uc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy5zbWFsbC11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5tZWRpdW0tcHVzaC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4LjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogODMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcmVzZXQtb3JkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5jb2x1bW4ubWVkaXVtLWNlbnRlcmVkLFxuICAuY29sdW1ucy5tZWRpdW0tY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy5tZWRpdW0tdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2x1bW4ubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2x1bW4ubWVkaXVtLXVuY2VudGVyZWQub3Bwb3NpdGUsXG4gIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJvdy5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93Lm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAucm93Lm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMzMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMzMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbHVtbi5sYXJnZS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29sdW1uLmxhcmdlLXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLmxhcmdlLXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY29sdW1uLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4ubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2x1bW4ubGFyZ2UtdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMubGFyZ2UtdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5yb3cubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93LmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yb3cubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5yb3cubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmFjY29yZGlvbjpiZWZvcmUsIC5hY2NvcmRpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5hY2NvcmRpb246YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1uYXZpZ2F0aW9uLCAuYWNjb3JkaW9uIGRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbi5hY3RpdmUgPiBhLCAuYWNjb3JkaW9uIGRkLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogI2U4ZThlODsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1uYXZpZ2F0aW9uID4gYSwgLmFjY29yZGlvbiBkZCA+IGEge1xuICAgICAgYmFja2dyb3VuZDogI0VGRUZFRjtcbiAgICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbiA+IGE6aG92ZXIsIC5hY2NvcmRpb24gZGQgPiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2UzZTNlMzsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1uYXZpZ2F0aW9uID4gLmNvbnRlbnQsIC5hY2NvcmRpb24gZGQgPiAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbiA+IC5jb250ZW50LmFjdGl2ZSwgLmFjY29yZGlvbiBkZCA+IC5jb250ZW50LmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hbGVydC1ib3gge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjg3NXJlbSAxLjVyZW0gMC44NzVyZW0gMC44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLW91dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOENCQTtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3OGEwO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYWxlcnQtYm94IC5jbG9zZSB7XG4gICAgcmlnaHQ6IDAuMjVyZW07XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICBtYXJnaW4tdG9wOiAtMC42ODc1cmVtO1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBwYWRkaW5nOiAwIDZweCA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlOyB9XG4gICAgLmFsZXJ0LWJveCAuY2xvc2U6aG92ZXIsIC5hbGVydC1ib3ggLmNsb3NlOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAuYWxlcnQtYm94LnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5hbGVydC1ib3gucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAuYWxlcnQtYm94LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2E5NDViO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5hbGVydC1ib3guYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDQxMjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGUyZDBmO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5hbGVydC1ib3guc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgIGJvcmRlci1jb2xvcjogI2M3YzdjNztcbiAgICBjb2xvcjogIzRmNGY0ZjsgfVxuICAuYWxlcnQtYm94Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGU3NzBmO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5hbGVydC1ib3guaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgICBib3JkZXItY29sb3I6ICM3NGJmZGQ7XG4gICAgY29sb3I6ICM0ZjRmNGY7IH1cbiAgLmFsZXJ0LWJveC5hbGVydC1jbG9zZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG5bY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIC0wLjYyNXJlbTsgfVxuICBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl06YmVmb3JlLCBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIFtjbGFzcyo9XCJibG9jay1ncmlkLVwiXTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDEuMjVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNtYWxsLWJsb2NrLWdyaWQtMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0yID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC01ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtNiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTcgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC04ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC05ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDExLjExMTExJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMTAgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDEwbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0xMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA5LjA5MDkxJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtMTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0xMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMTJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1ibG9jay1ncmlkLTEgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTMgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC00ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC00ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtNSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTYgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC03ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC03ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtOCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC04ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtOSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMS4xMTExMSU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTEwID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDEwbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMTEgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOS4wOTA5MSU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTEyID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMTJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLWJsb2NrLWdyaWQtMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0yID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTQgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC01ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTcgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC04ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC05ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDExLjExMTExJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMTAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMTAgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDEwbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA5LjA5MDkxJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTExID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtMTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMTJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMC41NjI1cmVtIDAuODc1cmVtIDAuNTYyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgYm9yZGVyLWNvbG9yOiBnYWluc2Jvcm87XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAuYnJlYWRjcnVtYnMgPiAqIHtcbiAgICBjb2xvcjogIzAwOENCQTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC42ODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzID4gKjpob3ZlciBhLCAuYnJlYWRjcnVtYnMgPiAqOmZvY3VzIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiAqIGEge1xuICAgICAgY29sb3I6ICMwMDhDQkE7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQge1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5icmVhZGNydW1icyA+ICouY3VycmVudCBhIHtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmhvdmVyLCAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQ6aG92ZXIgYSwgLmJyZWFkY3J1bWJzID4gKi5jdXJyZW50OmZvY3VzLCAuYnJlYWRjcnVtYnMgPiAqLmN1cnJlbnQ6Zm9jdXMgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGUge1xuICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAgIC5icmVhZGNydW1icyA+ICoudW5hdmFpbGFibGUgYSB7XG4gICAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgICAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlOmhvdmVyLFxuICAgICAgLmJyZWFkY3J1bWJzID4gKi51bmF2YWlsYWJsZTpob3ZlciBhLCAuYnJlYWRjcnVtYnMgPiAqLnVuYXZhaWxhYmxlOmZvY3VzLFxuICAgICAgLmJyZWFkY3J1bWJzID4gKi51bmF2YWlsYWJsZSBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5icmVhZGNydW1icyA+ICo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjQUFBQUFBO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMXB4OyB9XG4gICAgLmJyZWFkY3J1bWJzID4gKjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLyogQWNjZXNzaWJpbGl0eSAtIGhpZGVzIHRoZSBmb3J3YXJkIHNsYXNoICovXG5bYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJzXCJdIFthcmlhLWhpZGRlbj1cInRydWVcIl06YWZ0ZXIge1xuICBjb250ZW50OiBcIi9cIjsgfVxuXG5idXR0b24sIC5idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxcmVtIDJyZW0gMS4wNjI1cmVtIDJyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOENCQTtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3MDk1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dDsgfVxuICBidXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzA5NTsgfVxuICBidXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjliOWI5O1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWI5Yjk7IH1cbiAgICBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTtcbiAgICBib3JkZXItY29sb3I6ICMzNjhhNTU7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBidXR0b24uc3VjY2Vzczpob3ZlciwgYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNjhhNTU7IH1cbiAgICBidXR0b24uc3VjY2Vzczpob3ZlciwgYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwNDEyNDtcbiAgICBib3JkZXItY29sb3I6ICNjZjJhMGU7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBidXR0b24uYWxlcnQ6aG92ZXIsIGJ1dHRvbi5hbGVydDpmb2N1cywgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2YyYTBlOyB9XG4gICAgYnV0dG9uLmFsZXJ0OmhvdmVyLCBidXR0b24uYWxlcnQ6Zm9jdXMsIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgYnV0dG9uLndhcm5pbmcsIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgICBib3JkZXItY29sb3I6ICNjZjZlMGU7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBidXR0b24ud2FybmluZzpob3ZlciwgYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7IH1cbiAgICBidXR0b24ud2FybmluZzpob3ZlciwgYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJ1dHRvbi5pbmZvLCAuYnV0dG9uLmluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjFiNmQ5O1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgYnV0dG9uLmluZm86aG92ZXIsIGJ1dHRvbi5pbmZvOmZvY3VzLCAuYnV0dG9uLmluZm86aG92ZXIsIC5idXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjFiNmQ5OyB9XG4gICAgYnV0dG9uLmluZm86aG92ZXIsIGJ1dHRvbi5pbmZvOmZvY3VzLCAuYnV0dG9uLmluZm86aG92ZXIsIC5idXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b24ubGFyZ2UsIC5idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEuMTI1cmVtIDIuMjVyZW0gMS4xODc1cmVtIDIuMjVyZW07XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGJ1dHRvbi5zbWFsbCwgLmJ1dHRvbi5zbWFsbCB7XG4gICAgcGFkZGluZzogMC44NzVyZW0gMS43NXJlbSAwLjkzNzVyZW0gMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICBidXR0b24udGlueSwgLmJ1dHRvbi50aW55IHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtIDAuNjg3NXJlbSAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG4gIGJ1dHRvbi5leHBhbmQsIC5idXR0b24uZXhwYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBidXR0b24ubGVmdC1hbGlnbiwgLmJ1dHRvbi5sZWZ0LWFsaWduIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtaW5kZW50OiAwLjc1cmVtOyB9XG4gIGJ1dHRvbi5yaWdodC1hbGlnbiwgLmJ1dHRvbi5yaWdodC1hbGlnbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTsgfVxuICBidXR0b24ucmFkaXVzLCAuYnV0dG9uLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIGJ1dHRvbi5yb3VuZCwgLmJ1dHRvbi5yb3VuZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyB9XG4gIGJ1dHRvbi5kaXNhYmxlZCwgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDhDQkE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA3MDk1O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzA5NTsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDhDQkE7IH1cbiAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjliOWI5O1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliOWI5OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNzsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNBQzZBO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzY4YTU1O1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNjhhNTU7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwNDEyNDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NmMmEwZTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjJhMGU7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDQxMjQ7IH1cbiAgICBidXR0b24uZGlzYWJsZWQud2FybmluZywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NmNmUwZTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y2ZTBlOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7IH1cbiAgICBidXR0b24uZGlzYWJsZWQuaW5mbywgYnV0dG9uW2Rpc2FibGVkXS5pbmZvLCAuYnV0dG9uLmRpc2FibGVkLmluZm8sIC5idXR0b25bZGlzYWJsZWRdLmluZm8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgICAgIGJvcmRlci1jb2xvcjogIzYxYjZkOTtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjFiNmQ5OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgbGVmdDogMDsgfVxuICAuYnV0dG9uLWdyb3VwOmJlZm9yZSwgLmJ1dHRvbi1ncm91cDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmJ1dHRvbi1ncm91cDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cC5ldmVuLTIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTJweDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTIgbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi0yIGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTIgbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTIgbGkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tMiBsaSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXR0b24tZ3JvdXAuZXZlbi0zIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi0zIGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tMyBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi0zIGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi0zIGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTMgbGkgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLWdyb3VwLmV2ZW4tNCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNCBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTQgbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNCBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNCBsaSBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi00IGxpIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ldmVuLTUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTJweDtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTUgbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi01IGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTUgbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ldmVuLTUgbGkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNSBsaSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXR0b24tZ3JvdXAuZXZlbi02IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi02IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV2ZW4tNiBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi02IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXZlbi02IGxpIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTYgbGkgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLWdyb3VwLmV2ZW4tNyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNyBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTcgbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNyBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tNyBsaSBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi03IGxpIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ldmVuLTggbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLTJweDtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tOCBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ldmVuLTggbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tOCBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV2ZW4tOCBsaSBidXR0b24sIC5idXR0b24tZ3JvdXAuZXZlbi04IGxpIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi1ncm91cCA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwID4gbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAgPiBsaSAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAgPiBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAgPiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrID4gbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2sgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpID4gYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjayA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaSAuYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGk6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgPiBidXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2stZm9yLXNtYWxsID4gbGkgLmJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpID4gYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrLWZvci1zbWFsbCA+IGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFjay1mb3Itc21hbGwgPiBsaTpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwOyB9IH1cbiAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0ycHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiA+IGEsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKiA+IC5idXR0b24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCxcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzID4gKjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6bGFzdC1jaGlsZCxcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cyA+ICo6bGFzdC1jaGlsZCA+IGEsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmxhc3QtY2hpbGQgPiBidXR0b24sXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqID4gYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKixcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKiA+IGJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICogPiAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gYSxcbiAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgLXdlYmtpdC10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmxhc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2sgPiAqOmxhc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgLXdlYmtpdC1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgLTJweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKixcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCxcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICoge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICogLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucmFkaXVzLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiA+IC5idXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgICAtd2Via2l0LXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7IH0gfVxuICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQgPiAqIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICosXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICogPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqID4gLmJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZCA+ICo6bGFzdC1jaGlsZCxcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpsYXN0LWNoaWxkID4gYSxcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogLmJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogLmJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKiA+IGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICosXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICogPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqID4gLmJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LXRvcC1sZWZ0LXJhZGl1czogMXJlbTtcbiAgICAgIC13ZWJraXQtdG9wLXJpZ2h0LXJhZGl1czogMXJlbTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFyZW07XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2sgPiAqOmxhc3QtY2hpbGQsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6bGFzdC1jaGlsZCA+IGEsXG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjayA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWJvdHRvbS1sZWZ0LXJhZGl1czogMXJlbTtcbiAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogMXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDFyZW07XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgLTJweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICosXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IGEsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICogPiBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIC5idXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCBidXR0b24sIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpmaXJzdC1jaGlsZCAuYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IGJ1dHRvbixcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiA+IC5idXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQsXG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtdG9wLWxlZnQtcmFkaXVzOiAxcmVtO1xuICAgICAgICAtd2Via2l0LXRvcC1yaWdodC1yYWRpdXM6IDFyZW07XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFyZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxcmVtOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICo6bGFzdC1jaGlsZCxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYSxcbiAgICAgIC5idXR0b24tZ3JvdXAucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICAgLmJ1dHRvbi1ncm91cC5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1ib3R0b20tbGVmdC1yYWRpdXM6IDFyZW07XG4gICAgICAgIC13ZWJraXQtYm90dG9tLXJpZ2h0LXJhZGl1czogMXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDFyZW07IH0gfVxuXG4uYnV0dG9uLWJhcjpiZWZvcmUsIC5idXR0b24tYmFyOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5idXR0b24tYmFyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmJ1dHRvbi1iYXIgLmJ1dHRvbi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5idXR0b24tYmFyIC5idXR0b24tZ3JvdXAgZGl2IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIENsZWFyaW5nIFN0eWxlcyAqL1xuLmNsZWFyaW5nLXRodW1icywgW2RhdGEtY2xlYXJpbmddIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNsZWFyaW5nLXRodW1iczpiZWZvcmUsIC5jbGVhcmluZy10aHVtYnM6YWZ0ZXIsIFtkYXRhLWNsZWFyaW5nXTpiZWZvcmUsIFtkYXRhLWNsZWFyaW5nXTphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNsZWFyaW5nLXRodW1iczphZnRlciwgW2RhdGEtY2xlYXJpbmddOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY2xlYXJpbmctdGh1bWJzIGxpLCBbZGF0YS1jbGVhcmluZ10gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuY2xlYXJpbmctdGh1bWJzW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIGxpLCBbZGF0YS1jbGVhcmluZ11bY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY2xlYXJpbmctYmxhY2tvdXQge1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk4O1xuICBsZWZ0OiAwOyB9XG4gIC5jbGVhcmluZy1ibGFja291dCAuY2xlYXJpbmctY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jbGVhcmluZy1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTg7IH1cblxuLmNsZWFyaW5nLXRvdWNoLWxhYmVsIHtcbiAgY29sb3I6ICNBQUFBQUE7XG4gIGZvbnQtc2l6ZTogLjZlbTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlOyB9XG5cbi52aXNpYmxlLWltZyB7XG4gIGhlaWdodDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZpc2libGUtaW1nIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jbGVhcmluZy1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI0NDQ0NDQztcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxMHB4IDMwcHggMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwOyB9XG5cbi5jbGVhcmluZy1jbG9zZSB7XG4gIGNvbG9yOiAjQ0NDQ0NDO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLmNsZWFyaW5nLWNsb3NlOmhvdmVyLCAuY2xlYXJpbmctY2xvc2U6Zm9jdXMge1xuICAgIGNvbG9yOiAjQ0NDQ0NDOyB9XG5cbi5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNsZWFyaW5nLWZlYXR1cmUgbGkge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jbGVhcmluZy1mZWF0dXJlIGxpLmNsZWFyaW5nLWZlYXR1cmVkLWltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmNsZWFyaW5nLW1haW4tcHJldixcbiAgLmNsZWFyaW5nLW1haW4tbmV4dCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDQwcHg7IH1cbiAgICAuY2xlYXJpbmctbWFpbi1wcmV2ID4gc3BhbixcbiAgICAuY2xlYXJpbmctbWFpbi1uZXh0ID4gc3BhbiB7XG4gICAgICBib3JkZXI6IHNvbGlkIDEycHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYgPiBzcGFuOmhvdmVyLFxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dCA+IHNwYW46aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAuODsgfVxuICAuY2xlYXJpbmctbWFpbi1wcmV2IHtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLmNsZWFyaW5nLW1haW4tcHJldiA+IHNwYW4ge1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0NDQ0NDQzsgfVxuICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICByaWdodDogMDsgfVxuICAgIC5jbGVhcmluZy1tYWluLW5leHQgPiBzcGFuIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI0NDQ0NDQzsgfVxuICAuY2xlYXJpbmctbWFpbi1wcmV2LmRpc2FibGVkLFxuICAuY2xlYXJpbmctbWFpbi1uZXh0LmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAuMzsgfVxuICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB6LWluZGV4OiA5OTk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMjBweDsgfVxuICAgICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLmNhcm91c2VsID4gdWwgbGkuZml4LWhlaWdodCBpbWcge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpIGEudGgge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciAuY2Fyb3VzZWwgPiB1bCBsaSBpbWcge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpLnZpc2libGUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIC5jYXJvdXNlbCA+IHVsIGxpOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAuODsgfVxuICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIgLnZpc2libGUtaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgIGhlaWdodDogODUlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNsZWFyaW5nLWNsb3NlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMjBweDsgfSB9XG5cbi8qIEZvdW5kYXRpb24gRHJvcGRvd25zICovXG4uZi1kcm9wZG93biB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDg5O1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIG1heC13aWR0aDogMjAwcHg7IH1cbiAgLmYtZHJvcGRvd24ub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmYtZHJvcGRvd24gPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mLWRyb3Bkb3duID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mLWRyb3Bkb3duOmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRkZGRkZGIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgei1pbmRleDogODk7IH1cbiAgLmYtZHJvcGRvd246YWZ0ZXIge1xuICAgIGJvcmRlcjogaW5zZXQgN3B4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2NjY2NjYyB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTRweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgei1pbmRleDogODg7IH1cbiAgLmYtZHJvcGRvd24ucmlnaHQ6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMHB4OyB9XG4gIC5mLWRyb3Bkb3duLnJpZ2h0OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiA5cHg7IH1cbiAgLmYtZHJvcGRvd24uZHJvcC1yaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1yaWdodC5vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1yaWdodCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogLTEycHg7XG4gICAgICB6LWluZGV4OiA4OTsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiBpbnNldCA3cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2NjY2NjYyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDlweDtcbiAgICAgIGxlZnQ6IC0xNHB4O1xuICAgICAgei1pbmRleDogODg7IH1cbiAgLmYtZHJvcGRvd24uZHJvcC1sZWZ0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1sZWZ0Lm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLWxlZnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLWxlZnQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0ZGRkZGRjtcbiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdDphZnRlciB7XG4gICAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjY2NjY2NjO1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5cHg7XG4gICAgICByaWdodDogLTE0cHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgei1pbmRleDogODg7IH1cbiAgLmYtZHJvcGRvd24uZHJvcC10b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXRvcC5vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC10b3AgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXRvcCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC10b3A6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvdHRvbTogLTEycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtdG9wOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgN3B4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2NjY2MgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvdHRvbTogLTE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiA5cHg7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4OyB9XG4gIC5mLWRyb3Bkb3duIGxpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmYtZHJvcGRvd24gbGk6aG92ZXIsIC5mLWRyb3Bkb3duIGxpOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNFRUVFRUU7IH1cbiAgICAuZi1kcm9wZG93biBsaS5yYWRpdXMge1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gICAgLmYtZHJvcGRvd24gbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gIC5mLWRyb3Bkb3duLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAuZi1kcm9wZG93bi5jb250ZW50Lm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZi1kcm9wZG93bi5jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mLWRyb3Bkb3duLnRpbnkge1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgLmYtZHJvcGRvd24uc21hbGwge1xuICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgLmYtZHJvcGRvd24ubWVkaXVtIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gIC5mLWRyb3Bkb3duLmxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gIC5mLWRyb3Bkb3duLm1lZ2Ege1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAuZi1kcm9wZG93bi5tZWdhLm9wZW4ge1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5kcm9wZG93bi5idXR0b24sIGJ1dHRvbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMy41NjI1cmVtOyB9XG4gIC5kcm9wZG93bi5idXR0b246OmFmdGVyLCBidXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDA7IH1cbiAgLmRyb3Bkb3duLmJ1dHRvbjo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogMC4zNzVyZW07XG4gICAgcmlnaHQ6IDEuNDA2MjVyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuMTU2MjVyZW07IH1cbiAgLmRyb3Bkb3duLmJ1dHRvbjo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24uYnV0dG9uLnRpbnksIGJ1dHRvbi5kcm9wZG93bi50aW55IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjYyNXJlbTsgfVxuICAgIC5kcm9wZG93bi5idXR0b24udGlueTphZnRlciwgYnV0dG9uLmRyb3Bkb3duLnRpbnk6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjM3NXJlbTtcbiAgICAgIHJpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjEyNXJlbTsgfVxuICAgIC5kcm9wZG93bi5idXR0b24udGlueTo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi50aW55OjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLmJ1dHRvbi5zbWFsbCwgYnV0dG9uLmRyb3Bkb3duLnNtYWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjA2MjVyZW07IH1cbiAgICAuZHJvcGRvd24uYnV0dG9uLnNtYWxsOjphZnRlciwgYnV0dG9uLmRyb3Bkb3duLnNtYWxsOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDAuNDM3NXJlbTtcbiAgICAgIHJpZ2h0OiAxLjMxMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC4xNTYyNXJlbTsgfVxuICAgIC5kcm9wZG93bi5idXR0b24uc21hbGw6OmFmdGVyLCBidXR0b24uZHJvcGRvd24uc21hbGw6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24uYnV0dG9uLmxhcmdlLCBidXR0b24uZHJvcGRvd24ubGFyZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuNjI1cmVtOyB9XG4gICAgLmRyb3Bkb3duLmJ1dHRvbi5sYXJnZTo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi5sYXJnZTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjMxMjVyZW07XG4gICAgICByaWdodDogMS43MTg3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjE1NjI1cmVtOyB9XG4gICAgLmRyb3Bkb3duLmJ1dHRvbi5sYXJnZTo6YWZ0ZXIsIGJ1dHRvbi5kcm9wZG93bi5sYXJnZTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5idXR0b24uc2Vjb25kYXJ5OmFmdGVyLCBidXR0b24uZHJvcGRvd24uc2Vjb25kYXJ5OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiA2Ny41JTtcbiAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4zNCU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7IH1cblxuLyogU3RhbmRhcmQgRm9ybXMgKi9cbmZvcm0ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cbi8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovXG5mb3JtIC5yb3cgLnJvdyB7XG4gIG1hcmdpbjogMCAtMC41cmVtOyB9XG4gIGZvcm0gLnJvdyAucm93IC5jb2x1bW4sXG4gIGZvcm0gLnJvdyAucm93IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTsgfVxuICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgZm9ybSAucm93IC5yb3cuY29sbGFwc2UgLmNvbHVtbixcbiAgICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgZm9ybSAucm93IC5yb3cuY29sbGFwc2UgaW5wdXQge1xuICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbmZvcm0gLnJvdyBpbnB1dC5jb2x1bW4sXG5mb3JtIC5yb3cgaW5wdXQuY29sdW1ucyxcbmZvcm0gLnJvdyB0ZXh0YXJlYS5jb2x1bW4sXG5mb3JtIC5yb3cgdGV4dGFyZWEuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG5cbi8qIExhYmVsIFN0eWxlcyAqL1xubGFiZWwge1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgLyogU3R5bGVzIGZvciByZXF1aXJlZCBpbnB1dHMgKi8gfVxuICBsYWJlbC5yaWdodCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBsYWJlbC5pbmxpbmUge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuICBsYWJlbCBzbWFsbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgY29sb3I6ICM2NzY3Njc7IH1cblxuLyogQXR0YWNoIGVsZW1lbnRzIHRvIHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIGFuIGlucHV0ICovXG4ucHJlZml4LFxuLnBvc3RmaXgge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGhlaWdodDogMi4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMi4zMTI1cmVtO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7IH1cblxuLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbi5wb3N0Zml4LmJ1dHRvbiB7XG4gIGJvcmRlci1jb2xvcjogdHJ1ZTsgfVxuXG4ucHJlZml4LmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJlZml4LmJ1dHRvbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OyB9XG5cbi5wb3N0Zml4LmJ1dHRvbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuXG4ucHJlZml4LmJ1dHRvbi5yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7IH1cblxuLnBvc3RmaXguYnV0dG9uLnJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH1cblxuLyogU2VwYXJhdGUgcHJlZml4IGFuZCBwb3N0Zml4IHN0eWxlcyB3aGVuIG9uIHNwYW4gb3IgbGFiZWwgc28gYnV0dG9ucyBrZWVwIHRoZWlyIG93biAqL1xuc3Bhbi5wcmVmaXgsIGxhYmVsLnByZWZpeCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYzsgfVxuXG5zcGFuLnBvc3RmaXgsIGxhYmVsLnBvc3RmaXgge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBjb2xvcjogIzMzMzMzMztcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjOyB9XG5cbi8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG5pbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sIGlucHV0W3R5cGU9XCJtb250aFwiXSwgaW5wdXRbdHlwZT1cIndlZWtcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInRpbWVcIl0sIGlucHV0W3R5cGU9XCJ1cmxcIl0sIGlucHV0W3R5cGU9XCJjb2xvclwiXSwgdGV4dGFyZWEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiAyLjMxMjVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gIC1tcy10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyOyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cywgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJtb250aFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cIndlZWtcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInRlbFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInRpbWVcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ1cmxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJjb2xvclwiXTpkaXNhYmxlZCwgdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInRleHRcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cImRhdGVcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sIGlucHV0W3R5cGU9XCJtb250aFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJtb250aFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJ3ZWVrXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cIndlZWtcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cIndlZWtcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwidGVsXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInRpbWVcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInRpbWVcIl0sIGlucHV0W3R5cGU9XCJ1cmxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwidXJsXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ1cmxcIl0sIGlucHV0W3R5cGU9XCJjb2xvclwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJjb2xvclwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwiY29sb3JcIl0sIHRleHRhcmVhW2Rpc2FibGVkXSwgdGV4dGFyZWFbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cImRhdGVcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwibW9udGhcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwid2Vla1wiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInRlbFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJ0aW1lXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInVybFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJjb2xvclwiXS5yYWRpdXMsIHRleHRhcmVhLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHRleHRhcmVhLFxuZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSBzZWxlY3QsXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2UgLnByZWZpeCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHNlbGVjdCxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgLnBvc3RmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2UgdGV4dGFyZWEsXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSAucHJlZml4IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDsgfVxuXG5mb3JtIC5yb3cgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIGlucHV0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSBidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9XG5cbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2UgLnBvc3RmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDsgfVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLyogUmVzcGVjdCBlbmZvcmNlZCBhbW91bnQgb2Ygcm93cyBmb3IgdGV4dGFyZWEgKi9cbnRleHRhcmVhW3Jvd3NdIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIE5vdCBhbGxvdyByZXNpemUgb3V0IG9mIHBhcmVudCAqL1xudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjY2NjY2M7IH1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogI2NjY2NjYzsgfVxuXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogI2NjY2NjYzsgfVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjY2NjY2M7IH1cblxuLyogQWRkIGhlaWdodCB2YWx1ZSBmb3Igc2VsZWN0IGVsZW1lbnRzIHRvIG1hdGNoIHRleHQgaW5wdXQgaGVpZ2h0ICovXG5zZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VEMGlNVEp3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpSd2VDSWdhR1ZwWjJoMFBTSXpjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJJRE1pSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURZZ015SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTGprNU1pd3dJREl1T1RreUxETWdMVEF1TURBNExEQWdJaTgrUEM5emRtYyspO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi4zMTI1cmVtOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3QucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgc2VsZWN0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgIGJvcmRlci1jb2xvcjogIzk5OTk5OTsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4vKiBBZGp1c3QgbWFyZ2luIGZvciBmb3JtIGVsZW1lbnRzIGJlbG93ICovXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBIVE1MNSBOdW1iZXIgc3Bpbm5lcnMgc2V0dGluZ3MgKi9cbi8qIFdlIGFkZCBiYXNpYyBmaWVsZHNldCBzdHlsaW5nICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREREREQ7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBmaWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbi8qIEVycm9yIEhhbmRsaW5nICovXG5bZGF0YS1hYmlkZV0gLmVycm9yIHNtYWxsLmVycm9yLCBbZGF0YS1hYmlkZV0gLmVycm9yIHNwYW4uZXJyb3IsIFtkYXRhLWFiaWRlXSBzcGFuLmVycm9yLCBbZGF0YS1hYmlkZV0gc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNTYyNXJlbSAwLjU2MjVyZW07XG4gIGJhY2tncm91bmQ6ICNmMDQxMjQ7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbltkYXRhLWFiaWRlXSBzcGFuLmVycm9yLCBbZGF0YS1hYmlkZV0gc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjU2MjVyZW0gMC41NjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZjA0MTI0O1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uZXJyb3IgaW5wdXQsXG4uZXJyb3IgdGV4dGFyZWEsXG4uZXJyb3Igc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZXJyb3IgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmVycm9yIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmVycm9yIGxhYmVsLFxuLmVycm9yIGxhYmVsLmVycm9yIHtcbiAgY29sb3I6ICNmMDQxMjQ7IH1cblxuLmVycm9yIHNtYWxsLmVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjU2MjVyZW0gMC41NjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZjA0MTI0O1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uZXJyb3IgPiBsYWJlbCA+IHNtYWxsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNjc2NzY3O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc2l6ZTogNjAlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLmVycm9yIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmlucHV0LmVycm9yLFxudGV4dGFyZWEuZXJyb3IsXG5zZWxlY3QuZXJyb3Ige1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmxhYmVsLmVycm9yIHtcbiAgY29sb3I6ICNmMDQxMjQ7IH1cblxuLmljb24tYmFyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9XG4gIC5pY29uLWJhciA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmljb24tYmFyID4gKiBpLCAuaWNvbi1iYXIgPiAqIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAuaWNvbi1iYXIgPiAqIGkgKyBsYWJlbCwgLmljb24tYmFyID4gKiBpbWcgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC4wNjI1cmVtOyB9XG4gICAgLmljb24tYmFyID4gKiBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmljb24tYmFyID4gKiBpbWcge1xuICAgICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIHdpZHRoOiAxLjg3NXJlbTsgfVxuICAuaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGksIC5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC4wNjI1cmVtIDAgMDsgfVxuICAgIC5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogaSArIGxhYmVsLCAuaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGltZyArIGxhYmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmljb24tYmFyLmxhYmVsLXJpZ2h0ID4gKiBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5pY29uLWJhci52ZXJ0aWNhbC5sYWJlbC1yaWdodCA+ICoge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmljb24tYmFyLnZlcnRpY2FsLCAuaWNvbi1iYXIuc21hbGwtdmVydGljYWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5pY29uLWJhci52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAuaWNvbi1iYXIubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5pY29uLWJhci5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLmljb24tYmFyLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuaWNvbi1iYXIgPiAqIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgIC5pY29uLWJhciA+ICogaSArIGxhYmVsLCAuaWNvbi1iYXIgPiAqIGltZyArIGxhYmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IC4wNjI1cmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLmljb24tYmFyID4gKiBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgICAuaWNvbi1iYXIgPiAqIGltZyB7XG4gICAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDEuODc1cmVtOyB9XG4gIC5pY29uLWJhciA+ICogbGFiZWwge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5pY29uLWJhciA+ICogaSB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmljb24tYmFyID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzAwOENCQTsgfVxuICAgIC5pY29uLWJhciA+IGE6aG92ZXIgbGFiZWwge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuaWNvbi1iYXIgPiBhOmhvdmVyIGkge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmljb24tYmFyID4gYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMwMDhDQkE7IH1cbiAgICAuaWNvbi1iYXIgPiBhLmFjdGl2ZSBsYWJlbCB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5pY29uLWJhciA+IGEuYWN0aXZlIGkge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmljb24tYmFyIC5pdGVtLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5pY29uLWJhciAuaXRlbS5kaXNhYmxlZCA+ICoge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuaWNvbi1iYXIudHdvLXVwIC5pdGVtIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5pY29uLWJhci50d28tdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci50d28tdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmljb24tYmFyLnR3by11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5pY29uLWJhci50d28tdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuaWNvbi1iYXIudGhyZWUtdXAgLml0ZW0ge1xuICAgIHdpZHRoOiAzMy4zMzMzJTsgfVxuICAuaWNvbi1iYXIudGhyZWUtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci50aHJlZS11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIudGhyZWUtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIudGhyZWUtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuaWNvbi1iYXIuZm91ci11cCAuaXRlbSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuaWNvbi1iYXIuZm91ci11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmZvdXItdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmljb24tYmFyLmZvdXItdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIuZm91ci11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5pY29uLWJhci5maXZlLXVwIC5pdGVtIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5pY29uLWJhci5maXZlLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuZml2ZS11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIuZml2ZS11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5pY29uLWJhci5maXZlLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmljb24tYmFyLnNpeC11cCAuaXRlbSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuaWNvbi1iYXIuc2l4LXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuc2l4LXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5pY29uLWJhci5zaXgtdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaWNvbi1iYXIuc2l4LXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmljb24tYmFyLnNldmVuLXVwIC5pdGVtIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5pY29uLWJhci5zZXZlbi11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNldmVuLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5pY29uLWJhci5zZXZlbi11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5pY29uLWJhci5zZXZlbi11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5pY29uLWJhci5laWdodC11cCAuaXRlbSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5pY29uLWJhci5laWdodC11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmVpZ2h0LXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5pY29uLWJhci5laWdodC11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5pY29uLWJhci5laWdodC11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pY29uLWJhci50d28tdXAgLml0ZW0ge1xuICB3aWR0aDogNTAlOyB9XG5cbi5pY29uLWJhci50d28tdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci50d28tdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuaWNvbi1iYXIudHdvLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaWNvbi1iYXIudHdvLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pY29uLWJhci50aHJlZS11cCAuaXRlbSB7XG4gIHdpZHRoOiAzMy4zMzMzJTsgfVxuXG4uaWNvbi1iYXIudGhyZWUtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci50aHJlZS11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5pY29uLWJhci50aHJlZS11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLnRocmVlLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pY29uLWJhci5mb3VyLXVwIC5pdGVtIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uaWNvbi1iYXIuZm91ci11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmZvdXItdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xuICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuaWNvbi1iYXIuZm91ci11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLmZvdXItdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmljb24tYmFyLmZpdmUtdXAgLml0ZW0ge1xuICB3aWR0aDogMjAlOyB9XG5cbi5pY29uLWJhci5maXZlLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuZml2ZS11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5pY29uLWJhci5maXZlLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaWNvbi1iYXIuZml2ZS11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uaWNvbi1iYXIuc2l4LXVwIC5pdGVtIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uaWNvbi1iYXIuc2l4LXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuc2l4LXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLnNpeC11cC5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLnNpeC11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uaWNvbi1iYXIuc2V2ZW4tdXAgLml0ZW0ge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5pY29uLWJhci5zZXZlbi11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnNldmVuLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLnNldmVuLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaWNvbi1iYXIuc2V2ZW4tdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmljb24tYmFyLmVpZ2h0LXVwIC5pdGVtIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbi5pY29uLWJhci5laWdodC11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLmVpZ2h0LXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmljb24tYmFyLmVpZ2h0LXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaWNvbi1iYXIuZWlnaHQtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW46IDAgYXV0byAxLjA2MjVyZW0gYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDsgfVxuICAuaW5saW5lLWxpc3QgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMS4zNzVyZW07IH1cbiAgICAuaW5saW5lLWxpc3QgPiBsaSA+ICoge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogRm91bmRhdGlvbiBKb3lyaWRlICovXG4uam95cmlkZS1saXN0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBEZWZhdWx0IHN0eWxlcyBmb3IgdGhlIGNvbnRhaW5lciAqL1xuLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDk1JTtcbiAgei1pbmRleDogMTAxO1xuICBsZWZ0OiAyLjUlOyB9XG5cbi5sdC1pZTkgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgbWFyZ2luLWxlZnQ6IC00MDBweDtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbGVmdDogNTAlOyB9XG5cbi5qb3lyaWRlLWNvbnRlbnQtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDEuMjVyZW0gMS41cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICAuam95cmlkZS1jb250ZW50LXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5qb3lyaWRlLWNvbnRlbnQtd3JhcHBlciAuam95cmlkZS1wcmV2LXRpcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qIEFkZCBhIGxpdHRsZSBjc3MgdHJpYW5nbGUgcGlwLCBvbGRlciBicm93c2VyIGp1c3QgbWlzcyBvdXQgb24gdGhlIGZhbmNpbmVzcyBvZiBpdCAqL1xuLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51YiB7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjMzMzMzMzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBsZWZ0OiAyMnB4OyB9XG4gIC5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIudG9wIHtcbiAgICBib3JkZXItY29sb3I6ICMzMzMzMzM7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAtMjBweDsgfVxuICAuam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViLmJvdHRvbSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAtMjBweDsgfVxuICAuam95cmlkZS10aXAtZ3VpZGUgLmpveXJpZGUtbnViLnJpZ2h0IHtcbiAgICByaWdodDogLTIwcHg7IH1cbiAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi5sZWZ0IHtcbiAgICBsZWZ0OiAtMjBweDsgfVxuXG4vKiBUeXBvZ3JhcGh5ICovXG4uam95cmlkZS10aXAtZ3VpZGUgaDEsXG4uam95cmlkZS10aXAtZ3VpZGUgaDIsXG4uam95cmlkZS10aXAtZ3VpZGUgaDMsXG4uam95cmlkZS10aXAtZ3VpZGUgaDQsXG4uam95cmlkZS10aXAtZ3VpZGUgaDUsXG4uam95cmlkZS10aXAtZ3VpZGUgaDYge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW46IDA7IH1cblxuLmpveXJpZGUtdGlwLWd1aWRlIHAge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW46IDAgMCAxLjEyNXJlbSAwOyB9XG5cbi5qb3lyaWRlLXRpbWVyLWluZGljYXRvci13cmFwIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzU1NTU1NTtcbiAgYm90dG9tOiAxcmVtO1xuICBoZWlnaHQ6IDNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNTBweDtcbiAgcmlnaHQ6IDEuMDYyNXJlbTsgfVxuXG4uam95cmlkZS10aW1lci1pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kOiAjNjY2NjY2O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICB3aWR0aDogMDsgfVxuXG4uam95cmlkZS1jbG9zZS10aXAge1xuICBjb2xvcjogIzc3Nzc3NyAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAuNSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTJweDsgfVxuICAuam95cmlkZS1jbG9zZS10aXA6aG92ZXIsIC5qb3lyaWRlLWNsb3NlLXRpcDpmb2N1cyB7XG4gICAgY29sb3I6ICNFRUVFRUUgIWltcG9ydGFudDsgfVxuXG4uam95cmlkZS1tb2RhbC1iZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICBsZWZ0OiAwOyB9XG5cbi5qb3lyaWRlLWV4cG9zZS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMTVweCAjRkZGRkZGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMjsgfVxuXG4uam95cmlkZS1leHBvc2UtY292ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk5OTsgfVxuXG4vKiBTdHlsZXMgZm9yIHNjcmVlbnMgdGhhdCBhcmUgYXQgbGVhc3QgNzY4cHg7ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBsZWZ0OiBpbmhlcml0OyB9XG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi5ib3R0b20ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3R0b206IC0yMHB4OyB9XG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIC5qb3lyaWRlLW51Yi5yaWdodCB7XG4gICAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgIHRvcDogMjJweDsgfVxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSAuam95cmlkZS1udWIubGVmdCB7XG4gICAgICBib3JkZXItY29sb3I6ICMzMzMzMzMgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAtMjBweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgdG9wOiAyMnB4OyB9IH1cblxuLmtleXN0cm9rZSxcbmtiZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gIGJvcmRlci1jb2xvcjogI2RkZGRkZDtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBmb250LWZhbWlseTogXCJDb25zb2xhc1wiLCBcIk1lbmxvXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtIDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Q0JBO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLmxhYmVsLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA0MTI0O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA4YTI0O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNBQzZBO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLmxhYmVsLmluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cblxuW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbl0sIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb24tY2xvbmVdIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xuICB6LWluZGV4OiA1MDsgfVxuICBbZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uXSAuc3ViLW5hdiwgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZV0gLnN1Yi1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBbZGF0YS1tYWdlbGxhbi1leHBlZGl0aW9uXSAuc3ViLW5hdiBkZCwgW2RhdGEtbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZV0gLnN1Yi1uYXYgZGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb25dIC5zdWItbmF2IGEsIFtkYXRhLW1hZ2VsbGFuLWV4cGVkaXRpb24tY2xvbmVdIC5zdWItbmF2IGEge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLyogT3JiaXQgR3JhY2VmdWwgTG9hZGluZyAqL1xuLnNsaWRlc2hvdy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGlkZXNob3ctd3JhcHBlciB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zbGlkZXNob3ctd3JhcHBlciB1bCBsaSxcbiAgICAuc2xpZGVzaG93LXdyYXBwZXIgdWwgbGkgLm9yYml0LWNhcHRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zbGlkZXNob3ctd3JhcHBlciB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpZGVzaG93LXdyYXBwZXIgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpZGVzaG93LXdyYXBwZXIgLm9yYml0LWNvbnRhaW5lciBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnNsaWRlc2hvdy13cmFwcGVyIC5vcmJpdC1jb250YWluZXIgbGkgLm9yYml0LWNhcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zbGlkZXNob3ctd3JhcHBlciAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1idWxsZXRzIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuc2xpZGVzaG93LXdyYXBwZXIgLnByZWxvYWRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBib3JkZXItY29sb3I6ICM1NTU1NTUgI0ZGRkZGRjtcbiAgICBib3JkZXI6IHNvbGlkIDNweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gICAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiAub3JiaXQtY2FwdGlvbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUtbnVtYmVyIHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZS1udW1iZXIgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXRpbWVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMnB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXRpbWVyIC5vcmJpdC1wcm9ncmVzcyB7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogNXB4OyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtdGltZXIgPiBzcGFuIHtcbiAgICAgIGJvcmRlcjogc29saWQgNHB4ICNGRkZGRkY7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTFweDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtdGltZXIucGF1c2VkID4gc3BhbiB7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTFweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJvcmRlcjogaW5zZXQgOHB4O1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGRkZGO1xuICAgICAgcmlnaHQ6IC00cHg7IH1cbiAgICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXRpbWVyLnBhdXNlZCA+IHNwYW4uZGFyayB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzMzMzMzOyB9XG4gIC5vcmJpdC1jb250YWluZXI6aG92ZXIgLm9yYml0LXRpbWVyID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtcHJldixcbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtbmV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHggIWltcG9ydGFudDtcbiAgICB0b3A6IDQ1JTtcbiAgICB3aWR0aDogMzZweDtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXByZXY6aG92ZXIsXG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtbmV4dDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1wcmV2ID4gc3BhbixcbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1uZXh0ID4gc3BhbiB7XG4gICAgICBib3JkZXI6IGluc2V0IDEwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMDsgfVxuICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1wcmV2IHtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtcHJldiA+IHNwYW4ge1xuICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNGRkZGRkY7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1wcmV2OmhvdmVyID4gc3BhbiB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNGRkZGRkY7IH1cbiAgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtbmV4dCB7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1uZXh0ID4gc3BhbiB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTRweDsgfVxuICAgIC5vcmJpdC1jb250YWluZXIgLm9yYml0LW5leHQ6aG92ZXIgPiBzcGFuIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjRkZGRkZGOyB9XG5cbi5vcmJpdC1idWxsZXRzLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweCBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAxMHB4OyB9XG4gIC5vcmJpdC1idWxsZXRzIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAjQ0NDQ0NDO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgaGVpZ2h0OiAwLjU2MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBsaS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzk5OTk5OTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi50b3VjaCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1wcmV2LFxuLnRvdWNoIC5vcmJpdC1jb250YWluZXIgLm9yYml0LW5leHQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50b3VjaCAub3JiaXQtYnVsbGV0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnRvdWNoIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXByZXYsXG4gIC50b3VjaCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1uZXh0IHtcbiAgICBkaXNwbGF5OiBpbmhlcml0OyB9XG4gIC50b3VjaCAub3JiaXQtYnVsbGV0cyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAub3JiaXQtc3RhY2stb24tc21hbGwgLm9yYml0LXNsaWRlcy1jb250YWluZXIgPiAqIHtcbiAgICBtYXJnaW46IDAgICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAub3JiaXQtc3RhY2stb24tc21hbGwgLm9yYml0LXNsaWRlLW51bWJlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3JiaXQtdGltZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9yYml0LW5leHQsIC5vcmJpdC1wcmV2IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxudWwucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTtcbiAgbWluLWhlaWdodDogMS41cmVtOyB9XG4gIHVsLnBhZ2luYXRpb24gbGkge1xuICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgYSwgdWwucGFnaW5hdGlvbiBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC42MjVyZW0gMC4wNjI1cmVtOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaTpob3ZlciBhLFxuICAgIHVsLnBhZ2luYXRpb24gbGkgYTpmb2N1cyxcbiAgICB1bC5wYWdpbmF0aW9uIGxpOmhvdmVyIGJ1dHRvbixcbiAgICB1bC5wYWdpbmF0aW9uIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZSBhLCB1bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlIGJ1dHRvbiB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkudW5hdmFpbGFibGU6aG92ZXIgYSxcbiAgICB1bC5wYWdpbmF0aW9uIGxpLnVuYXZhaWxhYmxlIGE6Zm9jdXMsXG4gICAgdWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZTpob3ZlciBidXR0b24sXG4gICAgdWwucGFnaW5hdGlvbiBsaS51bmF2YWlsYWJsZSBidXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYSwgdWwucGFnaW5hdGlvbiBsaS5jdXJyZW50IGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA4Q0JBO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgdWwucGFnaW5hdGlvbiBsaS5jdXJyZW50IGE6aG92ZXIsIHVsLnBhZ2luYXRpb24gbGkuY3VycmVudCBhOmZvY3VzLCB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYnV0dG9uOmhvdmVyLCB1bC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwOENCQTsgfVxuICB1bC5wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4vKiBQYWdpbmF0aW9uIGNlbnRyZWQgd3JhcHBlciAqL1xuLnBhZ2luYXRpb24tY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBhZ2luYXRpb24tY2VudGVyZWQgdWwucGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lOyB9XG5cbi8qIFBhbmVscyAqL1xuLnBhbmVsIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZDhkODtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLnBhbmVsID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wYW5lbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYW5lbCBoMSwgLnBhbmVsIGgyLCAucGFuZWwgaDMsIC5wYW5lbCBoNCwgLnBhbmVsIGg1LCAucGFuZWwgaDYsIC5wYW5lbCBwLCAucGFuZWwgbGksIC5wYW5lbCBkbCB7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLnBhbmVsIGgxLCAucGFuZWwgaDIsIC5wYW5lbCBoMywgLnBhbmVsIGg0LCAucGFuZWwgaDUsIC5wYW5lbCBoNiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAucGFuZWwgaDEuc3ViaGVhZGVyLCAucGFuZWwgaDIuc3ViaGVhZGVyLCAucGFuZWwgaDMuc3ViaGVhZGVyLCAucGFuZWwgaDQuc3ViaGVhZGVyLCAucGFuZWwgaDUuc3ViaGVhZGVyLCAucGFuZWwgaDYuc3ViaGVhZGVyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLnBhbmVsLmNhbGxvdXQge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDhkOGQ4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZWNmYWZmO1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLnBhbmVsLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wYW5lbC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wYW5lbC5jYWxsb3V0IGgxLCAucGFuZWwuY2FsbG91dCBoMiwgLnBhbmVsLmNhbGxvdXQgaDMsIC5wYW5lbC5jYWxsb3V0IGg0LCAucGFuZWwuY2FsbG91dCBoNSwgLnBhbmVsLmNhbGxvdXQgaDYsIC5wYW5lbC5jYWxsb3V0IHAsIC5wYW5lbC5jYWxsb3V0IGxpLCAucGFuZWwuY2FsbG91dCBkbCB7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIC5wYW5lbC5jYWxsb3V0IGgxLCAucGFuZWwuY2FsbG91dCBoMiwgLnBhbmVsLmNhbGxvdXQgaDMsIC5wYW5lbC5jYWxsb3V0IGg0LCAucGFuZWwuY2FsbG91dCBoNSwgLnBhbmVsLmNhbGxvdXQgaDYge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgLnBhbmVsLmNhbGxvdXQgaDEuc3ViaGVhZGVyLCAucGFuZWwuY2FsbG91dCBoMi5zdWJoZWFkZXIsIC5wYW5lbC5jYWxsb3V0IGgzLnN1YmhlYWRlciwgLnBhbmVsLmNhbGxvdXQgaDQuc3ViaGVhZGVyLCAucGFuZWwuY2FsbG91dCBoNS5zdWJoZWFkZXIsIC5wYW5lbC5jYWxsb3V0IGg2LnN1YmhlYWRlciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAucGFuZWwuY2FsbG91dCBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogIzAwOENCQTsgfVxuICAgICAgLnBhbmVsLmNhbGxvdXQgYTpub3QoLmJ1dHRvbik6aG92ZXIsIC5wYW5lbC5jYWxsb3V0IGE6bm90KC5idXR0b24pOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMwMDc4YTA7IH1cbiAgLnBhbmVsLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi8qIFByaWNpbmcgVGFibGVzICovXG4ucHJpY2luZy10YWJsZSB7XG4gIGJvcmRlcjogc29saWQgMXB4ICNEREREREQ7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5wcmljaW5nLXRhYmxlICoge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnByaWNpbmctdGFibGUgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xuICAgIGNvbG9yOiAjRUVFRUVFO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnByaWNpbmctdGFibGUgLnByaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnByaWNpbmctdGFibGUgLmRlc2NyaXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI0RERERERDtcbiAgICBjb2xvcjogIzc3Nzc3NztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnByaWNpbmctdGFibGUgLmJ1bGxldC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI0RERERERDtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHJpY2luZy10YWJsZSAuY3RhLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogUHJvZ3Jlc3MgQmFyICovXG4ucHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBwYWRkaW5nOiAwLjEyNXJlbTsgfVxuICAucHJvZ3Jlc3MgLm1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA4Q0JBO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5tZXRlciB7XG4gICAgYmFja2dyb3VuZDogI2U3ZTdlNztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLm1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDNBQzZBO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLm1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjA0MTI0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucHJvZ3Jlc3MucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAucHJvZ3Jlc3MucmFkaXVzIC5tZXRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgLnByb2dyZXNzLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAucHJvZ3Jlc3Mucm91bmQgLm1ldGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OyB9XG5cbi5yYW5nZS1zbGlkZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREREREO1xuICBtYXJnaW46IDEuMjVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkFGQUZBOyB9XG4gIC5yYW5nZS1zbGlkZXIudmVydGljYWwtcmFuZ2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREREREQ7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEyLjVyZW07XG4gICAgd2lkdGg6IDFyZW07IH1cbiAgICAucmFuZ2Utc2xpZGVyLnZlcnRpY2FsLXJhbmdlIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgIGJvdHRvbTogLTEwLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucmFuZ2Utc2xpZGVyLnZlcnRpY2FsLXJhbmdlIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5pdGlhbDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAwLjg3NXJlbTsgfVxuICAucmFuZ2Utc2xpZGVyLnJhZGl1cyB7XG4gICAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAucmFuZ2Utc2xpZGVyLnJhZGl1cyAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA4Q0JBO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gICAgICAucmFuZ2Utc2xpZGVyLnJhZGl1cyAucmFuZ2Utc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDdiYTQ7IH1cbiAgLnJhbmdlLXNsaWRlci5yb3VuZCB7XG4gICAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAucmFuZ2Utc2xpZGVyLnJvdW5kIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDhDQkE7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAgIC5yYW5nZS1zbGlkZXIucm91bmQgLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3YmE0OyB9XG4gIC5yYW5nZS1zbGlkZXIuZGlzYWJsZWQsIC5yYW5nZS1zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gICAgLnJhbmdlLXNsaWRlci5kaXNhYmxlZCAucmFuZ2Utc2xpZGVyLWhhbmRsZSwgLnJhbmdlLXNsaWRlcltkaXNhYmxlZF0gLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICAgICAgYmFja2dyb3VuZDogIzAwOENCQTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgLnJhbmdlLXNsaWRlci5kaXNhYmxlZCAucmFuZ2Utc2xpZGVyLWhhbmRsZTpob3ZlciwgLnJhbmdlLXNsaWRlcltkaXNhYmxlZF0gLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3YmE0OyB9XG5cbi5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMC44NzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4ucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEuMzc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuMzEyNXJlbTtcbiAgd2lkdGg6IDJyZW07XG4gIHotaW5kZXg6IDE7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJhY2tncm91bmQ6ICMwMDhDQkE7IH1cbiAgLnJhbmdlLXNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDdiYTQ7IH1cblxuLnJldmVhbC1tb2RhbC1iZyB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDA0O1xuICBsZWZ0OiAwOyB9XG5cbi5yZXZlYWwtbW9kYWwge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA1O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzY2NjY2NjtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwtbW9kYWwge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7IH0gfVxuICAucmV2ZWFsLW1vZGFsIC5jb2x1bW4sIC5yZXZlYWwtbW9kYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsLW1vZGFsID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5yZXZlYWwtbW9kYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5yZXZlYWwtbW9kYWwge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDgwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLnJldmVhbC1tb2RhbCB7XG4gICAgICB0b3A6IDYuMjVyZW07IH0gfVxuICAucmV2ZWFsLW1vZGFsLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5yZXZlYWwtbW9kYWwucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAucmV2ZWFsLW1vZGFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLnJldmVhbC1tb2RhbC50aW55IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogOTByZW07XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5yZXZlYWwtbW9kYWwuc21hbGwge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLnJldmVhbC1tb2RhbC5tZWRpdW0ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDYwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLnJldmVhbC1tb2RhbC5sYXJnZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDkwcmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogNzAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAucmV2ZWFsLW1vZGFsLnhsYXJnZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDkwcmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogOTUlOyB9IH1cbiAgLnJldmVhbC1tb2RhbC5mdWxsIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5yZXZlYWwtbW9kYWwuZnVsbCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDkwcmVtO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucmV2ZWFsLW1vZGFsLnRvYmFjayB7XG4gICAgei1pbmRleDogMTAwMzsgfVxuICAucmV2ZWFsLW1vZGFsIC5jbG9zZS1yZXZlYWwtbW9kYWwge1xuICAgIGNvbG9yOiAjQUFBQUFBO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjYyNXJlbTtcbiAgICByaWdodDogMS4zNzVyZW07IH1cblxuLnNpZGUtbmF2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuODc1cmVtIDA7IH1cbiAgLnNpZGUtbmF2IGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwIDAgMC40Mzc1cmVtIDA7IH1cbiAgICAuc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbikge1xuICAgICAgY29sb3I6ICMwMDhDQkE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAwLjg3NXJlbTsgfVxuICAgICAgLnNpZGUtbmF2IGxpIGE6bm90KC5idXR0b24pOmhvdmVyLCAuc2lkZS1uYXYgbGkgYTpub3QoLmJ1dHRvbik6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDI1KTtcbiAgICAgICAgY29sb3I6ICMxY2M3ZmY7IH1cbiAgICAgIC5zaWRlLW5hdiBsaSBhOm5vdCguYnV0dG9uKTphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzFjYzdmZjsgfVxuICAgIC5zaWRlLW5hdiBsaS5hY3RpdmUgPiBhOmZpcnN0LWNoaWxkOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogIzFjYzdmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAuc2lkZS1uYXYgbGkuZGl2aWRlciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNlNmU2ZTY7IH1cbiAgICAuc2lkZS1uYXYgbGkuaGVhZGluZyB7XG4gICAgICBjb2xvcjogIzAwOENCQTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnNwbGl0LmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogNS4wNjI1cmVtOyB9XG4gIC5zcGxpdC5idXR0b24gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweDsgfVxuICAgIC5zcGxpdC5idXR0b24gc3BhbjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1zdHlsZTogaW5zZXQ7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTsgfVxuICAgIC5zcGxpdC5idXR0b24gc3BhbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5zcGxpdC5idXR0b24gc3BhbiB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAuc3BsaXQuYnV0dG9uIHNwYW4ge1xuICAgIHdpZHRoOiAzLjA5Mzc1cmVtOyB9XG4gICAgLnNwbGl0LmJ1dHRvbiBzcGFuOmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4zNzVyZW07XG4gICAgICB0b3A6IDQ4JTsgfVxuICAuc3BsaXQuYnV0dG9uIHNwYW46YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuc3BsaXQuYnV0dG9uLnNlY29uZGFyeSBzcGFuIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC5zcGxpdC5idXR0b24uc2Vjb25kYXJ5IHNwYW46YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuc3BsaXQuYnV0dG9uLmFsZXJ0IHNwYW4ge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnNwbGl0LmJ1dHRvbi5zdWNjZXNzIHNwYW4ge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLnNwbGl0LmJ1dHRvbi50aW55IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjc1cmVtOyB9XG4gICAgLnNwbGl0LmJ1dHRvbi50aW55IHNwYW4ge1xuICAgICAgd2lkdGg6IDIuMjVyZW07IH1cbiAgICAgIC5zcGxpdC5idXR0b24udGlueSBzcGFuOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC4zNzVyZW07XG4gICAgICAgIHRvcDogNDglOyB9XG4gIC5zcGxpdC5idXR0b24uc21hbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQuMzc1cmVtOyB9XG4gICAgLnNwbGl0LmJ1dHRvbi5zbWFsbCBzcGFuIHtcbiAgICAgIHdpZHRoOiAyLjYyNXJlbTsgfVxuICAgICAgLnNwbGl0LmJ1dHRvbi5zbWFsbCBzcGFuOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC40Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuMzc1cmVtO1xuICAgICAgICB0b3A6IDQ4JTsgfVxuICAuc3BsaXQuYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1LjVyZW07IH1cbiAgICAuc3BsaXQuYnV0dG9uLmxhcmdlIHNwYW4ge1xuICAgICAgd2lkdGg6IDMuNDM3NXJlbTsgfVxuICAgICAgLnNwbGl0LmJ1dHRvbi5sYXJnZSBzcGFuOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMC4zMTI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuMzc1cmVtO1xuICAgICAgICB0b3A6IDQ4JTsgfVxuICAuc3BsaXQuYnV0dG9uLmV4cGFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtOyB9XG4gIC5zcGxpdC5idXR0b24uc2Vjb25kYXJ5IHNwYW46YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuc3BsaXQuYnV0dG9uLnJhZGl1cyBzcGFuIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuICAuc3BsaXQuYnV0dG9uLnJvdW5kIHNwYW4ge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9XG4gIC5zcGxpdC5idXR0b24ubm8tcGlwIHNwYW46YmVmb3JlIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cbiAgLnNwbGl0LmJ1dHRvbi5uby1waXAgc3BhbjphZnRlciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG4gIC5zcGxpdC5idXR0b24ubm8tcGlwIHNwYW4gPiBpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI4ODg5ZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNDg4ODllbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7IH1cblxuLnN1Yi1uYXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAtMC4yNXJlbSAwIDEuMTI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgd2lkdGg6IGF1dG87IH1cbiAgLnN1Yi1uYXYgZHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnN1Yi1uYXYgZHQsXG4gIC5zdWItbmF2IGRkLFxuICAuc3ViLW5hdiBsaSB7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN1Yi1uYXYgZHQgYSxcbiAgICAuc3ViLW5hdiBkZCBhLFxuICAgIC5zdWItbmF2IGxpIGEge1xuICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnN1Yi1uYXYgZHQgYTpob3ZlcixcbiAgICAgIC5zdWItbmF2IGRkIGE6aG92ZXIsXG4gICAgICAuc3ViLW5hdiBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM3MzczNzM7IH1cbiAgICAuc3ViLW5hdiBkdC5hY3RpdmUgYSxcbiAgICAuc3ViLW5hdiBkZC5hY3RpdmUgYSxcbiAgICAuc3ViLW5hdiBsaS5hY3RpdmUgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA4Q0JBO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgcGFkZGluZzogMC4xODc1cmVtIDFyZW07IH1cbiAgICAgIC5zdWItbmF2IGR0LmFjdGl2ZSBhOmhvdmVyLFxuICAgICAgLnN1Yi1uYXYgZGQuYWN0aXZlIGE6aG92ZXIsXG4gICAgICAuc3ViLW5hdiBsaS5hY3RpdmUgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDc4YTA7IH1cblxuLnN3aXRjaCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLnN3aXRjaCBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogI0RERERERDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2Utb3V0OyB9XG4gIC5zd2l0Y2ggaW5wdXQge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDlweDsgfVxuICAgIC5zd2l0Y2ggaW5wdXQgKyBsYWJlbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc3dpdGNoIGxhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGVmdDogLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAwLjE1cyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGxlZnQgMC4xNXMgZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjE1cyBlYXNlLW91dDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAuc3dpdGNoIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogIzAwOENCQTsgfVxuICAuc3dpdGNoIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogMi4yNXJlbTsgfVxuICAuc3dpdGNoIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgd2lkdGg6IDRyZW07IH1cbiAgLnN3aXRjaCBsYWJlbDphZnRlciB7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTsgfVxuICAuc3dpdGNoIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogMi4yNXJlbTsgfVxuICAuc3dpdGNoIGxhYmVsIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogI0RERERERDsgfVxuICAuc3dpdGNoIGxhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA4Q0JBOyB9XG4gIC5zd2l0Y2gubGFyZ2UgbGFiZWwge1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHdpZHRoOiA1cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgbGFiZWw6YWZ0ZXIge1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB3aWR0aDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgd2lkdGg6IDMuNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGxhYmVsOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgd2lkdGg6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cbiAgLnN3aXRjaC50aW55IGxhYmVsIHtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB3aWR0aDogM3JlbTsgfVxuICAuc3dpdGNoLnRpbnkgbGFiZWw6YWZ0ZXIge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2gucmFkaXVzIGxhYmVsIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLnN3aXRjaC5yYWRpdXMgbGFiZWw6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAuc3dpdGNoLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cbiAgICAuc3dpdGNoLnJvdW5kIGxhYmVsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07IH1cbiAgICAuc3dpdGNoLnJvdW5kIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07IH1cblxudGFibGUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IHNvbGlkIDFweCAjREREREREO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB0YWJsZS1sYXlvdXQ6IGF1dG87IH1cbiAgdGFibGUgY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMyMjIyMjI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRhYmxlIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjVGNUY1OyB9XG4gICAgdGFibGUgdGhlYWQgdHIgdGgsXG4gICAgdGFibGUgdGhlYWQgdHIgdGQge1xuICAgICAgY29sb3I6ICMyMjIyMjI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGFibGUgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNGNUY1RjU7IH1cbiAgICB0YWJsZSB0Zm9vdCB0ciB0aCxcbiAgICB0YWJsZSB0Zm9vdCB0ciB0ZCB7XG4gICAgICBjb2xvcjogIzIyMjIyMjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0YWJsZSB0ciB0aCxcbiAgdGFibGUgdHIgdGQge1xuICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDAuNjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUgdHIuZXZlbiwgdGFibGUgdHIuYWx0LCB0YWJsZSB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgYmFja2dyb3VuZDogI0Y5RjlGOTsgfVxuICB0YWJsZSB0aGVhZCB0ciB0aCxcbiAgdGFibGUgdGZvb3QgdHIgdGgsXG4gIHRhYmxlIHRmb290IHRyIHRkLFxuICB0YWJsZSB0Ym9keSB0ciB0aCxcbiAgdGFibGUgdGJvZHkgdHIgdGQsXG4gIHRhYmxlIHRyIHRkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTsgfVxuXG4udGFicyB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnRhYnM6YmVmb3JlLCAudGFiczphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRhYnM6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50YWJzIGRkLFxuICAudGFicyAudGFiLXRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudGFicyBkZCA+IGEsXG4gICAgLnRhYnMgLnRhYi10aXRsZSA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xuICAgICAgY29sb3I6ICMyMjIyMjI7XG4gICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtIDJyZW07IH1cbiAgICAgIC50YWJzIGRkID4gYTpob3ZlcixcbiAgICAgIC50YWJzIC50YWItdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTsgfVxuICAgIC50YWJzIGRkLmFjdGl2ZSBhLFxuICAgIC50YWJzIC50YWItdGl0bGUuYWN0aXZlIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIGNvbG9yOiAjMjIyMjIyOyB9XG4gIC50YWJzLnJhZGl1cyBkZDpmaXJzdC1jaGlsZCBhLFxuICAudGFicy5yYWRpdXMgLnRhYjpmaXJzdC1jaGlsZCBhIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OyB9XG4gIC50YWJzLnJhZGl1cyBkZDpsYXN0LWNoaWxkIGEsXG4gIC50YWJzLnJhZGl1cyAudGFiOmxhc3QtY2hpbGQgYSB7XG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7IH1cbiAgLnRhYnMudmVydGljYWwgZGQsXG4gIC50YWJzLnZlcnRpY2FsIC50YWItdGl0bGUge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogYXV0bzsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICAudGFicy1jb250ZW50OmJlZm9yZSwgLnRhYnMtY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRhYnMtY29udGVudDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRhYnMtY29udGVudCA+IC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnRhYnMtY29udGVudCA+IC5jb250ZW50LmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgLnRhYnMtY29udGVudCA+IC5jb250ZW50LmNvbnRhaW5lZCB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAudGFicy1jb250ZW50LnZlcnRpY2FsID4gLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnRhYnMudmVydGljYWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgd2lkdGg6IDgwJTsgfSB9XG5cbi5uby1qcyAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLyogSW1hZ2UgVGh1bWJuYWlscyAqL1xuLnRoIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgLnRoOmhvdmVyLCAudGg6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMCwgMTQwLCAxODYsIDAuNSk7IH1cbiAgLnRoLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi8qIFRvb2x0aXBzICovXG4uaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI0NDQ0NDQztcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGN1cnNvcjogaGVscDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmhhcy10aXA6aG92ZXIsIC5oYXMtdGlwOmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICMwMDNmNTQ7XG4gICAgY29sb3I6ICMwMDhDQkE7IH1cbiAgLmhhcy10aXAudGlwLWxlZnQsIC5oYXMtdGlwLnRpcC1yaWdodCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA2O1xuICBsZWZ0OiA1MCU7IH1cbiAgLnRvb2x0aXAgPiAubnViIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMzMzMzMgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBzb2xpZCA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDVweDsgfVxuICAgIC50b29sdGlwID4gLm51Yi5ydGwge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiA1cHg7IH1cbiAgLnRvb2x0aXAucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLnRvb2x0aXAucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAgIC50b29sdGlwLnJvdW5kID4gLm51YiB7XG4gICAgICBsZWZ0OiAycmVtOyB9XG4gIC50b29sdGlwLm9wZW5lZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjMDAzZjU0ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDhDQkEgIWltcG9ydGFudDsgfVxuXG4udGFwLXRvLWNsb3NlIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC50b29sdGlwID4gLm51YiB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzMzMzIHRyYW5zcGFyZW50O1xuICAgIHRvcDogLTEwcHg7IH1cbiAgLnRvb2x0aXAudGlwLXRvcCA+IC5udWIge1xuICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC50aXAtbGVmdCwgLnRvb2x0aXAudGlwLXJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC50b29sdGlwLnRpcC1sZWZ0ID4gLm51YiB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzMzMzO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgdG9wOiA1MCU7IH1cbiAgLnRvb2x0aXAudGlwLXJpZ2h0ID4gLm51YiB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMzMzMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdG9wOiA1MCU7IH0gfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtdG9wYmFyIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwLjA2MjVlbSkvXCI7XG4gIHdpZHRoOiA0MC4wNjI1ZW07IH1cblxuLyogV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gY29udGFpbiB0byBncmlkIHdpZHRoICovXG4uY29udGFpbi10by1ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7IH1cbiAgLmNvbnRhaW4tdG8tZ3JpZCAudG9wLWJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5O1xuICBsZWZ0OiAwOyB9XG4gIC5maXhlZC5leHBhbmRlZDpub3QoLnRvcC1iYXIpIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpeGVkLmV4cGFuZGVkOm5vdCgudG9wLWJhcikgLnRpdGxlLWFyZWEge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiA5OTsgfVxuICAgIC5maXhlZC5leHBhbmRlZDpub3QoLnRvcC1iYXIpIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMi44MTI1cmVtO1xuICAgICAgei1pbmRleDogOTg7IH1cblxuLnRvcC1iYXIge1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50b3AtYmFyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRvcC1iYXIgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC50b3AtYmFyIGZvcm0sXG4gIC50b3AtYmFyIGlucHV0LFxuICAudG9wLWJhciBzZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQsXG4gIC50b3AtYmFyIHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAuMzVyZW07IH1cbiAgLnRvcC1iYXIgLmJ1dHRvbiwgLnRvcC1iYXIgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC40MTI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjQxMjVyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC50b3AtYmFyIC5idXR0b24sIC50b3AtYmFyIGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMXB4OyB9IH1cbiAgLnRvcC1iYXIgLnRpdGxlLWFyZWEge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRvcC1iYXIgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAudG9wLWJhciAubmFtZSBoMSwgLnRvcC1iYXIgLm5hbWUgaDIsIC50b3AtYmFyIC5uYW1lIGgzLCAudG9wLWJhciAubmFtZSBoNCwgLnRvcC1iYXIgLm5hbWUgcCwgLnRvcC1iYXIgLm5hbWUgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC50b3AtYmFyIC5uYW1lIGgxIGEsIC50b3AtYmFyIC5uYW1lIGgyIGEsIC50b3AtYmFyIC5uYW1lIGgzIGEsIC50b3AtYmFyIC5uYW1lIGg0IGEsIC50b3AtYmFyIC5uYW1lIHAgYSwgLnRvcC1iYXIgLm5hbWUgc3BhbiBhIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgICAgICAgd2lkdGg6IDc1JTsgfVxuICAudG9wLWJhciAudG9nZ2xlLXRvcGJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfVxuICAgIC50b3AtYmFyIC50b2dnbGUtdG9wYmFyIGEge1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAudG9wLWJhciAudG9nZ2xlLXRvcGJhci5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgICB0b3A6IDUwJTsgfVxuICAgICAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIubWVudS1pY29uIGEge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgcGFkZGluZzogMCAyLjVyZW0gMCAwLjkzNzVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAudG9wLWJhciAudG9nZ2xlLXRvcGJhci5tZW51LWljb24gYSBzcGFuOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCA3cHggMCAxcHggI0ZGRkZGRiwgMCAxNHB4IDAgMXB4ICNGRkZGRkY7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvZ2dsZS10b3BiYXIubWVudS1pY29uIGEgc3Bhbjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IFwiXCIsIDAgN3B4IDAgMXB4IFwiXCIsIDAgMTRweCAwIDFweCBcIlwiOyB9XG4gIC50b3AtYmFyLmV4cGFuZGVkIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAudG9wLWJhci5leHBhbmRlZCAudGl0bGUtYXJlYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9XG4gICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvZ2dsZS10b3BiYXIgYSB7XG4gICAgICBjb2xvcjogIzg4ODg4ODsgfVxuICAgICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvZ2dsZS10b3BiYXIgYSBzcGFuOjphZnRlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjODg4ODg4LCAwIDdweCAwIDFweCAjODg4ODg4LCAwIDE0cHggMCAxcHggIzg4ODg4ODsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgICAgIC50b3AtYmFyLmV4cGFuZGVkIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCA+IC5kcm9wZG93bixcbiAgICAgIC50b3AtYmFyLmV4cGFuZGVkIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIHtcbiAgICAgICAgY2xpcDogaW5pdGlhbDsgfVxuICAgICAgLnRvcC1iYXIuZXhwYW5kZWQgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duOm5vdCgubW92ZWQpID4gdWwge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnRvcC1iYXItc2VjdGlvbiB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIHRyYW5zaXRpb246IGxlZnQgMzAwbXMgZWFzZS1vdXQ7IH1cbiAgLnRvcC1iYXItc2VjdGlvbiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudG9wLWJhci1zZWN0aW9uIC5kaXZpZGVyLFxuICAudG9wLWJhci1zZWN0aW9uIFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggIzFhMWExYTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZzogMTJweCAwIDEycHggMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Q0JBO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA3MDk1O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbjpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzA5NTsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b246Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNztcbiAgICAgIGJvcmRlci1jb2xvcjogI2I5YjliOTtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YjliOTsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzM2OGE1NTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc3VjY2Vzczpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY4YTU1OyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uc3VjY2Vzczpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA0MTI0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2YyYTBlO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5hbGVydDpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NmMmEwZTsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLmFsZXJ0OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjZjZlMGU7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NmNmUwZTsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGEuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uaW5mbyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkM2U4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjFiNmQ5O1xuICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5pbmZvOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MWI2ZDk7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBhLmJ1dHRvbi5pbmZvOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYS5idXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Q0JBO1xuICAgIGJvcmRlci1jb2xvcjogIzAwNzA5NTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b246aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzA5NTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b246aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b246Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjliOWI5O1xuICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWI5Yjk7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG4gICAgICBib3JkZXItY29sb3I6ICMzNjhhNTU7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY4YTU1OyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA0MTI0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2YyYTBlO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uYWxlcnQ6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2YyYTBlOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0OmhvdmVyLCAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLndhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NmNmUwZTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLndhcm5pbmc6aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24ud2FybmluZzpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmluZm8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgICAgIGJvcmRlci1jb2xvcjogIzYxYjZkOTtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpID4gYnV0dG9uLmluZm86aG92ZXIsIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uaW5mbzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MWI2ZDk7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gdWwgbGkgPiBidXR0b24uaW5mbzpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSA+IGJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaTpob3Zlcjpub3QoLmhhcy1mb3JtKSA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZDogIzIyMjIyMjsgfVxuICAudG9wLWJhci1zZWN0aW9uIHVsIGxpLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMwMDhDQkE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpLmFjdGl2ZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzAwNzhhMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1mb3JtIHtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24gPiBhOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTQuNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBjbGlwOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24ubW92ZWQgPiBhOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogOTk7XG4gICAgbGVmdDogMTAwJTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZzogOHB4IDAuOTM3NXJlbTsgfVxuICAgICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSBhLnBhcmVudC1saW5rIHtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaS50aXRsZSBoNSwgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkucGFyZW50LWxpbmsge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLnRpdGxlIGg1IGEsIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpLnBhcmVudC1saW5rIGEge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkudGl0bGUgaDUgYTpob3ZlciwgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24gbGkucGFyZW50LWxpbmsgYTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaS5oYXMtZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwLjkzNzVyZW07IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIC5idXR0b24sXG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSBidXR0b24ge1xuICAgICAgICB0b3A6IGF1dG87IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsYWJlbCB7XG4gICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiA4cHggMC45Mzc1cmVtIDJweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmpzLWdlbmVyYXRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC50b3AtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgLnRvcC1iYXI6YmVmb3JlLCAudG9wLWJhcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnRvcC1iYXI6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAudG9wLWJhciAudG9nZ2xlLXRvcGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRvcC1iYXIgLnRpdGxlLWFyZWEge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAudG9wLWJhciAubmFtZSBoMSBhLFxuICAgIC50b3AtYmFyIC5uYW1lIGgyIGEsXG4gICAgLnRvcC1iYXIgLm5hbWUgaDMgYSxcbiAgICAudG9wLWJhciAubmFtZSBoNCBhLFxuICAgIC50b3AtYmFyIC5uYW1lIGg1IGEsXG4gICAgLnRvcC1iYXIgLm5hbWUgaDYgYSB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC50b3AtYmFyIGlucHV0LFxuICAgIC50b3AtYmFyIHNlbGVjdCxcbiAgICAudG9wLWJhciAuYnV0dG9uLFxuICAgIC50b3AtYmFyIGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwLjUzMTI1cmVtOyB9XG4gICAgLnRvcC1iYXIuZXhwYW5kZWQge1xuICAgICAgYmFja2dyb3VuZDogIzMzMzMzMzsgfVxuICAuY29udGFpbi10by1ncmlkIC50b3AtYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogOTByZW07IH1cbiAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAwIDA7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiB1bCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIHVsIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB1bCBsaSAuanMtZ2VuZXJhdGVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiBsaS5ob3ZlciA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIGxpOm5vdCguaGFzLWZvcm0pIGE6bm90KC5idXR0b24pIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gbGk6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiBsaS5hY3RpdmU6bm90KC5oYXMtZm9ybSkgYTpub3QoLmJ1dHRvbikge1xuICAgICAgYmFja2dyb3VuZDogIzAwOENCQTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIGxpLmFjdGl2ZTpub3QoLmhhcy1mb3JtKSBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDc4YTA7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NzVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duID4gYTphZnRlciB7XG4gICAgICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMi41cHg7XG4gICAgICAgIHRvcDogMS40MDYyNXJlbTsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5tb3ZlZCA+IC5kcm9wZG93biB7XG4gICAgICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bi5ob3ZlciA+IC5kcm9wZG93biwgLnRvcC1iYXItc2VjdGlvbiAuaGFzLWRyb3Bkb3duLm5vdC1jbGljazpob3ZlciA+IC5kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY2xpcDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24gPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBjbGlwOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93biAuZHJvcGRvd24gbGkuaGFzLWRyb3Bkb3duID4gYTphZnRlciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlxcMDBiYlwiO1xuICAgICAgdG9wOiAwLjE4NzVyZW07XG4gICAgICByaWdodDogNXB4OyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAuZHJvcGRvd24ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiBhdXRvOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDEycHggMC45Mzc1cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaTpub3QoLmhhcy1mb3JtKTpub3QoLmFjdGl2ZSkgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaTpub3QoLmhhcy1mb3JtKTpub3QoLmFjdGl2ZSk6aG92ZXIgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5kcm9wZG93biBsaSBsYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24gLmRyb3Bkb3duIGxpIC5kcm9wZG93biB7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gPiB1bCA+IC5kaXZpZGVyLFxuICAgIC50b3AtYmFyLXNlY3Rpb24gPiB1bCA+IFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICM0ZTRlNGU7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgICB3aWR0aDogMDsgfVxuICAgIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1mb3JtIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAucmlnaHQgbGkgLmRyb3Bkb3duIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDsgfVxuICAgICAgLnRvcC1iYXItc2VjdGlvbiAucmlnaHQgbGkgLmRyb3Bkb3duIGxpIC5kcm9wZG93biB7XG4gICAgICAgIHJpZ2h0OiAxMDAlOyB9XG4gICAgLnRvcC1iYXItc2VjdGlvbiAubGVmdCBsaSAuZHJvcGRvd24ge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICAudG9wLWJhci1zZWN0aW9uIC5sZWZ0IGxpIC5kcm9wZG93biBsaSAuZHJvcGRvd24ge1xuICAgICAgICBsZWZ0OiAxMDAlOyB9XG4gIC5uby1qcyAudG9wLWJhci1zZWN0aW9uIHVsIGxpOmhvdmVyID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5uby1qcyAudG9wLWJhci1zZWN0aW9uIHVsIGxpOmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMwMDhDQkE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm5vLWpzIC50b3AtYmFyLXNlY3Rpb24gLmhhcy1kcm9wZG93bjpob3ZlciA+IC5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG4gIC5uby1qcyAudG9wLWJhci1zZWN0aW9uIC5oYXMtZHJvcGRvd24gPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH0gfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAuc21hbGwtb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb25seS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiB7XG4gIC5zbWFsbC10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAuc21hbGwtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAuc21hbGwtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW9ubHktdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9ubHktdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA5MGVtKSB7XG4gIC5sYXJnZS1vbmx5LXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW9ubHktdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vbmx5LXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiAxMjBlbSkge1xuICAueGxhcmdlLW9ubHktdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnhsYXJnZS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnhsYXJnZS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAueGxhcmdlLW9ubHktdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNjI0OTk5OS45Mzc1ZW0pIHtcbiAgLnh4bGFyZ2Utb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAueHhsYXJnZS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2Utb25seS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2Utb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbi8qIFR5cG9ncmFwaHkgcmVzZXRzICovXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIERlZmF1bHQgTGluayBTdHlsZXMgKi9cbmEge1xuICBjb2xvcjogIzAwOENCQTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwNzhhMDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi8qIERlZmF1bHQgcGFyYWdyYXBoIHN0eWxlcyAqL1xucCB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgcC5sZWFkIHtcbiAgICBmb250LXNpemU6IDEuMjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICBwIGFzaWRlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogMS4zNTsgfVxuXG4vKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCBoMiBzbWFsbCwgaDMgc21hbGwsIGg0IHNtYWxsLCBoNSBzbWFsbCwgaDYgc21hbGwge1xuICAgIGNvbG9yOiAjNmY2ZjZmO1xuICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS42ODc1cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5zdWJoZWFkZXIge1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzZmNmY2ZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaHIge1xuICBib3JkZXI6IHNvbGlkICNEREREREQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgY2xlYXI6IGJvdGg7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIDAgMS4xODc1cmVtOyB9XG5cbi8qIEhlbHBmdWwgVHlwb2dyYXBoeSBEZWZhdWx0cyAqL1xuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA2MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBib3JkZXItY29sb3I6ICNkZmRmZGY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxuLyogTGlzdHMgKi9cbnVsLFxub2wsXG5kbCB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4xcmVtOyB9XG4gIHVsLm5vLWJ1bGxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICB1bC5uby1idWxsZXQgbGkgdWwsXG4gICAgdWwubm8tYnVsbGV0IGxpIG9sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogVW5vcmRlcmVkIExpc3RzICovXG51bCBsaSB1bCxcbnVsIGxpIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxudWwuc3F1YXJlIGxpIHVsLCB1bC5jaXJjbGUgbGkgdWwsIHVsLmRpc2MgbGkgdWwge1xuICBsaXN0LXN0eWxlOiBpbmhlcml0OyB9XG5cbnVsLnNxdWFyZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xuICBtYXJnaW4tbGVmdDogMS4xcmVtOyB9XG5cbnVsLmNpcmNsZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xuICBtYXJnaW4tbGVmdDogMS4xcmVtOyB9XG5cbnVsLmRpc2Mge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxLjFyZW07IH1cblxudWwubm8tYnVsbGV0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBPcmRlcmVkIExpc3RzICovXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjRyZW07IH1cbiAgb2wgbGkgdWwsXG4gIG9sIGxpIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIERlZmluaXRpb24gTGlzdHMgKi9cbmRsIGR0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kbCBkZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cblxuLyogQWJicmV2aWF0aW9ucyAqL1xuYWJicixcbmFjcm9ueW0ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICMyMjI7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5hYmJyIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI0RERERERDsgfVxuXG4vKiBNaWNyb2Zvcm1hdHMgKi9cbi52Y2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbSAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREREREO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtOyB9XG4gIC52Y2FyZCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC52Y2FyZCAuZm4ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi52ZXZlbnQgLnN1bW1hcnkge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udmV2ZW50IGFiYnIge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMCAwLjA2MjVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyLjc1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMzEyNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjY4NzVyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4ub2ZmLWNhbnZhcy13cmFwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtd3JhcC5tb3ZlLXJpZ2h0LCAub2ZmLWNhbnZhcy13cmFwLm1vdmUtbGVmdCB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLmlubmVyLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IC1tcy10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlOyB9XG4gIC5pbm5lci13cmFwOmJlZm9yZSwgLmlubmVyLXdyYXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5pbm5lci13cmFwOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFiLWJhciB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudGFiLWJhciBoMSwgLnRhYi1iYXIgaDIsIC50YWItYmFyIGgzLCAudGFiLWJhciBoNCwgLnRhYi1iYXIgaDUsIC50YWItYmFyIGg2IHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAudGFiLWJhciBoMSwgLnRhYi1iYXIgaDIsIC50YWItYmFyIGgzLCAudGFiLWJhciBoNCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4ubGVmdC1zbWFsbCB7XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIuODEyNXJlbTtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggIzFhMWExYTtcbiAgbGVmdDogMDsgfVxuXG4ucmlnaHQtc21hbGwge1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAyLjgxMjVyZW07XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggIzFhMWExYTtcbiAgcmlnaHQ6IDA7IH1cblxuLnRhYi1iYXItc2VjdGlvbiB7XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwOyB9XG4gIC50YWItYmFyLXNlY3Rpb24ubGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudGFiLWJhci1zZWN0aW9uLnJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAudGFiLWJhci1zZWN0aW9uLmxlZnQge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDIuODEyNXJlbTsgfVxuICAudGFiLWJhci1zZWN0aW9uLnJpZ2h0IHtcbiAgICBsZWZ0OiAyLjgxMjVyZW07XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnRhYi1iYXItc2VjdGlvbi5taWRkbGUge1xuICAgIGxlZnQ6IDIuODEyNXJlbTtcbiAgICByaWdodDogMi44MTI1cmVtOyB9XG5cbi50YWItYmFyIC5tZW51LWljb24ge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtaW5kZW50OiAyLjE4NzVyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHdpZHRoOiAyLjgxMjVyZW07IH1cbiAgLnRhYi1iYXIgLm1lbnUtaWNvbiBzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgbGVmdDogMC45MDYyNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCA3cHggMCAxcHggI0ZGRkZGRiwgMCAxNHB4IDAgMXB4ICNGRkZGRkY7XG4gICAgd2lkdGg6IDFyZW07IH1cbiAgLnRhYi1iYXIgLm1lbnUtaWNvbiBzcGFuOmhvdmVyOmFmdGVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2IzYjNiMywgMCA3cHggMCAxcHggI2IzYjNiMywgMCAxNHB4IDAgMXB4ICNiM2IzYjM7IH1cblxuLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlIDBzO1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICB6LWluZGV4OiAxMDAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgbGVmdDogMDsgfVxuICAubGVmdC1vZmYtY2FudmFzLW1lbnUgKiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSAwcztcbiAgd2lkdGg6IDE1LjYyNXJlbTtcbiAgei1pbmRleDogMTAwMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHJpZ2h0OiAwOyB9XG4gIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgKiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxudWwub2ZmLWNhbnZhcy1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDQ0NDQ0O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTVlNWU7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYyNjI2O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC42NjY2N3JlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7IH1cbiAgICB1bC5vZmYtY2FudmFzLWxpc3QgbGkgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjQyNDI0OyB9XG4gICAgdWwub2ZmLWNhbnZhcy1saXN0IGxpIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyNDI0MjQ7IH1cblxuLm1vdmUtcmlnaHQgPiAuaW5uZXItd3JhcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNS42MjVyZW0sIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUuNjI1cmVtLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDE1LjYyNXJlbSwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1LjYyNXJlbSwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUuNjI1cmVtLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNS42MjVyZW0sIDAsIDApOyB9XG5cbi5tb3ZlLXJpZ2h0IC5leGl0LW9mZi1jYW52YXMge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogLTRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSksIDRweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLm1vdmUtcmlnaHQgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH1cblxuLm1vdmUtbGVmdCA+IC5pbm5lci13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNS42MjVyZW0sIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1LjYyNXJlbSwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTUuNjI1cmVtLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1LjYyNXJlbSwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1LjYyNXJlbSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1LjYyNXJlbSwgMCwgMCk7IH1cblxuLm1vdmUtbGVmdCAuZXhpdC1vZmYtY2FudmFzIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5tb3ZlLWxlZnQgLmV4aXQtb2ZmLWNhbnZhczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9IH1cblxuLm9mZmNhbnZhcy1vdmVybGFwIC5sZWZ0LW9mZi1jYW52YXMtbWVudSwgLm9mZmNhbnZhcy1vdmVybGFwIC5yaWdodC1vZmYtY2FudmFzLW1lbnUge1xuICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAxMDAzOyB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcCAuZXhpdC1vZmYtY2FudmFzIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5vZmZjYW52YXMtb3ZlcmxhcCAuZXhpdC1vZmYtY2FudmFzOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH0gfVxuXG4ub2ZmY2FudmFzLW92ZXJsYXAtbGVmdCAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHtcbiAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAtby10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogMTAwMzsgfVxuXG4ub2ZmY2FudmFzLW92ZXJsYXAtbGVmdCAuZXhpdC1vZmYtY2FudmFzIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0IC5leGl0LW9mZi1jYW52YXM6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfSB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCAubGVmdC1vZmYtY2FudmFzLW1lbnUge1xuICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAxMDAzOyB9XG5cbi5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCAuZXhpdC1vZmYtY2FudmFzIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpLCA0cHggMCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1yaWdodCAuZXhpdC1vZmYtY2FudmFzOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH0gfVxuXG4ubm8tY3NzdHJhbnNmb3JtcyAubGVmdC1vZmYtY2FudmFzLW1lbnUge1xuICBsZWZ0OiAtMTUuNjI1cmVtOyB9XG5cbi5uby1jc3N0cmFuc2Zvcm1zIC5yaWdodC1vZmYtY2FudmFzLW1lbnUge1xuICByaWdodDogLTE1LjYyNXJlbTsgfVxuXG4ubm8tY3NzdHJhbnNmb3JtcyAubW92ZS1sZWZ0ID4gLmlubmVyLXdyYXAge1xuICByaWdodDogMTUuNjI1cmVtOyB9XG5cbi5uby1jc3N0cmFuc2Zvcm1zIC5tb3ZlLXJpZ2h0ID4gLmlubmVyLXdyYXAge1xuICBsZWZ0OiAxNS42MjVyZW07IH1cblxuLmxlZnQtc3VibWVudSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDE1LjYyNXJlbTtcbiAgei1pbmRleDogMTAwMjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIGxlZnQ6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7IH1cbiAgLmxlZnQtc3VibWVudSAqIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAubGVmdC1zdWJtZW51IC5iYWNrID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzQ0NDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlO1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuM3JlbSAwLjkzNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubGVmdC1zdWJtZW51IC5iYWNrID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzAzMDMwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlOyB9XG4gICAgLmxlZnQtc3VibWVudSAuYmFjayA+IGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxBQlwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAubGVmdC1zdWJtZW51Lm1vdmUtcmlnaHQsIC5sZWZ0LXN1Ym1lbnUub2ZmY2FudmFzLW92ZXJsYXAtcmlnaHQsIC5sZWZ0LXN1Ym1lbnUub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTsgfVxuXG4ucmlnaHQtc3VibWVudSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDE1LjYyNXJlbTtcbiAgei1pbmRleDogMTAwMjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHJpZ2h0OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IC1tcy10cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlOyB9XG4gIC5yaWdodC1zdWJtZW51ICoge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5yaWdodC1zdWJtZW51IC5iYWNrID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzQ0NDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWU1ZTVlO1xuICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuM3JlbSAwLjkzNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAucmlnaHQtc3VibWVudSAuYmFjayA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzMwMzAzMDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzVlNWU1ZTsgfVxuICAgIC5yaWdodC1zdWJtZW51IC5iYWNrID4gYTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcQkJcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAucmlnaHQtc3VibWVudS5tb3ZlLWxlZnQsIC5yaWdodC1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwLWxlZnQsIC5yaWdodC1zdWJtZW51Lm9mZmNhbnZhcy1vdmVybGFwIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7IH1cblxuLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcQkJcIjtcbiAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxBQlwiO1xuICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLyogc21hbGwgZGlzcGxheXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLnNob3ctZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLmhpZGUtZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5zaG93LWZvci1sYXJnZS1kb3duLCAuaGlkZS1mb3IteGxhcmdlLW9ubHksIC5oaWRlLWZvci14bGFyZ2UtdXAsIC5oaWRlLWZvci14bGFyZ2UsIC5zaG93LWZvci14bGFyZ2UtZG93biwgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIC5oaWRlLWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5oaWRlLWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuaGlkZS1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuc2hvdy1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLmhpZGUtZm9yLWxhcmdlLWRvd24sIC5zaG93LWZvci14bGFyZ2Utb25seSwgLnNob3ctZm9yLXhsYXJnZS11cCwgLnNob3ctZm9yLXhsYXJnZSwgLmhpZGUtZm9yLXhsYXJnZS1kb3duLCAuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteHhsYXJnZS11cCwgLnNob3ctZm9yLXh4bGFyZ2UsIC5oaWRlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAudmlzaWJsZS1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAudmlzaWJsZS1mb3Itc21hbGwsIC52aXNpYmxlLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAuaGlkZGVuLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLmhpZGRlbi1mb3ItbGFyZ2Utb25seSwgLmhpZGRlbi1mb3ItbGFyZ2UtdXAsIC5oaWRkZW4tZm9yLWxhcmdlLCAudmlzaWJsZS1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLmhpZGRlbi1mb3IteGxhcmdlLCAudmlzaWJsZS1mb3IteGxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXh4bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteHhsYXJnZS11cCwgLmhpZGRlbi1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG4gIC5oaWRkZW4tZm9yLXNtYWxsLW9ubHksIC5oaWRkZW4tZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAudmlzaWJsZS1mb3ItbWVkaXVtLXVwLCAudmlzaWJsZS1mb3ItbWVkaXVtLCAuaGlkZGVuLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLnZpc2libGUtZm9yLWxhcmdlLCAuaGlkZGVuLWZvci1sYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14bGFyZ2UsIC5oaWRkZW4tZm9yLXhsYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteHhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteHhsYXJnZS11cCwgLnZpc2libGUtZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDsgfVxuICB0YWJsZS5zaG93LWZvci1zbWFsbC1vbmx5LCB0YWJsZS5zaG93LWZvci1zbWFsbC11cCwgdGFibGUuc2hvdy1mb3Itc21hbGwsIHRhYmxlLnNob3ctZm9yLXNtYWxsLWRvd24sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tdXAsIHRhYmxlLmhpZGUtZm9yLW1lZGl1bSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRhYmxlLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLWxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci1sYXJnZSwgdGFibGUuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteGxhcmdlLCB0YWJsZS5zaG93LWZvci14bGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLnNob3ctZm9yLXNtYWxsLCB0aGVhZC5zaG93LWZvci1zbWFsbC1kb3duLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLXVwLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0sIHRoZWFkLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci1sYXJnZS11cCwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UsIHRoZWFkLnNob3ctZm9yLWxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuc2hvdy1mb3Itc21hbGwsIHRib2R5LnNob3ctZm9yLXNtYWxsLWRvd24sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tdXAsIHRib2R5LmhpZGUtZm9yLW1lZGl1bSwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRib2R5LmhpZGUtZm9yLWxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLWxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci1sYXJnZSwgdGJvZHkuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLCB0Ym9keS5zaG93LWZvci14bGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXNtYWxsLW9ubHksIHRyLnNob3ctZm9yLXNtYWxsLXVwLCB0ci5zaG93LWZvci1zbWFsbCwgdHIuc2hvdy1mb3Itc21hbGwtZG93biwgdHIuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRyLmhpZGUtZm9yLW1lZGl1bS11cCwgdHIuaGlkZS1mb3ItbWVkaXVtLCB0ci5zaG93LWZvci1tZWRpdW0tZG93biwgdHIuaGlkZS1mb3ItbGFyZ2Utb25seSwgdHIuaGlkZS1mb3ItbGFyZ2UtdXAsIHRyLmhpZGUtZm9yLWxhcmdlLCB0ci5zaG93LWZvci1sYXJnZS1kb3duLCB0ci5oaWRlLWZvci14bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteGxhcmdlLXVwLCB0ci5oaWRlLWZvci14bGFyZ2UsIHRyLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ci5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXh4bGFyZ2UsIHRyLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIHRoLnNob3ctZm9yLXNtYWxsLW9ubHksIHRkLnNob3ctZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguc2hvdy1mb3Itc21hbGwsIHRkLnNob3ctZm9yLXNtYWxsLCB0aC5zaG93LWZvci1zbWFsbC1kb3duLCB0ZC5zaG93LWZvci1zbWFsbC1kb3duLCB0aC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoLmhpZGUtZm9yLW1lZGl1bS11cCwgdGQuaGlkZS1mb3ItbWVkaXVtLXVwLCB0aC5oaWRlLWZvci1tZWRpdW0sIHRkLmhpZGUtZm9yLW1lZGl1bSwgdGguc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRkLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0aC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aC5oaWRlLWZvci1sYXJnZS11cCwgdGQuaGlkZS1mb3ItbGFyZ2UtdXAsIHRoLmhpZGUtZm9yLWxhcmdlLCB0ZC5oaWRlLWZvci1sYXJnZSwgdGguc2hvdy1mb3ItbGFyZ2UtZG93biwgdGQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGguaGlkZS1mb3IteGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGguaGlkZS1mb3IteGxhcmdlLCB0ZC5oaWRlLWZvci14bGFyZ2UsIHRoLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGguaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXh4bGFyZ2UsIHRkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBtZWRpdW0gZGlzcGxheXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5zaG93LWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLnNob3ctZm9yLW1lZGl1bSwgLnNob3ctZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLmhpZGUtZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5zaG93LWZvci1sYXJnZS1kb3duLCAuaGlkZS1mb3IteGxhcmdlLW9ubHksIC5oaWRlLWZvci14bGFyZ2UtdXAsIC5oaWRlLWZvci14bGFyZ2UsIC5zaG93LWZvci14bGFyZ2UtZG93biwgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIC5oaWRlLWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5oaWRlLWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuaGlkZS1mb3ItbWVkaXVtLCAuaGlkZS1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuc2hvdy1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLmhpZGUtZm9yLWxhcmdlLWRvd24sIC5zaG93LWZvci14bGFyZ2Utb25seSwgLnNob3ctZm9yLXhsYXJnZS11cCwgLnNob3ctZm9yLXhsYXJnZSwgLmhpZGUtZm9yLXhsYXJnZS1kb3duLCAuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteHhsYXJnZS11cCwgLnNob3ctZm9yLXh4bGFyZ2UsIC5oaWRlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAudmlzaWJsZS1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLmhpZGRlbi1mb3ItbGFyZ2Utb25seSwgLmhpZGRlbi1mb3ItbGFyZ2UtdXAsIC5oaWRkZW4tZm9yLWxhcmdlLCAudmlzaWJsZS1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLmhpZGRlbi1mb3IteGxhcmdlLCAudmlzaWJsZS1mb3IteGxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXh4bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteHhsYXJnZS11cCwgLmhpZGRlbi1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC5oaWRkZW4tZm9yLW1lZGl1bS11cCwgLmhpZGRlbi1mb3ItbWVkaXVtLCAuaGlkZGVuLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLnZpc2libGUtZm9yLWxhcmdlLCAuaGlkZGVuLWZvci1sYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14bGFyZ2UsIC5oaWRkZW4tZm9yLXhsYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteHhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteHhsYXJnZS11cCwgLnZpc2libGUtZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDsgfVxuICB0YWJsZS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0YWJsZS5zaG93LWZvci1zbWFsbC11cCwgdGFibGUuaGlkZS1mb3Itc21hbGwsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRhYmxlLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0YWJsZS5zaG93LWZvci1tZWRpdW0tdXAsIHRhYmxlLnNob3ctZm9yLW1lZGl1bSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRhYmxlLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLWxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci1sYXJnZSwgdGFibGUuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteGxhcmdlLCB0YWJsZS5zaG93LWZvci14bGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuaGlkZS1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLCB0aGVhZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aGVhZC5zaG93LWZvci1tZWRpdW0tb25seSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aGVhZC5zaG93LWZvci1tZWRpdW0sIHRoZWFkLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci1sYXJnZS11cCwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UsIHRoZWFkLnNob3ctZm9yLWxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuaGlkZS1mb3Itc21hbGwsIHRib2R5LmhpZGUtZm9yLXNtYWxsLWRvd24sIHRib2R5LnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5zaG93LWZvci1tZWRpdW0tdXAsIHRib2R5LnNob3ctZm9yLW1lZGl1bSwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRib2R5LmhpZGUtZm9yLWxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLWxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci1sYXJnZSwgdGJvZHkuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLCB0Ym9keS5zaG93LWZvci14bGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRyLnNob3ctZm9yLXNtYWxsLXVwLCB0ci5oaWRlLWZvci1zbWFsbCwgdHIuaGlkZS1mb3Itc21hbGwtZG93biwgdHIuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRyLnNob3ctZm9yLW1lZGl1bS11cCwgdHIuc2hvdy1mb3ItbWVkaXVtLCB0ci5zaG93LWZvci1tZWRpdW0tZG93biwgdHIuaGlkZS1mb3ItbGFyZ2Utb25seSwgdHIuaGlkZS1mb3ItbGFyZ2UtdXAsIHRyLmhpZGUtZm9yLWxhcmdlLCB0ci5zaG93LWZvci1sYXJnZS1kb3duLCB0ci5oaWRlLWZvci14bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteGxhcmdlLXVwLCB0ci5oaWRlLWZvci14bGFyZ2UsIHRyLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ci5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXh4bGFyZ2UsIHRyLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIHRoLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguaGlkZS1mb3Itc21hbGwsIHRkLmhpZGUtZm9yLXNtYWxsLCB0aC5oaWRlLWZvci1zbWFsbC1kb3duLCB0ZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aC5zaG93LWZvci1tZWRpdW0tb25seSwgdGQuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRoLnNob3ctZm9yLW1lZGl1bS11cCwgdGQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aC5zaG93LWZvci1tZWRpdW0sIHRkLnNob3ctZm9yLW1lZGl1bSwgdGguc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRkLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0aC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aC5oaWRlLWZvci1sYXJnZS11cCwgdGQuaGlkZS1mb3ItbGFyZ2UtdXAsIHRoLmhpZGUtZm9yLWxhcmdlLCB0ZC5oaWRlLWZvci1sYXJnZSwgdGguc2hvdy1mb3ItbGFyZ2UtZG93biwgdGQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGguaGlkZS1mb3IteGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGguaGlkZS1mb3IteGxhcmdlLCB0ZC5oaWRlLWZvci14bGFyZ2UsIHRoLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGguaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXh4bGFyZ2UsIHRkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBsYXJnZSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuaGlkZS1mb3ItbWVkaXVtLCAuaGlkZS1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuc2hvdy1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuc2hvdy1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5zaG93LWZvci1tZWRpdW0sIC5zaG93LWZvci1tZWRpdW0tZG93biwgLmhpZGUtZm9yLWxhcmdlLW9ubHksIC5oaWRlLWZvci1sYXJnZS11cCwgLmhpZGUtZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5oaWRkZW4tZm9yLXNtYWxsLW9ubHksIC52aXNpYmxlLWZvci1zbWFsbC11cCwgLmhpZGRlbi1mb3Itc21hbGwsIC5oaWRkZW4tZm9yLXNtYWxsLWRvd24sIC5oaWRkZW4tZm9yLW1lZGl1bS1vbmx5LCAudmlzaWJsZS1mb3ItbWVkaXVtLXVwLCAuaGlkZGVuLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87IH1cbiAgLnZpc2libGUtZm9yLXNtYWxsLW9ubHksIC5oaWRkZW4tZm9yLXNtYWxsLXVwLCAudmlzaWJsZS1mb3Itc21hbGwsIC52aXNpYmxlLWZvci1zbWFsbC1kb3duLCAudmlzaWJsZS1mb3ItbWVkaXVtLW9ubHksIC5oaWRkZW4tZm9yLW1lZGl1bS11cCwgLnZpc2libGUtZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4OyB9XG4gIHRhYmxlLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5oaWRlLWZvci1zbWFsbCwgdGFibGUuaGlkZS1mb3Itc21hbGwtZG93biwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLnNob3ctZm9yLW1lZGl1bS11cCwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tZG93biwgdGFibGUuc2hvdy1mb3ItbGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3ItbGFyZ2UtdXAsIHRhYmxlLnNob3ctZm9yLWxhcmdlLCB0YWJsZS5zaG93LWZvci1sYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuaGlkZS1mb3Itc21hbGwsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoZWFkLmhpZGUtZm9yLW1lZGl1bSwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLnNob3ctZm9yLWxhcmdlLW9ubHksIHRoZWFkLnNob3ctZm9yLWxhcmdlLXVwLCB0aGVhZC5zaG93LWZvci1sYXJnZSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LmhpZGUtZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5oaWRlLWZvci1zbWFsbCwgdGJvZHkuaGlkZS1mb3Itc21hbGwtZG93biwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRib2R5LnNob3ctZm9yLW1lZGl1bS11cCwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tZG93biwgdGJvZHkuc2hvdy1mb3ItbGFyZ2Utb25seSwgdGJvZHkuc2hvdy1mb3ItbGFyZ2UtdXAsIHRib2R5LnNob3ctZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuaGlkZS1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLmhpZGUtZm9yLXNtYWxsLCB0ci5oaWRlLWZvci1zbWFsbC1kb3duLCB0ci5oaWRlLWZvci1tZWRpdW0tb25seSwgdHIuc2hvdy1mb3ItbWVkaXVtLXVwLCB0ci5oaWRlLWZvci1tZWRpdW0sIHRyLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ci5zaG93LWZvci1sYXJnZS1vbmx5LCB0ci5zaG93LWZvci1sYXJnZS11cCwgdHIuc2hvdy1mb3ItbGFyZ2UsIHRyLnNob3ctZm9yLWxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgdGguaGlkZS1mb3Itc21hbGwtb25seSwgdGQuaGlkZS1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5oaWRlLWZvci1zbWFsbCwgdGQuaGlkZS1mb3Itc21hbGwsIHRoLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGguc2hvdy1mb3ItbWVkaXVtLXVwLCB0ZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoLmhpZGUtZm9yLW1lZGl1bSwgdGQuaGlkZS1mb3ItbWVkaXVtLCB0aC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGQuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRoLnNob3ctZm9yLWxhcmdlLW9ubHksIHRkLnNob3ctZm9yLWxhcmdlLW9ubHksIHRoLnNob3ctZm9yLWxhcmdlLXVwLCB0ZC5zaG93LWZvci1sYXJnZS11cCwgdGguc2hvdy1mb3ItbGFyZ2UsIHRkLnNob3ctZm9yLWxhcmdlLCB0aC5zaG93LWZvci1sYXJnZS1kb3duLCB0ZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXhsYXJnZS11cCwgdGQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aC5oaWRlLWZvci14bGFyZ2UsIHRkLmhpZGUtZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbi8qIHhsYXJnZSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuaGlkZS1mb3ItbWVkaXVtLCAuaGlkZS1mb3ItbWVkaXVtLWRvd24sIC5oaWRlLWZvci1sYXJnZS1vbmx5LCAuc2hvdy1mb3ItbGFyZ2UtdXAsIC5oaWRlLWZvci1sYXJnZSwgLmhpZGUtZm9yLWxhcmdlLWRvd24sIC5zaG93LWZvci14bGFyZ2Utb25seSwgLnNob3ctZm9yLXhsYXJnZS11cCwgLnNob3ctZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuc2hvdy1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5zaG93LWZvci1tZWRpdW0sIC5zaG93LWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5oaWRlLWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuc2hvdy1mb3ItbGFyZ2UtZG93biwgLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteGxhcmdlLXVwLCAuaGlkZS1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5oaWRkZW4tZm9yLXNtYWxsLW9ubHksIC52aXNpYmxlLWZvci1zbWFsbC11cCwgLmhpZGRlbi1mb3Itc21hbGwsIC5oaWRkZW4tZm9yLXNtYWxsLWRvd24sIC5oaWRkZW4tZm9yLW1lZGl1bS1vbmx5LCAudmlzaWJsZS1mb3ItbWVkaXVtLXVwLCAuaGlkZGVuLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAudmlzaWJsZS1mb3ItbGFyZ2UtdXAsIC5oaWRkZW4tZm9yLWxhcmdlLCAuaGlkZGVuLWZvci1sYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87IH1cbiAgLnZpc2libGUtZm9yLXNtYWxsLW9ubHksIC5oaWRkZW4tZm9yLXNtYWxsLXVwLCAudmlzaWJsZS1mb3Itc21hbGwsIC52aXNpYmxlLWZvci1zbWFsbC1kb3duLCAudmlzaWJsZS1mb3ItbWVkaXVtLW9ubHksIC5oaWRkZW4tZm9yLW1lZGl1bS11cCwgLnZpc2libGUtZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLmhpZGRlbi1mb3ItbGFyZ2UtdXAsIC52aXNpYmxlLWZvci1sYXJnZSwgLnZpc2libGUtZm9yLWxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4OyB9XG4gIHRhYmxlLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5oaWRlLWZvci1zbWFsbCwgdGFibGUuaGlkZS1mb3Itc21hbGwtZG93biwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLnNob3ctZm9yLW1lZGl1bS11cCwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tZG93biwgdGFibGUuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3ItbGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1kb3duLCB0YWJsZS5zaG93LWZvci14bGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLXVwLCB0YWJsZS5zaG93LWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuaGlkZS1mb3Itc21hbGwsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoZWFkLmhpZGUtZm9yLW1lZGl1bSwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoZWFkLnNob3ctZm9yLWxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci1sYXJnZSwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLW9ubHksIHRoZWFkLnNob3ctZm9yLXhsYXJnZS11cCwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LmhpZGUtZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5oaWRlLWZvci1zbWFsbCwgdGJvZHkuaGlkZS1mb3Itc21hbGwtZG93biwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRib2R5LnNob3ctZm9yLW1lZGl1bS11cCwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tZG93biwgdGJvZHkuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGJvZHkuc2hvdy1mb3ItbGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLWxhcmdlLCB0Ym9keS5oaWRlLWZvci1sYXJnZS1kb3duLCB0Ym9keS5zaG93LWZvci14bGFyZ2Utb25seSwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLXVwLCB0Ym9keS5zaG93LWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuaGlkZS1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLmhpZGUtZm9yLXNtYWxsLCB0ci5oaWRlLWZvci1zbWFsbC1kb3duLCB0ci5oaWRlLWZvci1tZWRpdW0tb25seSwgdHIuc2hvdy1mb3ItbWVkaXVtLXVwLCB0ci5oaWRlLWZvci1tZWRpdW0sIHRyLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ci5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ci5zaG93LWZvci1sYXJnZS11cCwgdHIuaGlkZS1mb3ItbGFyZ2UsIHRyLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRyLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0ci5zaG93LWZvci14bGFyZ2UtdXAsIHRyLnNob3ctZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgdGguaGlkZS1mb3Itc21hbGwtb25seSwgdGQuaGlkZS1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5oaWRlLWZvci1zbWFsbCwgdGQuaGlkZS1mb3Itc21hbGwsIHRoLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGguc2hvdy1mb3ItbWVkaXVtLXVwLCB0ZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoLmhpZGUtZm9yLW1lZGl1bSwgdGQuaGlkZS1mb3ItbWVkaXVtLCB0aC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGQuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRoLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoLnNob3ctZm9yLWxhcmdlLXVwLCB0ZC5zaG93LWZvci1sYXJnZS11cCwgdGguaGlkZS1mb3ItbGFyZ2UsIHRkLmhpZGUtZm9yLWxhcmdlLCB0aC5oaWRlLWZvci1sYXJnZS1kb3duLCB0ZC5oaWRlLWZvci1sYXJnZS1kb3duLCB0aC5zaG93LWZvci14bGFyZ2Utb25seSwgdGQuc2hvdy1mb3IteGxhcmdlLW9ubHksIHRoLnNob3ctZm9yLXhsYXJnZS11cCwgdGQuc2hvdy1mb3IteGxhcmdlLXVwLCB0aC5zaG93LWZvci14bGFyZ2UsIHRkLnNob3ctZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbi8qIHh4bGFyZ2UgZGlzcGxheXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLnNob3ctZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLmhpZGUtZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLmhpZGUtZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuaGlkZS1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5zaG93LWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLnNob3ctZm9yLW1lZGl1bSwgLnNob3ctZm9yLW1lZGl1bS1kb3duLCAuc2hvdy1mb3ItbGFyZ2Utb25seSwgLmhpZGUtZm9yLWxhcmdlLXVwLCAuc2hvdy1mb3ItbGFyZ2UsIC5zaG93LWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5oaWRlLWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5zaG93LWZvci14bGFyZ2UtZG93biwgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIC5oaWRlLWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC5oaWRkZW4tZm9yLXhsYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteHhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteHhsYXJnZS11cCwgLnZpc2libGUtZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bzsgfVxuICAudmlzaWJsZS1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAudmlzaWJsZS1mb3ItbWVkaXVtLCAudmlzaWJsZS1mb3ItbWVkaXVtLWRvd24sIC52aXNpYmxlLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLnZpc2libGUtZm9yLWxhcmdlLCAudmlzaWJsZS1mb3ItbGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAuaGlkZGVuLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgdGFibGUuaGlkZS1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLCB0YWJsZS5oaWRlLWZvci1zbWFsbC1kb3duLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLXVwLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci1sYXJnZS11cCwgdGFibGUuaGlkZS1mb3ItbGFyZ2UsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci14bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXhsYXJnZSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS11cCwgdGFibGUuc2hvdy1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5oaWRlLWZvci1zbWFsbCwgdGhlYWQuaGlkZS1mb3Itc21hbGwtZG93biwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLnNob3ctZm9yLW1lZGl1bS11cCwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGhlYWQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14bGFyZ2UsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLW9ubHksIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3Itc21hbGwtb25seSwgdGJvZHkuc2hvdy1mb3Itc21hbGwtdXAsIHRib2R5LmhpZGUtZm9yLXNtYWxsLCB0Ym9keS5oaWRlLWZvci1zbWFsbC1kb3duLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLXVwLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0Ym9keS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci1sYXJnZS11cCwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UsIHRib2R5LmhpZGUtZm9yLWxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci14bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXhsYXJnZSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRib2R5LnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS11cCwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuaGlkZS1mb3Itc21hbGwsIHRyLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRyLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ci5zaG93LWZvci1tZWRpdW0tdXAsIHRyLmhpZGUtZm9yLW1lZGl1bSwgdHIuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRyLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRyLnNob3ctZm9yLWxhcmdlLXVwLCB0ci5oaWRlLWZvci1sYXJnZSwgdHIuaGlkZS1mb3ItbGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRyLnNob3ctZm9yLXhsYXJnZS11cCwgdHIuaGlkZS1mb3IteGxhcmdlLCB0ci5oaWRlLWZvci14bGFyZ2UtZG93biwgdHIuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0ci5zaG93LWZvci14eGxhcmdlLXVwLCB0ci5zaG93LWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0aC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLmhpZGUtZm9yLXNtYWxsLCB0ZC5oaWRlLWZvci1zbWFsbCwgdGguaGlkZS1mb3Itc21hbGwtZG93biwgdGQuaGlkZS1mb3Itc21hbGwtZG93biwgdGguaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aC5zaG93LWZvci1tZWRpdW0tdXAsIHRkLnNob3ctZm9yLW1lZGl1bS11cCwgdGguaGlkZS1mb3ItbWVkaXVtLCB0ZC5oaWRlLWZvci1tZWRpdW0sIHRoLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGguaGlkZS1mb3ItbGFyZ2Utb25seSwgdGQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGguc2hvdy1mb3ItbGFyZ2UtdXAsIHRkLnNob3ctZm9yLWxhcmdlLXVwLCB0aC5oaWRlLWZvci1sYXJnZSwgdGQuaGlkZS1mb3ItbGFyZ2UsIHRoLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGguc2hvdy1mb3IteGxhcmdlLXVwLCB0ZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXhsYXJnZSwgdGQuaGlkZS1mb3IteGxhcmdlLCB0aC5oaWRlLWZvci14bGFyZ2UtZG93biwgdGQuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRoLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGQuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0aC5zaG93LWZvci14eGxhcmdlLXVwLCB0ZC5zaG93LWZvci14eGxhcmdlLXVwLCB0aC5zaG93LWZvci14eGxhcmdlLCB0ZC5zaG93LWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLyogT3JpZW50YXRpb24gdGFyZ2V0aW5nICovXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG50YWJsZS5oaWRlLWZvci1sYW5kc2NhcGUsIHRhYmxlLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuXG50aGVhZC5oaWRlLWZvci1sYW5kc2NhcGUsIHRoZWFkLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cblxudGJvZHkuaGlkZS1mb3ItbGFuZHNjYXBlLCB0Ym9keS5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG5cbnRyLmhpZGUtZm9yLWxhbmRzY2FwZSwgdHIuc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuXG50ZC5oaWRlLWZvci1sYW5kc2NhcGUsIHRkLnNob3ctZm9yLXBvcnRyYWl0LFxudGguaGlkZS1mb3ItbGFuZHNjYXBlLFxudGguc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgdGFibGUuc2hvdy1mb3ItbGFuZHNjYXBlLCB0YWJsZS5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1sYW5kc2NhcGUsIHRoZWFkLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1sYW5kc2NhcGUsIHRib2R5LmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1sYW5kc2NhcGUsIHRyLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1sYW5kc2NhcGUsIHRkLmhpZGUtZm9yLXBvcnRyYWl0LFxuICB0aC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIHRoLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLnNob3ctZm9yLXBvcnRyYWl0LFxuICAuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXBvcnRyYWl0LFxuICAuc2hvdy1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlLnNob3ctZm9yLXBvcnRyYWl0LCB0YWJsZS5oaWRlLWZvci1sYW5kc2NhcGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcG9ydHJhaXQsIHRoZWFkLmhpZGUtZm9yLWxhbmRzY2FwZSB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcG9ydHJhaXQsIHRib2R5LmhpZGUtZm9yLWxhbmRzY2FwZSB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcG9ydHJhaXQsIHRyLmhpZGUtZm9yLWxhbmRzY2FwZSB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcG9ydHJhaXQsIHRkLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgdGguc2hvdy1mb3ItcG9ydHJhaXQsXG4gIHRoLmhpZGUtZm9yLWxhbmRzY2FwZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXG4uc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCAuc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIC5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbnRhYmxlLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuXG4udG91Y2ggdGFibGUuc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbnRoZWFkLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cblxudGJvZHkuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuXG4udG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuXG50ci5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0ci5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG5cbnRkLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG50aC5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4udG91Y2ggdGguc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuLyogU2NyZWVuIHJlYWRlci1zcGVjaWZpYyBjbGFzc2VzICovXG4uc2hvdy1mb3Itc3Ige1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDsgfVxuXG4uc2hvdy1vbi1mb2N1cyB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4OyB9XG4gIC5zaG93LW9uLWZvY3VzOmZvY3VzLCAuc2hvdy1vbi1mb2N1czphY3RpdmUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bzsgfVxuXG4vKlxuICAgICAgICogUHJpbnQgc3R5bGVzLlxuICAgICAgICpcbiAgICAgICAqIElubGluZWQgdG8gYXZvaWQgcmVxdWlyZWQgSFRUUCBjb25uZWN0aW9uOiB3d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgICAgICogQ3JlZGl0IHRvIFBhdWwgSXJpc2ggYW5kIEhUTUw1IEJvaWxlcnBsYXRlIChodG1sNWJvaWxlcnBsYXRlLmNvbSlcbiAgICAgICovXG4ucHJpbnQtb25seSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgIC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3MgKi9cbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgcHJlIHtcbiAgICBwYWRkaW5nOiAyNXB4IDBweCAyNXB4IDUwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gICAgY29sb3I6ICM0MDhDRkY7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgLyogaDVicC5jb20vdCAqLyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5oaWRlLW9uLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnByaW50LW9ubHkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBQcmludCB2aXNpYmlsaXR5ICovXG5AbWVkaWEgcHJpbnQge1xuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgbm90IHByaW50IHtcbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiB1cmwoXCIuLi9pY29tb29uL2ZvbnRzL2ljb21vb24uZW90PzMwdGR2OVwiKTtcbiAgc3JjOiB1cmwoXCIuLi9pY29tb29uL2ZvbnRzL2ljb21vb24uZW90PzMwdGR2OSNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vaWNvbW9vbi9mb250cy9pY29tb29uLnR0Zj8zMHRkdjlcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ljb21vb24vZm9udHMvaWNvbW9vbi53b2ZmPzMwdGR2OVwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9pY29tb29uL2ZvbnRzL2ljb21vb24uc3ZnPzMwdGR2OSNpY29tb29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5ldmVyO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uaWNvbi1lbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMlwiOyB9XG5cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMVwiOyB9XG5cbi5pY29uLWNhcnJvdF9sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7IH1cblxuLmljb24tY2Fycm90X3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEwXCI7IH1cblxuLmljb24tY2Fycm90X3JpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7IH1cblxuLmljb24taWNvbl9ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7IH1cblxuLmljb24tbWFya2V0c19hY2FkZW1pYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMlwiOyB9XG5cbi5pY29uLW1hcmtldHNfYXZpYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjsgfVxuXG4uaWNvbi1tYXJrZXRzX2NpdmljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7IH1cblxuLmljb24tbWFya2V0c19jb21tZXJjaWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA1XCI7IH1cblxuLmljb24tbWFya2V0c19kZXNpZ25fYnVpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjsgfVxuXG4uaWNvbi1tYXJrZXRzX2hpc3RvcmljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7IH1cblxuLmljb24tbWFya2V0c19pbnRlcmlvcl9kZXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjsgfVxuXG4uaWNvbi1tYXJrZXRzX25ldF9wb3NpdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOVwiOyB9XG5cbi5pY29uLXNvY2lhbF9mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYVwiOyB9XG5cbi5pY29uLXNvY2lhbF9pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGJcIjsgfVxuXG4uaWNvbi1zb2NpYWxfbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGNcIjsgfVxuXG4uaWNvbi1zb2NpYWxfdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiOyB9XG5cbi5pY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRkYgTWV0YSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9tZXRhX25vcm1hbF9sZl9yb21hbi13ZWJmb250LndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRkYgTWV0YSc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9tZXRhX25vcm1hbF9sZl9pdGFsaWMtd2ViZm9udC53b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZGIE1ldGEnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbWV0YV9tZWRpdW1fbGZfcm9tYW4td2ViZm9udC53b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZGIE1ldGEnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbWV0YV9tZWRpdW1fbGZfaXRhbGljLXdlYmZvbnQud29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGRiBNZXRhJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL21ldGFfYm9sZF9sZl9yb21hbi13ZWJmb250LndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRkYgTWV0YSc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9tZXRhX2JvbGRfbGZfaXRhbGljLXdlYmZvbnQud29mZlwiKTsgfVxuXG4qIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC8qIENocm9tZSwgU2FmYXJpICovXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC8qIEZpcmVmb3ggKi8gfVxuXG5wIHtcbiAgZm9udC1mYW1pbHk6IFwiRkYgTWV0YVwiLCBIZWx2ZXRpY2FOZXVlLUxpZ2h0LCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgcC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICBwLnNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgcC5pbnRybyB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgcC5pbnRybyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuXG5zcGFuLndvcmQtaGlnaGxpZ2h0IHtcbiAgZm9udC1zaXplOiA4OCU7XG4gIGNvbG9yOiAjMjMxZjIwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbmRsLCBvbCwgdWwge1xuICBmb250LWZhbWlseTogXCJGRiBNZXRhXCIsIEhlbHZldGljYU5ldWUtTGlnaHQsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgZGwsIG9sLCB1bCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuYTpub3QoLmJ1dHRvbikge1xuICBmb250LWZhbWlseTogXCJGRiBNZXRhXCIsIEhlbHZldGljYU5ldWUtTGlnaHQsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAubm8tdG91Y2ggYTpub3QoLmJ1dHRvbikge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dDsgfVxuICBhOm5vdCguYnV0dG9uKTpsaW5rLCBhOm5vdCguYnV0dG9uKTp2aXNpdGVkIHtcbiAgICBjb2xvcjogI2ZhNDYxNjsgfVxuICBhOm5vdCguYnV0dG9uKTpob3ZlciwgYTpub3QoLmJ1dHRvbik6YWN0aXZlIHtcbiAgICBjb2xvcjogIzYzNjQ2NjsgfVxuXG5hW2Rpc2FibGVkPVwiZGlzYWJsZWRcIl06bm90KC5idXR0b24pIHtcbiAgY29sb3I6ICM5ZDlmYTE7IH1cblxuYS5mYW5jeS1saW5rIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICBhLmZhbmN5LWxpbms6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IHJpZ2h0IC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBhLmZhbmN5LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjNjM2NDY2OyB9XG4gICAgYS5mYW5jeS1saW5rOmhvdmVyOjphZnRlciB7XG4gICAgICByaWdodDogMDsgfVxuXG4jYm9keSBibG9ja3F1b3RlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDRUNFQ0U7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0VDRUNFO1xuICBtYXJnaW46IDJyZW0gMDtcbiAgcGFkZGluZzogMjVweDsgfVxuICAjYm9keSBibG9ja3F1b3RlID4gcCB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICM0MDhjZmY7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNDRUNFQ0U7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0NFQ0VDRTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAjYm9keSBibG9ja3F1b3RlID4gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAjYm9keSBibG9ja3F1b3RlIGNpdGUsXG4gICNib2R5IGJsb2NrcXVvdGUgY2l0ZSBwLFxuICAjYm9keSBibG9ja3F1b3RlIHAuY2l0ZSB7XG4gICAgY29sb3I6ICM0MDhjZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIG1hcmdpbi10b3A6IC43NXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICNib2R5IGJsb2NrcXVvdGUgY2l0ZSxcbiAgICAgICNib2R5IGJsb2NrcXVvdGUgY2l0ZSBwLFxuICAgICAgI2JvZHkgYmxvY2txdW90ZSBwLmNpdGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtOyB9IH1cbiAgaDEucGFnZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICBoMS5wYWdlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjYyNXJlbTsgfSB9XG4gIGgxLnByb2plY3QtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuaDIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuICBoMi5wYWdlLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgaDYge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH0gfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMyMzFmMjA7XG4gIGZvbnQtZmFtaWx5OiBcIkZGIE1ldGFcIiwgSGVsdmV0aWNhTmV1ZS1MaWdodCwgXCJIZWx2ZXRpY2EgTmV1ZSBMaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IC43NXJlbSAwIC4yNXJlbTsgfVxuICBoMS5jZW50ZXIsIGgyLmNlbnRlciwgaDMuY2VudGVyLCBoNC5jZW50ZXIsIGg1LmNlbnRlciwgaDYuY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmhlYWRpbmctdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uaG9tZS1wYWdlLXRpdGxlIHtcbiAgZm9udC1zaXplOiA3NXB4OyB9XG5cbi8qIEZvdW5kYXRpb24gT3ZlcnJpZGVzICovXG4ucmV2ZWFsLW1vZGFsIHtcbiAgbWluLWhlaWdodDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBwYWRkaW5nOiAycmVtO1xuICBib3JkZXI6IDBweCBzb2xpZCAjNjY2OyB9XG4gIC5yZXZlYWwtbW9kYWwgLmZsZXgtdmlkZW8ge1xuICAgIG1hcmdpbjogMDsgfVxuICAucmV2ZWFsLW1vZGFsIC5jbG9zZS1yZXZlYWwtbW9kYWwge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbmJvZHkge1xuICBtYXJnaW4tdG9wOiA5MHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICBib2R5IHtcbiAgICBtYXJnaW4tdG9wOiA3MnB4OyB9IH1cblxuI3NpdGVfaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC8qIE9MRCAtIGlPUyA2LSwgU2FmYXJpIDMuMS02ICovXG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICAvKiBPTEQgLSBGaXJlZm94IDE5LSAoYnVnZ3kgYnV0IG1vc3RseSB3b3JrcykgKi9cbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIC8qIFRXRUVORVIgLSBJRSAxMCAqL1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIC8qIE5FVyAtIENocm9tZSAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5O1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgI3NpdGVfaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIGhlaWdodDogNC41cmVtOyB9IH1cbiAgI3NpdGVfaGVhZGVyLnNjcm9sbCB7XG4gICAgaGVpZ2h0OiA0LjEyNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICNzaXRlX2hlYWRlci5zY3JvbGwge1xuICAgICAgICBoZWlnaHQ6IDQuNXJlbTsgfSB9XG4gICNzaXRlX2hlYWRlciAuc2l0ZS1sb2dvIHtcbiAgICBsaW5lLWhlaWdodDogMC41O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zOyB9XG4gICAgI3NpdGVfaGVhZGVyIC5zaXRlLWxvZ28gI2xvZ28ge1xuICAgICAgaGVpZ2h0OiA0LjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZmlsbDogI2ZmZjtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjc2l0ZV9oZWFkZXIgLnNpdGUtbG9nbyAjbG9nbyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICAgICAgICBoZWlnaHQ6IDMuMnJlbTsgfSB9XG4gICAgI3NpdGVfaGVhZGVyIC5zaXRlLWxvZ28gI25hdl9ob21lIHtcbiAgICAgIGhlaWdodDogMS43MjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgZmlsbDogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAjc2l0ZV9oZWFkZXIgLm5hdi10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS4wNjI1cmVtO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMXJlbTtcbiAgICBib3R0b206IC0zMHB4O1xuICAgIGJhY2tncm91bmQ6IDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB6LWluZGV4OiAyMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgI3NpdGVfaGVhZGVyIC5uYXYtdG9nZ2xlIHtcbiAgICAgICAgYm90dG9tOiAtOXB4OyB9IH1cbiAgICAjc2l0ZV9oZWFkZXIgLm5hdi10b2dnbGU6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAjc2l0ZV9oZWFkZXIgLm5hdi10b2dnbGUge1xuICAgICAgICByaWdodDogMnJlbTsgfSB9XG4gICAgI3NpdGVfaGVhZGVyIC5uYXYtdG9nZ2xlIHNwYW4sICNzaXRlX2hlYWRlciAubmF2LXRvZ2dsZTpiZWZvcmUsICNzaXRlX2hlYWRlciAubmF2LXRvZ2dsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjMxZjIwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtczsgfVxuICAgICNzaXRlX2hlYWRlciAubmF2LXRvZ2dsZSBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjc2l0ZV9oZWFkZXIgLm5hdi10b2dnbGU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDsgfVxuICAgICNzaXRlX2hlYWRlciAubmF2LXRvZ2dsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBib3R0b206IDA7IH1cbiAgI3NpdGVfaGVhZGVyIG5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzUsIDMxLCAzMiwgMC44Mik7XG4gICAgei1pbmRleDogMTA7XG4gICAgcGFkZGluZzogNnJlbSAxLjcyNXJlbTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgI3NpdGVfaGVhZGVyIG5hdiB7XG4gICAgICAgIHBhZGRpbmc6IDZyZW0gMy41cmVtOyB9IH1cbiAgICAjc2l0ZV9oZWFkZXIgbmF2IC5tZW51IHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgI3NpdGVfaGVhZGVyIG5hdiAubWVudSA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS42MjVyZW0gMDsgfVxuICAgICAgI3NpdGVfaGVhZGVyIG5hdiAubWVudSAudW5jbGlja2FibGUgPiBhOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyB9XG4gICAgICAjc2l0ZV9oZWFkZXIgbmF2IC5tZW51IGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgICAjc2l0ZV9oZWFkZXIgbmF2IC5tZW51IGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGRiBNZXRhXCIsIEhlbHZldGljYU5ldWUtTGlnaHQsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDsgfVxuICAgICAgICAgICNzaXRlX2hlYWRlciBuYXYgLm1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZhNDYxNjsgfVxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAgICAgICAjc2l0ZV9oZWFkZXIgbmF2IC5tZW51IGxpIGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi4yNXJlbTsgfSB9XG4gICAgICAgICAgLnRvdWNoICNzaXRlX2hlYWRlciBuYXYgLm1lbnUgbGkgYSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgICAgICNzaXRlX2hlYWRlciBuYXYgLm1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgI3NpdGVfaGVhZGVyIG5hdiAubWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsIGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgICAgICNzaXRlX2hlYWRlciBuYXYgLm1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCBsaSBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyB9IH1cblxuYm9keS5uYXYtb3BlbiAjc2l0ZV9oZWFkZXIgLnNpdGUtbG9nbyAjbG9nbyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuYm9keS5uYXYtb3BlbiAjc2l0ZV9oZWFkZXIgLnNpdGUtbG9nbyAjbmF2X2hvbWUge1xuICBvcGFjaXR5OiAxOyB9XG5cbmJvZHkubmF2LW9wZW4gI3NpdGVfaGVhZGVyIC5uYXYtdG9nZ2xlIHNwYW4ge1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbmJvZHkubmF2LW9wZW4gI3NpdGVfaGVhZGVyIC5uYXYtdG9nZ2xlOmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZykgdHJhbnNsYXRlM2QoNXB4LCA1cHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKSB0cmFuc2xhdGUzZCg1cHgsIDVweCwgMCk7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuYm9keS5uYXYtb3BlbiAjc2l0ZV9oZWFkZXIgLm5hdi10b2dnbGU6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1cHgsIC01cHgsIDApO1xuICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZykgdHJhbnNsYXRlM2QoNXB4LCAtNXB4LCAwKTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4ucGFnZS0tYmFubmVyIHtcbiAgcGFkZGluZy10b3A6IDQuMzc1cmVtOyB9XG5cbi5uYXYtc2VhcmNoLWZvcm0ge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNyZW07XG4gIGJvdHRvbTogN3B4O1xuICBsZWZ0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLm5hdi1zZWFyY2gtZm9ybSB7XG4gICAgICByaWdodDogNC4yNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXYtc2VhcmNoLWZvcm0ge1xuICAgICAgYm90dG9tOiAwcHg7IH0gfVxuICAubmF2LXNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0LFxuICAubmF2LXNlYXJjaC1mb3JtIC5zZWFyY2gtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMyMzFmMjA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm5hdi1zZWFyY2gtZm9ybSAuc2VhcmNoLXN1Ym1pdCxcbiAgICAgIC5uYXYtc2VhcmNoLWZvcm0gLnNlYXJjaC10b2dnbGUge1xuICAgICAgICBib3R0b206IDE0cHg7IH0gfVxuICAgIC5uYXYtc2VhcmNoLWZvcm0gLnNlYXJjaC1zdWJtaXQ6Zm9jdXMsXG4gICAgLm5hdi1zZWFyY2gtZm9ybSAuc2VhcmNoLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLm5hdi1zZWFyY2gtZm9ybSAuc2VhcmNoLXN1Ym1pdDpob3ZlcixcbiAgICAubmF2LXNlYXJjaC1mb3JtIC5zZWFyY2gtdG9nZ2xlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmE0NjE2OyB9XG4gIC5uYXYtc2VhcmNoLWZvcm0gLnNlYXJjaGZpZWxkLFxuICAubmF2LXNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm5hdi1zZWFyY2gtZm9ybSAjbmF2c2VhcmNoIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHdpZHRoOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAubmF2LXNlYXJjaC1mb3JtICNuYXZzZWFyY2ggLnNlYXJjaGZpZWxkIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgcGFkZGluZzogN3B4IDhweDsgfVxuICAgIC5uYXYtc2VhcmNoLWZvcm0gI25hdnNlYXJjaCBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgYm9yZGVyOiBzb2xpZCAwIHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRkYgTWV0YVwiLCBIZWx2ZXRpY2FOZXVlLUxpZ2h0LCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuXG5ib2R5LnNlYXJjaC1vcGVuICNzaXRlX2hlYWRlciAuc2l0ZS1sb2dvIHtcbiAgb3BhY2l0eTogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIGJvZHkuc2VhcmNoLW9wZW4gI3NpdGVfaGVhZGVyIC5zaXRlLWxvZ28ge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG5cbmJvZHkuc2VhcmNoLW9wZW4gLm5hdi1zZWFyY2gtZm9ybSB7XG4gIHotaW5kZXg6IDk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjMxZjIwO1xuICBsZWZ0OiAxcmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgYm9keS5zZWFyY2gtb3BlbiAubmF2LXNlYXJjaC1mb3JtIHtcbiAgICAgIGxlZnQ6IGF1dG87IH0gfVxuXG5ib2R5LnNlYXJjaC1vcGVuICNuYXZzZWFyY2gge1xuICB3aWR0aDogMjI1cHg7XG4gIG1heC13aWR0aDogOTElO1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgYm9keS5zZWFyY2gtb3BlbiAjbmF2c2VhcmNoIHtcbiAgICAgIHdpZHRoOiAyODBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgYm9keS5zZWFyY2gtb3BlbiAjbmF2c2VhcmNoIHtcbiAgICAgIHdpZHRoOiAzMTBweDsgfSB9XG5cbmJvZHkuc2VhcmNoLW9wZW4gLnNlYXJjaC10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgYm9keS5zZWFyY2gtb3BlbiAuc2VhcmNoLXRvZ2dsZSAuaWNvbi1zZWFyY2gge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgYm9keS5zZWFyY2gtb3BlbiAuc2VhcmNoLXRvZ2dsZTo6YmVmb3JlLCBib2R5LnNlYXJjaC1vcGVuIC5zZWFyY2gtdG9nZ2xlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzFmMjA7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlOyB9XG4gIGJvZHkuc2VhcmNoLW9wZW4gLnNlYXJjaC10b2dnbGU6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIGJvZHkuc2VhcmNoLW9wZW4gLnNlYXJjaC10b2dnbGU6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH0gfVxuXG4uYnV0dG9uIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBzb2xpZCAycHggIzIzMWYyMDtcbiAgY29sb3I6ICMyMzFmMjA7XG4gIGZvbnQtZmFtaWx5OiBcIkZGIE1ldGFcIiwgSGVsdmV0aWNhTmV1ZS1MaWdodCwgXCJIZWx2ZXRpY2EgTmV1ZSBMaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICBwYWRkaW5nOiAwLjgxMjVyZW0gMS44NzVyZW0gMC44NzVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgICAgbWFyZ2luOiAxLjVyZW0gYXV0byAwOyB9IH1cbiAgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbjphY3RpdmUsIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYTQ2MTYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAjZmE0NjE2O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuYnV0dG9uLmRpc2NvdmVyLW1vcmUge1xuICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH1cbiAgLmJ1dHRvbi52aWV3LWFsbCB7XG4gICAgbWFyZ2luLXRvcDogNi4yNXJlbTsgfVxuICAuYnV0dG9uLmludmVydGVkIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuYnV0dG9uLmludmVydGVkOmZvY3VzLCAuYnV0dG9uLmludmVydGVkOmFjdGl2ZSwgLmJ1dHRvbi5pbnZlcnRlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IHNvbGlkIDJweCAjZmE0NjE2OyB9XG4gIC5idXR0b24uZmlsbGVkIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYTQ2MTY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmE0NjE2O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5idXR0b24uZmlsbGVkOmZvY3VzLCAuYnV0dG9uLmZpbGxlZDphY3RpdmUsIC5idXR0b24uZmlsbGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MzY0NjYgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogc29saWQgMnB4ICM2MzY0NjY7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmJ1dHRvbi5tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMS42MjVyZW0gMC43NXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAuYnV0dG9uLm1lZGl1bSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIC5idXR0b24ubWVkaXVtLnNwYWNpbmctc21hbGwge1xuICAgICAgbWFyZ2luOiAwLjYyNXJlbSBhdXRvOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuYnV0dG9uLm1lZGl1bS5zcGFjaW5nLXNtYWxsIHtcbiAgICAgICAgICBtYXJnaW46IDAuNzVyZW0gYXV0byAwOyB9IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjVyZW0gMC42ODc1cmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5idXR0b24uc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuYnV0dG9uLm1heC13aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0NDBweDsgfVxuXG5ib2R5LmVycm9yNDA0IGgyLnBhZ2UtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbmJvZHkuZXJyb3I0MDQgLnNlYXJjaGZvcm0gLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IC43NXJlbSAxLjVyZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjNmI2YjZiOyB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmE0NjE2OyB9XG5cbnAgYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY29udGVudC1zZWN0aW9uIGZpZ3VyZS5hbGlnbmxlZnQsXG4uY29udGVudC1zZWN0aW9uIGltZy5hbGlnbmxlZnQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5jb250ZW50LXNlY3Rpb24gZmlndXJlLmFsaWdubGVmdCxcbiAgICAuY29udGVudC1zZWN0aW9uIGltZy5hbGlnbmxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuXG4uY29udGVudC1zZWN0aW9uIGZpZ3VyZS5hbGlnbnJpZ2h0LFxuLmNvbnRlbnQtc2VjdGlvbiBpbWcuYWxpZ25yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmNvbnRlbnQtc2VjdGlvbiBmaWd1cmUuYWxpZ25yaWdodCxcbiAgICAuY29udGVudC1zZWN0aW9uIGltZy5hbGlnbnJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLmNvbnRlbnQtc2VjdGlvbiBmaWd1cmUuYWxpZ25jZW50ZXIsXG4uY29udGVudC1zZWN0aW9uIGltZy5hbGlnbmNlbnRlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNvbnRlbnQtc2VjdGlvbiBpbWcuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29udGVudC1zZWN0aW9uIGltZy5hbGlnbmNlbnRlcixcbi5jb250ZW50LXNlY3Rpb24gZmlndXJlLmFsaWduY2VudGVyLndwLWNhcHRpb24sXG4uY29udGVudC1zZWN0aW9uIGZpZ3VyZS5hbGlnbmNlbnRlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNvbnRlbnQtc2VjdGlvbiBpbWcuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucGFnZSAucnNEZWZhdWx0SW52LCAucGFnZSAucnNEZWZhdWx0SW52IC5yc092ZXJmbG93LCAucGFnZSAucnNEZWZhdWx0SW52IC5yc1NsaWRlLCAucGFnZSAucnNEZWZhdWx0SW52IC5yc1ZpZGVvRnJhbWVIb2xkZXIsIC5wYWdlIC5yc0RlZmF1bHRJbnYgLnJzVGh1bWJzIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG5ib2R5LCBodG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiB3cmFwcGVyICovXG4uc21vb3RoYm94IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk7IH1cblxuLyogZmF1eCB2ZXJ0aWNhbCBjZW50ZXJpbmcgKi9cbi5zbW9vdGhib3gtdGFibGUge1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5zbW9vdGhib3gtY2VudGVyaW5nIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBob3Jpem9udGFsIGNlbnRlcmluZyAmIHNpemluZyAqL1xuLnNtb290aGJveC1zaXppbmcge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwcHg7XG4gIHdpZHRoOiA4MCU7IH1cblxuLyogaXRlbSB3cmFwcGVyICovXG4uc2ItaXRlbXMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLnNiLWl0ZW1zOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBoZWlnaHQ6IDA7IH1cblxuLyogaXRlbXMgKi9cbi5zYi1pdGVtIHtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogODAlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6b29tOiAxO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLW91dDsgfVxuXG4ubm8tdHJhbnMge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4uc2ItaXRlbSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDgwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIGZvcndhcmQgYW5pbWF0aW9uICovXG4uc2ItaXRlbS1hbmkge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIGJhY2sgYW5pbWF0aW9uICovXG4uc2ItaXRlbS1hbmkyIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2ItY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBjb2xvcjogI0NDQztcbiAgZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIiwgRnJ1dGlnZXIsIFwiRnJ1dGlnZXIgTGlub3R5cGVcIiwgXCJEZWphdnUgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT04MClcIjsgfVxuXG4vKiBidXR0b25zICovXG4uc2ItbmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgei1pbmRleDogMTA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogLjU7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NTApXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gIGZvbnQtc2l6ZTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZS1vdXQ7XG4gIHpvb206IDE7IH1cblxuLnNiLW5hdjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfVxuXG4uc2ItcHJldiwgLnNiLW5leHQsIC5zYi1jYW5jZWwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgem9vbTogMTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgIWltcG9ydGFudDtcbiAgd2lkdGg6IDMzJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2Utb3V0OyB9XG4gIC5zYi1wcmV2OmJlZm9yZSwgLnNiLW5leHQ6YmVmb3JlLCAuc2ItY2FuY2VsOmJlZm9yZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBmb250LXNpemU6IDUwcHg7IH1cbiAgLnNiLXByZXY6aG92ZXI6YmVmb3JlLCAuc2ItbmV4dDpob3ZlcjpiZWZvcmUsIC5zYi1jYW5jZWw6aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLnNiLXByZXYsXG4uc2ItbmV4dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRvcDogNDUlO1xuICBwYWRkaW5nLXRvcDogNSU7XG4gIHBhZGRpbmctYm90dG9tOiA1JTsgfVxuXG4uc2ItcHJldiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBsZWZ0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IH1cbiAgLnNiLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnPCc7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uc2ItbmV4dCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcmlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IH1cbiAgLnNiLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnPic7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLnNiLWNhbmNlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiA0MHB4OyB9XG4gIC5zYi1jYW5jZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiAneCc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXByZXY6Zm9jdXMsXG4gIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmhvdmVyOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpmb2N1czpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsXG4gIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNTsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUsXG4gIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoXCIuL2Fycm93LWxlZnQuc3ZnXCIpOyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDI1cHg7IH1cbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoXCIuL2Fycm93LXJpZ2h0LnN2Z1wiKTsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6YmVmb3JlLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG51bC5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIHVsLnBhZ2luYXRpb24gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgc3BhbixcbiAgICB1bC5wYWdpbmF0aW9uIGxpIGEge1xuICAgICAgY29sb3I6ICM2MzY0NjY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gICAgICB1bC5wYWdpbmF0aW9uIGxpIHNwYW46bm90KC5idXR0b24pOmFjdGl2ZSwgdWwucGFnaW5hdGlvbiBsaSBzcGFuOm5vdCguYnV0dG9uKTpsaW5rLCB1bC5wYWdpbmF0aW9uIGxpIHNwYW46bm90KC5idXR0b24pOnZpc2l0ZWQsXG4gICAgICB1bC5wYWdpbmF0aW9uIGxpIGE6bm90KC5idXR0b24pOmFjdGl2ZSxcbiAgICAgIHVsLnBhZ2luYXRpb24gbGkgYTpub3QoLmJ1dHRvbik6bGluayxcbiAgICAgIHVsLnBhZ2luYXRpb24gbGkgYTpub3QoLmJ1dHRvbik6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjNjM2NDY2OyB9XG4gICAgICAgIHVsLnBhZ2luYXRpb24gbGkgc3Bhbjpub3QoLmJ1dHRvbik6YWN0aXZlOmZvY3VzLCB1bC5wYWdpbmF0aW9uIGxpIHNwYW46bm90KC5idXR0b24pOmFjdGl2ZTpob3ZlciwgdWwucGFnaW5hdGlvbiBsaSBzcGFuOm5vdCguYnV0dG9uKTpsaW5rOmZvY3VzLCB1bC5wYWdpbmF0aW9uIGxpIHNwYW46bm90KC5idXR0b24pOmxpbms6aG92ZXIsIHVsLnBhZ2luYXRpb24gbGkgc3Bhbjpub3QoLmJ1dHRvbik6dmlzaXRlZDpmb2N1cywgdWwucGFnaW5hdGlvbiBsaSBzcGFuOm5vdCguYnV0dG9uKTp2aXNpdGVkOmhvdmVyLFxuICAgICAgICB1bC5wYWdpbmF0aW9uIGxpIGE6bm90KC5idXR0b24pOmFjdGl2ZTpmb2N1cyxcbiAgICAgICAgdWwucGFnaW5hdGlvbiBsaSBhOm5vdCguYnV0dG9uKTphY3RpdmU6aG92ZXIsXG4gICAgICAgIHVsLnBhZ2luYXRpb24gbGkgYTpub3QoLmJ1dHRvbik6bGluazpmb2N1cyxcbiAgICAgICAgdWwucGFnaW5hdGlvbiBsaSBhOm5vdCguYnV0dG9uKTpsaW5rOmhvdmVyLFxuICAgICAgICB1bC5wYWdpbmF0aW9uIGxpIGE6bm90KC5idXR0b24pOnZpc2l0ZWQ6Zm9jdXMsXG4gICAgICAgIHVsLnBhZ2luYXRpb24gbGkgYTpub3QoLmJ1dHRvbik6dmlzaXRlZDpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmYTQ2MTY7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgYSB7XG4gICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC41cmVtOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaTphY3RpdmUgYSwgdWwucGFnaW5hdGlvbiBsaTpmb2N1cyBhLCB1bC5wYWdpbmF0aW9uIGxpOmhvdmVyIGEge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgLmN1cnJlbnQge1xuICAgICAgbWFyZ2luOiAwLjA2MjVyZW0gMC42MjVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZhNDYxNjsgfVxuXG4vKiBDb29sIFRpbWVsaW5lIDQuNS42ICovXG5ib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yIHtcbiAgLS1jdHctaWJ4LXNpemU6IDQ4cHg7XG4gIC0tY3R3LWlieC1yYWRpdXM6IDUwO1xuICAtLWN0dy1jYngtbWFpbi10aXRsZS1mb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgLS1jdHctY2J4LXRpdGxlLWZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAtLWN0dy1jYngtZGVzYy1mb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgLS1jdHctY2J4LWRhdGUtZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gIC0tY3R3LWNieC1pbWctcGFkZGluZzogMDtcbiAgLS1jdHctY2J4LXJhZGl1czogOHB4IDhweCA1cHggNXB4O1xuICAtLWN0dy1sYmwtYmlnLXNpemU6IDZweDtcbiAgLS1jdHctbGJsLXNtYWxsLXNpemU6IDZweDtcbiAgLS1jdHctY2J4LXNwYWNlOiAwO1xuICAtLWN0dy1jYngtdGl0bGUtcGFkZGluZzogMThweCAxNXB4O1xuICAtLWN0dy1jYngtZGVzLXBhZGRpbmc6IDE0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cbiAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiAuY3RsLWljb25kb3Qge1xuICAgIHRvcDogY2FsYyh2YXIoLS1jdHctaWJ4LXNpemUpKiAuNzUgLSB2YXIoLS1jdHctaWJ4LXNpemUpKiAyKTsgfVxuICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yIC5jdGwtbGFiZWxzIHtcbiAgICB0b3A6IGNhbGMoMHB4IC0gKHZhcigtLWN0dy1sYmwtYmlnLXNpemUpICsgdmFyKC0tY3R3LWxibC1zbWFsbC1zaXplKSArIHZhcigtLWN0dy1sYmwtZ2FwKSkgLSB2YXIoLS1jdHctaWJ4LXNpemUpICogMiArIDRweCk7IH1cbiAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiAuY3RsLWgtbGluZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3R3LWxpbmUtYmcpO1xuICAgIHRvcDogY2FsYygwcHggKyB2YXIoLS1jdHctbGJsLWJpZy1zaXplKSArIHZhcigtLWN0dy1sYmwtc21hbGwtc2l6ZSkgKyB2YXIoLS1jdHctbGJsLWdhcCkgKyAwcHggKyB2YXIoLS1jdHctaWJ4LXNpemUpIC0gdmFyKC0tY3R3LWxpbmUtd2lkdGgpICogLjUgKyB2YXIoLS1sYmwtYmQtd2lkdGgpKjIpICFpbXBvcnRhbnQ7IH1cbiAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiAuY3RsLWFycm93IHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7IH1cbiAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiAuY3RsLXN0b3J5IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWN0dy1pYngtc2l6ZSkgKiAyICsgdmFyKC0tY3R3LWxibC1iaWctc2l6ZSkgKyB2YXIoLS1jdHctbGJsLXNtYWxsLXNpemUpICsgMHB4ICsgdmFyKC0tY3R3LWxibC1nYXApICsgdmFyKC0tbGJsLWJkLXdpZHRoKSoyKSAhaW1wb3J0YW50OyB9XG4gIGJvZHkgLmN0bC13cmFwcGVyIC5jdGwtaG9yaXpvbnRhbC10aW1lbGluZS5jdGwtZGVzaWduLTIgPiAuY3RsLWJ1dHRvbi1wcmV2LFxuICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yID4gLmN0bC1idXR0b24tbmV4dCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdG9wOiBjYWxjKGNhbGMoMHB4ICsgdmFyKC0tY3R3LWxibC1iaWctc2l6ZSkgKyB2YXIoLS1jdHctbGJsLXNtYWxsLXNpemUpICsgdmFyKC0tY3R3LWxibC1nYXApICsgMHB4ICsgdmFyKC0tY3R3LWlieC1zaXplKSAtIHZhcigtLW5hdi1pY29uLWhlaWdodCkgKiAuNSArIHZhcigtLWxibC1iZC13aWR0aCkqMikpOyB9XG4gICAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiA+IC5jdGwtYnV0dG9uLXByZXYgc3ZnLFxuICAgIGJvZHkgLmN0bC13cmFwcGVyIC5jdGwtaG9yaXpvbnRhbC10aW1lbGluZS5jdGwtZGVzaWduLTIgPiAuY3RsLWJ1dHRvbi1uZXh0IHN2ZyB7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7IH1cbiAgICAgIGJvZHkgLmN0bC13cmFwcGVyIC5jdGwtaG9yaXpvbnRhbC10aW1lbGluZS5jdGwtZGVzaWduLTIgPiAuY3RsLWJ1dHRvbi1wcmV2IHN2ZyBwYXRoLFxuICAgICAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiA+IC5jdGwtYnV0dG9uLW5leHQgc3ZnIHBhdGgge1xuICAgICAgICBmaWxsOiB2YXIoLS1uYXYtaWNvbi1jb2xvcik7IH1cbiAgICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yID4gLmN0bC1idXR0b24tcHJldjpob3ZlcixcbiAgICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yID4gLmN0bC1idXR0b24tbmV4dDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiA+IC5jdGwtYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbiAgICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yID4gLmN0bC1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIGJvZHkgLmN0bC13cmFwcGVyIC5jdGwtaG9yaXpvbnRhbC10aW1lbGluZS5jdGwtZGVzaWduLTIgPiAuY3RsLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQgc3ZnLFxuICAgICAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiA+IC5jdGwtYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCBzdmcge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yID4gLmN0bC1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkOjpiZWZvcmUsXG4gICAgICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yID4gLmN0bC1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tbmF2LWljb24tY29sb3IpO1xuICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDsgfVxuICAgICAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiA+IC5jdGwtYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZDpob3ZlciBzdmcgcGF0aCxcbiAgICAgIGJvZHkgLmN0bC13cmFwcGVyIC5jdGwtaG9yaXpvbnRhbC10aW1lbGluZS5jdGwtZGVzaWduLTIgPiAuY3RsLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQ6aG92ZXIgc3ZnIHBhdGgge1xuICAgICAgICBmaWxsOiAjNGQ0ZDRkOyB9XG4gIGJvZHkgLmN0bC13cmFwcGVyIC5jdGwtaG9yaXpvbnRhbC10aW1lbGluZS5jdGwtZGVzaWduLTIgPiAuY3RsLWJ1dHRvbi1wcmV2IHtcbiAgICBsZWZ0OiAtNHB4OyB9XG4gICAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiA+IC5jdGwtYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICBsZWZ0OiAtMDsgfVxuICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yID4gLmN0bC1idXR0b24tbmV4dCB7XG4gICAgcmlnaHQ6IC00cHg7IH1cbiAgICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yID4gLmN0bC1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgIHJpZ2h0OiAtMDsgfVxuICBib2R5IC5jdGwtd3JhcHBlciAuY3RsLWhvcml6b250YWwtdGltZWxpbmUuY3RsLWRlc2lnbi0yIC5jdGwtY29udGVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3R3LWNieC1yYWRpdXMpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgYm9keSAuY3RsLXdyYXBwZXIgLmN0bC1ob3Jpem9udGFsLXRpbWVsaW5lLmN0bC1kZXNpZ24tMiAuY3RsLW1lZGlhIGE6aG92ZXIge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjIpOyB9XG4gIGJvZHkgLmN0bC13cmFwcGVyIC5jdGwtaG9yaXpvbnRhbC10aW1lbGluZS5jdGwtZGVzaWduLTIgLnJlYWRfbW9yZV93cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogM3B4OyB9XG4gIGJvZHkgLmN0bC13cmFwcGVyIC5jdGwtaG9yaXpvbnRhbC10aW1lbGluZS5jdGwtZGVzaWduLTIgYS5mYW5jeS1saW5rIHtcbiAgICBjb2xvcjogI2ZhNDYxNjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi8qIENvb2wgVGltZWxpbmUgNC40LjQgKi9cbmJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbCAuY2x0X2Nhcm91c2VsX3NsaWRlciB1bC5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QgbGkgc3Bhbi5jdGwtc3RvcnktdGltZSxcbmJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbCAud3JwLWRlc2dpbi00IHVsLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCBsaSBzcGFuLmN0bC1zdG9yeS10aW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiRkYgTWV0YVwiLCBIZWx2ZXRpY2FOZXVlLUxpZ2h0LCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIGJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbCAuY2x0X2Nhcm91c2VsX3NsaWRlciB1bC5jdGxfaF9uYXYge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfSB9XG5cbmJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbCAuY2x0X2Nhcm91c2VsX3NsaWRlciB1bC5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QgbGkgLmN0bC1zdG9yeS10aW1lOmFmdGVyIHtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbiAgbGVmdDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgbGVmdDogLW1vei1jYWxjKDUwJSAtIDEycHgpO1xuICBsZWZ0OiAtd2Via2l0LWNhbGMoNTAlIC0gMTJweCk7XG4gIGxlZnQ6IC1vLWNhbGMoNTAlIC0gMTJweCk7IH1cblxuYm9keSAuY29vbC10aW1lbGluZS1ob3Jpem9udGFsLndoaXRlLXRpbWVsaW5lIC5jbHRfY2FydV9zbGlkZXIgdWwuc2xpY2stc2xpZGVyIC5zbGljay1saXN0IGxpLnNsaWNrLXNsaWRlIC50aW1lbGluZS1wb3N0IHtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDVweCA1cHg7XG4gIGJvcmRlcjogMDsgfVxuICBib2R5IC5jb29sLXRpbWVsaW5lLWhvcml6b250YWwud2hpdGUtdGltZWxpbmUgLmNsdF9jYXJ1X3NsaWRlciB1bC5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QgbGkuc2xpY2stc2xpZGUgLnRpbWVsaW5lLXBvc3QgaDIuY29udGVudC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRkYgTWV0YVwiLCBIZWx2ZXRpY2FOZXVlLUxpZ2h0LCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7IH1cbiAgYm9keSAuY29vbC10aW1lbGluZS1ob3Jpem9udGFsLndoaXRlLXRpbWVsaW5lIC5jbHRfY2FydV9zbGlkZXIgdWwuc2xpY2stc2xpZGVyIC5zbGljay1saXN0IGxpLnNsaWNrLXNsaWRlIC50aW1lbGluZS1wb3N0IC5yZWFkX21vcmVfd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDNweDsgfVxuICBib2R5IC5jb29sLXRpbWVsaW5lLWhvcml6b250YWwud2hpdGUtdGltZWxpbmUgLmNsdF9jYXJ1X3NsaWRlciB1bC5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QgbGkuc2xpY2stc2xpZGUgLnRpbWVsaW5lLXBvc3QgYS5mYW5jeS1saW5rIHtcbiAgICBjb2xvcjogI2ZhNDYxNjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIGJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbC53aGl0ZS10aW1lbGluZSAuY2x0X2NhcnVfc2xpZGVyIHVsLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCBsaS5zbGljay1zbGlkZSAudGltZWxpbmUtcG9zdCBhLmN0bF9yZWFkX21vcmUge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjZmE0NjE2O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8qZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjUlOyovIH1cbiAgICBib2R5IC5jb29sLXRpbWVsaW5lLWhvcml6b250YWwud2hpdGUtdGltZWxpbmUgLmNsdF9jYXJ1X3NsaWRlciB1bC5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QgbGkuc2xpY2stc2xpZGUgLnRpbWVsaW5lLXBvc3QgYS5jdGxfcmVhZF9tb3JlOmFmdGVyIHtcbiAgICAgIC8qdHJhbnNpdGlvbjogcmlnaHQgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsqL1xuICAgICAgY29udGVudDogJ1xcZTkwMCc7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIHRyYW5zaXRpb246IG1hcmdpbiAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICBib2R5IC5jb29sLXRpbWVsaW5lLWhvcml6b250YWwud2hpdGUtdGltZWxpbmUgLmNsdF9jYXJ1X3NsaWRlciB1bC5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QgbGkuc2xpY2stc2xpZGUgLnRpbWVsaW5lLXBvc3QgYS5jdGxfcmVhZF9tb3JlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNjM2NDY2OyB9XG4gICAgICBib2R5IC5jb29sLXRpbWVsaW5lLWhvcml6b250YWwud2hpdGUtdGltZWxpbmUgLmNsdF9jYXJ1X3NsaWRlciB1bC5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QgbGkuc2xpY2stc2xpZGUgLnRpbWVsaW5lLXBvc3QgYS5jdGxfcmVhZF9tb3JlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgLypyaWdodDogMDsqL1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygwLjI1cmVtICsgOHB4KTsgfVxuXG5ib2R5IC5jb29sLXRpbWVsaW5lLWhvcml6b250YWwgLnNsaWNrLWFycm93IGkge1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXNpemU6IDIwcHg7IH1cblxuYm9keSAuY29vbC10aW1lbGluZS1ob3Jpem9udGFsIC5zbGljay1hcnJvdy5jdGwtc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0xOXB4OyB9XG4gIGJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbCAuc2xpY2stYXJyb3cuY3RsLXNsaWNrLXByZXYgaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYwNTMnOyB9XG5cbmJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbCAuc2xpY2stYXJyb3cuY3RsLXNsaWNrLW5leHQge1xuICByaWdodDogLTE5cHg7IH1cbiAgYm9keSAuY29vbC10aW1lbGluZS1ob3Jpem9udGFsIC5zbGljay1hcnJvdy5jdGwtc2xpY2stbmV4dCBpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjA1NCc7IH1cblxuYm9keSAuY29vbC10aW1lbGluZS1ob3Jpem9udGFsIC5zbGljay1hcnJvdy5zbGljay1kaXNhYmxlZC5jdGwtc2xpY2stcHJldiwgYm9keSAuY29vbC10aW1lbGluZS1ob3Jpem9udGFsIC5zbGljay1hcnJvdy5zbGljay1kaXNhYmxlZC5jdGwtc2xpY2stbmV4dCB7XG4gIG9wYWNpdHk6IDE7IH1cbiAgYm9keSAuY29vbC10aW1lbGluZS1ob3Jpem9udGFsIC5zbGljay1hcnJvdy5zbGljay1kaXNhYmxlZC5jdGwtc2xpY2stcHJldiBpLCBib2R5IC5jb29sLXRpbWVsaW5lLWhvcml6b250YWwgLnNsaWNrLWFycm93LnNsaWNrLWRpc2FibGVkLmN0bC1zbGljay1uZXh0IGkge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzRkNGQ0ZDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMTVweDsgfVxuICAgIGJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbCAuc2xpY2stYXJyb3cuc2xpY2stZGlzYWJsZWQuY3RsLXNsaWNrLXByZXYgaTpiZWZvcmUsIGJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbCAuc2xpY2stYXJyb3cuc2xpY2stZGlzYWJsZWQuY3RsLXNsaWNrLW5leHQgaTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaWdodGJveCAqL1xuYm9keSAuZ2xpZ2h0Ym94LWNvbnRhaW5lciAuY3RsX2dsaWdodGJveF9jb250YWluZXIgLmdkZXNjLWlubmVyIHtcbiAgcGFkZGluZzogMTJweCAhaW1wb3J0YW50OyB9XG4gIGJvZHkgLmdsaWdodGJveC1jb250YWluZXIgLmN0bF9nbGlnaHRib3hfY29udGFpbmVyIC5nZGVzYy1pbm5lciBoNCB7XG4gICAgZm9udC1mYW1pbHk6IFwiRkYgTWV0YVwiLCBIZWx2ZXRpY2FOZXVlLUxpZ2h0LCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7IH1cblxuYm9keS5nbGlnaHRib3gtbW9iaWxlIC5nbGlnaHRib3gtY29udGFpbmVyIC5jdGxfZ2xpZ2h0Ym94X2NvbnRhaW5lciAuZ3NsaWRlOm5vdCguem9vbWVkKSAuZ3NsaWRlLWlubmVyLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDgwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICBib2R5LmdsaWdodGJveC1tb2JpbGUgLmdsaWdodGJveC1jb250YWluZXIgLmN0bF9nbGlnaHRib3hfY29udGFpbmVyIC5nc2xpZGU6bm90KC56b29tZWQpIC5nc2xpZGUtaW5uZXItY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDkwJTsgfSB9XG5cbmJvZHkuZ2xpZ2h0Ym94LW1vYmlsZSAuZ2xpZ2h0Ym94LWNvbnRhaW5lciAuZ2lubmVyLWNvbnRhaW5lciB7XG4gIGhlaWdodDogYXV0bzsgfVxuICBib2R5LmdsaWdodGJveC1tb2JpbGUgLmdsaWdodGJveC1jb250YWluZXIgLmdpbm5lci1jb250YWluZXIuZGVzYy1ib3R0b20gLmdzbGlkZS1pbWFnZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgYm9keS5nbGlnaHRib3gtbW9iaWxlIC5nbGlnaHRib3gtY29udGFpbmVyIC5naW5uZXItY29udGFpbmVyLmRlc2MtYm90dG9tIC5nc2xpZGUtaW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbmJvZHkuZ2xpZ2h0Ym94LW1vYmlsZSAuZ2xpZ2h0Ym94LWNvbnRhaW5lciAuZ3NsaWRlLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZzogMCAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGJvZHkuZ2xpZ2h0Ym94LW1vYmlsZSAuZ2xpZ2h0Ym94LWNvbnRhaW5lciAuZ3NsaWRlLWRlc2NyaXB0aW9uIC5nZGVzYy1pbm5lciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG5ib2R5LmdsaWdodGJveC1tb2JpbGUgLmdsaWdodGJveC1jb250YWluZXIgLmdzbGlkZS10aXRsZSB7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5nbGlnaHRib3gtb3BlbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4jbWFzdGhlYWQge1xuICBiYWNrZ3JvdW5kOiAjY2NjOyB9XG5cbi5zaXRlLWJyYW5kaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uc2l0ZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tYWluLW5hdmlnYXRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMzMzOyB9XG5cbi5tYWluLW5hdmlnYXRpb24gdWwge1xuICBtYXJnaW46IDA7IH1cblxuI2NvbG9waG9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwIGF1dG8gMDtcbiAgbWF4LXdpZHRoOiA5MHJlbTsgfVxuICAjY29sb3Bob24gaHIge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWVlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgICAjY29sb3Bob24gYSxcbiAgICAjY29sb3Bob24gcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAjY29sb3Bob24gLmNvcHlyaWdodCxcbiAgI2NvbG9waG9uIC50ZXh0d2lkZ2V0LFxuICAjY29sb3Bob24gYSxcbiAgI2NvbG9waG9uIHAge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAjY29sb3Bob24gLmlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZS5zb2NpYWwtY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuc29jaWFsLWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuc29jaWFsLWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMjAlOyB9IH1cbiAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuaW5mby1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciBhcnRpY2xlLmluZm8tY29sIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZS5pbmZvLWNvbCB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuaW5mby1jb2wgLnNvY2lhbC1saW5rLWNvbC13aWR0aCB7XG4gICAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDsgfVxuICAgICAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZS5pbmZvLWNvbCAud2lkZ2V0LWFkZHJlc3Mge1xuICAgICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZS5pbmZvLWNvbCAuc29jaWFsLWxpbmstY29sLXdpZHRoIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDsgfVxuICAgICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuaW5mby1jb2wgLndpZGdldC1hZGRyZXNzIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDsgfSB9XG4gICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuaW5mby1jb2wgLnJvdyB7XG4gICAgICAgICAgbWFyZ2luOiAwIC0wLjkzNzVyZW07XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciBhcnRpY2xlLmluZm8tY29sIGRpdiN0ZXh0LTYsXG4gICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuaW5mby1jb2wgZGl2I3RleHQtOSxcbiAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZS5pbmZvLWNvbCBkaXYjdGV4dC0xMCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMzJweDsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuaW5mby1jb2wgZGl2I3RleHQtNixcbiAgICAgICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuaW5mby1jb2wgZGl2I3RleHQtOSxcbiAgICAgICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuaW5mby1jb2wgZGl2I3RleHQtMTAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9IH1cbiAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZS5pbmZvLWNvbCBkaXYjdGV4dC0zLFxuICAgICAgICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciBhcnRpY2xlLmluZm8tY29sIGRpdiN0ZXh0LTIge1xuICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciBhcnRpY2xlIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZSBzcGFuIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTJweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gICAgICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciBhcnRpY2xlIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgICAgICBAbWVkaWEgbGFyZ2Utb25seSB7XG4gICAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZSBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUgLm5vLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZSAubm8taGVhZGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDsgfSB9XG4gICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgLnNvY2lhbC1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogNTNweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciAuc29jaWFsLWxpbmsgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWxsOiAjNmI2YjZiOyB9XG4gICAgICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciAuc29jaWFsLWxpbms6aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogI2ZhNDYxNjsgfVxuICAgICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIC5mb290ZXItY29sIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICAgIEBtZWRpYSBsYXJnZS1vbmx5IHtcbiAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgLmZvb3Rlci1jb2wge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gICAgICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciAuZm9vdGVyLWNvbCBhIHtcbiAgICAgICAgY29sb3I6ICM2YjZiNmI7IH1cbiAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgLmZvb3Rlci1jb2wgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmYTQ2MTY7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgLmZvb3Rlci1jb2wge1xuICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgI2NvbG9waG9uIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmc6IDJyZW0gMTVweCAxcmVtIDE1cHg7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgLyogQWRkZWQgKi8gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICNjb2xvcGhvbiAuY29weXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmZvb3Rlci1jb250ZW50Omxhc3QtY2hpbGQge1xuICB3aWR0aDogMTAlICFpbXBvcnRhbnQ7IH1cblxuI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZS5pbmZvLWNvbCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZS5pbmZvLWNvbCAucm93IHtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4jY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciAuZm9vdGVyLWNvbCB7XG4gIHdpZHRoOiAyNSU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvb3Rlci1jb250ZW50IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4ud2lkZ2V0X3RleHQge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIC5mb290ZXItY29sLFxuICAuZm9vdGVyLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIC5mb290ZXItY29sLFxuICAuZm9vdGVyLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciBhcnRpY2xlLmluZm8tY29sIC5yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG4uY29tbWVudC1jb250ZW50IHAge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbiNzZWNvbmRhcnkgaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uc29jaWFsLXNoYXJlLWxpbmtzIC5zb2NpYWwtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDUzcHg7XG4gIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5zb2NpYWwtc2hhcmUtbGlua3MgLnNvY2lhbC1saW5rIHN2ZyB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZmlsbDogIzZCNkI2QjsgfVxuICAuc29jaWFsLXNoYXJlLWxpbmtzIC5zb2NpYWwtbGluazpob3ZlciBzdmcge1xuICAgIGZpbGw6ICNmYTQ2MTY7IH1cblxuLmJnLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogIzIzMWYyMDsgfVxuICAuYmctYmxhY2sgKiB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbltjbGFzcyo9J2Jsb2NrLSddIHtcbiAgcGFkZGluZzogNXJlbSAwOyB9XG5cbltjbGFzcyo9J2Jsb2NrLXBvc3RzJ10ge1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cblxuLmJsb2NrLWhlcm8ge1xuICBwYWRkaW5nOiAycmVtIDA7IH1cbiAgLmJsb2NrLWhlcm8gLmhlcm8tLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAuYmxvY2staGVybyAuaGVyby0tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAuYmxvY2staGVybyAuaGVyby0tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQuMzc1cmVtOyB9IH1cblxuLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zIGg0LFxuICAuYmxvY2stY29udGVudC1idWlsZGVyLXdpdGgtY29sdW1ucyBoNSB7XG4gICAgY29sb3I6ICMyMzFGMjA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zIGg1IHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMgYmxvY2txdW90ZSBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICM0MDhDRkY7IH1cblxuLmJsb2NrLWxhbmRpbmctcGFnZS1jdGEgZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJsb2NrLWxhbmRpbmctcGFnZS1jdGEgZmlndXJlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICNmYTQ2MTY7IH0gfVxuXG4uYmxvY2stbGFuZGluZy1wYWdlLWN0YSBoMyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDE1cHggMCAxMHB4IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuYmxvY2stbGFuZGluZy1wYWdlLWN0YSBoMyB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfSB9XG5cbi5ibG9jay1sYW5kaW5nLXBhZ2UtY3RhIHAge1xuICBtYXJnaW46IDA7IH1cblxuLmJsb2NrLWxhbmRpbmctcGFnZS1jdGEgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMTVweCAwIDAgMDsgfVxuXG4uYmxvY2stbGFuZGluZy1wYWdlLWN0YSAuaGFzLWltYWdlIHtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmE0NjE2OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJsb2NrLWxhbmRpbmctcGFnZS1jdGEgLmhhcy1pbWFnZSB7XG4gICAgICBib3JkZXI6IG5vbmU7IH0gfVxuXG4uYmxvY2stbGFuZGluZy1wYWdlLWN0YSAubm8taW1hZ2Uge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50OyB9XG4gIC5ibG9jay1sYW5kaW5nLXBhZ2UtY3RhIC5uby1pbWFnZSAuY29sdW1ucyB7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmE0NjE2OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5ibG9jay1sYW5kaW5nLXBhZ2UtY3RhIC5uby1pbWFnZSAuY29sdW1ucyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAjZmE0NjE2OyB9IH1cbiAgLmJsb2NrLWxhbmRpbmctcGFnZS1jdGEgLm5vLWltYWdlIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7IH1cblxuLmJsb2NrLWxhbmRpbmctcGFnZS1mZWF0dXJlZC1hc3NldHMgZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJsb2NrLWxhbmRpbmctcGFnZS1mZWF0dXJlZC1hc3NldHMgZmlndXJlIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZpbGw6ICNmZmY7XG4gICAgaGVpZ2h0OiA3dnc7XG4gICAgd2lkdGg6IDd2dztcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIG1pbi13aWR0aDogNjBweDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5ibG9jay1sYW5kaW5nLXBhZ2UtZmVhdHVyZWQtYXNzZXRzIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG5zZWN0aW9uLmxhbmRpbmctcGFnZS1oZXJvIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMjUwMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNjBweCAzMHB4O1xuICBtYXJnaW46IDkwcHggMXJlbSAwO1xuICBoZWlnaHQ6IDEwMHZ3OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgc2VjdGlvbi5sYW5kaW5nLXBhZ2UtaGVybyB7XG4gICAgICBoZWlnaHQ6IDQ2LjV2dztcbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7IH0gfVxuICBzZWN0aW9uLmxhbmRpbmctcGFnZS1oZXJvIGgxIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICBzZWN0aW9uLmxhbmRpbmctcGFnZS1oZXJvIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIHNlY3Rpb24ubGFuZGluZy1wYWdlLWhlcm8gaDEge1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5ibG9jay1sYW5kaW5nLXBhZ2UtdHdvLWNvbHVtbi1pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5ibG9jay1sYW5kaW5nLXBhZ2UtdHdvLWNvbHVtbi1pbWFnZSBmaWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmJsb2NrLWxhbmRpbmctcGFnZS10d28tY29sdW1uLWltYWdlIGFydGljbGUge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJsb2NrLWxhbmRpbmctcGFnZS10d28tY29sdW1uLWltYWdlIGFydGljbGUge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmJsb2NrLWltYWdlcy1ncmlkLFxuLmJsb2NrLXByb2plY3RzLWdyaWQge1xuICBwYWRkaW5nOiA1NnB4IDA7IH1cbiAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCxcbiAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQsXG4gIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCxcbiAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCB7XG4gICAgcGFkZGluZzogMCAuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiAtbXMtZ3JpZDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIC1tcy1ncmQtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMi41JSwgMWZyKSk7XG4gICAgLW1zLWdyaWQtcm93czogMWZyIDFmciAxZnI7XG4gICAgZ3JpZC1hdXRvLXJvd3M6IDFmcjtcbiAgICBncmlkLWdhcDogMDtcbiAgICBncmlkLWF1dG8tZmxvdzogZGVuc2U7IH1cbiAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkX19oZWFkZXIsXG4gICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWRfX2hlYWRlcixcbiAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAuaW1hZ2VzLWdyaWRfX2hlYWRlcixcbiAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkX19oZWFkZXIge1xuICAgICAgcGFkZGluZzogMCAwLjVyZW0gMXJlbTsgfVxuICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLmltYWdlLFxuICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QsXG4gICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlLFxuICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5wcm9qZWN0LFxuICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UsXG4gICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0LFxuICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlLFxuICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMxZjIwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyOiA5cHggc29saWQgd2hpdGU7XG4gICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogNDtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZSxcbiAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdCxcbiAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlLFxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdCxcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZSxcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0LFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZSxcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdCB7XG4gICAgICAgICAgaGVpZ2h0OiAyMy43NXZ3O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDM1M3B4OyB9IH1cbiAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLmltYWdlOmZvY3VzLCAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZTpob3ZlcixcbiAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3Q6Zm9jdXMsXG4gICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0OmhvdmVyLFxuICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlOmZvY3VzLFxuICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlOmhvdmVyLFxuICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3Q6Zm9jdXMsXG4gICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdDpob3ZlcixcbiAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2U6Zm9jdXMsXG4gICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAuaW1hZ2VzLWdyaWQgLmltYWdlOmhvdmVyLFxuICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0OmZvY3VzLFxuICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0OmhvdmVyLFxuICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2U6Zm9jdXMsXG4gICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZTpob3ZlcixcbiAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3Q6Zm9jdXMsXG4gICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5wcm9qZWN0OmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLmltYWdlOmZvY3VzIC5mYWRlciwgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2U6aG92ZXIgLmZhZGVyLFxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0OmZvY3VzIC5mYWRlcixcbiAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdDpob3ZlciAuZmFkZXIsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZTpmb2N1cyAuZmFkZXIsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZTpob3ZlciAuZmFkZXIsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5wcm9qZWN0OmZvY3VzIC5mYWRlcixcbiAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3Q6aG92ZXIgLmZhZGVyLFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAuaW1hZ2VzLWdyaWQgLmltYWdlOmZvY3VzIC5mYWRlcixcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZTpob3ZlciAuZmFkZXIsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdDpmb2N1cyAuZmFkZXIsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdDpob3ZlciAuZmFkZXIsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlOmZvY3VzIC5mYWRlcixcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2U6aG92ZXIgLmZhZGVyLFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5wcm9qZWN0OmZvY3VzIC5mYWRlcixcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdDpob3ZlciAuZmFkZXIge1xuICAgICAgICAgIG9wYWNpdHk6IC4zO1xuICAgICAgICAgIC1tb3otb3BhY2l0eTogLjM7XG4gICAgICAgICAgLXdlYmtpdC1vcGFjaXR5OiAuMzsgfVxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZTpmb2N1cyAucHJvamVjdF9fdGl0bGUtdGV4dCwgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2U6aG92ZXIgLnByb2plY3RfX3RpdGxlLXRleHQsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3Q6Zm9jdXMgLnByb2plY3RfX3RpdGxlLXRleHQsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3Q6aG92ZXIgLnByb2plY3RfX3RpdGxlLXRleHQsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZTpmb2N1cyAucHJvamVjdF9fdGl0bGUtdGV4dCxcbiAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlOmhvdmVyIC5wcm9qZWN0X190aXRsZS10ZXh0LFxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdDpmb2N1cyAucHJvamVjdF9fdGl0bGUtdGV4dCxcbiAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3Q6aG92ZXIgLnByb2plY3RfX3RpdGxlLXRleHQsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2U6Zm9jdXMgLnByb2plY3RfX3RpdGxlLXRleHQsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2U6aG92ZXIgLnByb2plY3RfX3RpdGxlLXRleHQsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdDpmb2N1cyAucHJvamVjdF9fdGl0bGUtdGV4dCxcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0OmhvdmVyIC5wcm9qZWN0X190aXRsZS10ZXh0LFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZTpmb2N1cyAucHJvamVjdF9fdGl0bGUtdGV4dCxcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2U6aG92ZXIgLnByb2plY3RfX3RpdGxlLXRleHQsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3Q6Zm9jdXMgLnByb2plY3RfX3RpdGxlLXRleHQsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3Q6aG92ZXIgLnByb2plY3RfX3RpdGxlLXRleHQge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZS5wLXdpZHRoLTEsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QucC13aWR0aC0xLFxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2UucC13aWR0aC0xLFxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdC5wLXdpZHRoLTEsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UucC13aWR0aC0xLFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QucC13aWR0aC0xLFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZS5wLXdpZHRoLTEsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QucC13aWR0aC0xIHtcbiAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcbiAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDIwMCUgLSAxNnB4KTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZS5wLXdpZHRoLTIsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QucC13aWR0aC0yLFxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2UucC13aWR0aC0yLFxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdC5wLXdpZHRoLTIsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UucC13aWR0aC0yLFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QucC13aWR0aC0yLFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZS5wLXdpZHRoLTIsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QucC13aWR0aC0yIHtcbiAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMjtcbiAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLmltYWdlLnAtd2lkdGgtMyxcbiAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdC5wLXdpZHRoLTMsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZS5wLXdpZHRoLTMsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5wcm9qZWN0LnAtd2lkdGgtMyxcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZS5wLXdpZHRoLTMsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdC5wLXdpZHRoLTMsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlLnAtd2lkdGgtMyxcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdC5wLXdpZHRoLTMge1xuICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAzO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoNjYuNjY2NyUgLSAxNnB4KTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZS5wLXdpZHRoLTQsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QucC13aWR0aC00LFxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2UucC13aWR0aC00LFxuICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdC5wLXdpZHRoLTQsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UucC13aWR0aC00LFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QucC13aWR0aC00LFxuICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZS5wLXdpZHRoLTQsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QucC13aWR0aC00IHtcbiAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogNDtcbiAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDUwJSAtIDE2cHgpOyB9IH1cbiAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLmltYWdlIGltZyxcbiAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QgaW1nLFxuICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlIGltZyxcbiAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5wcm9qZWN0IGltZyxcbiAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UgaW1nLFxuICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0IGltZyxcbiAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlIGltZyxcbiAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNTB2dyAtIDE2cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgKyAxNnB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UgaW1nLFxuICAgICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QgaW1nLFxuICAgICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZSBpbWcsXG4gICAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QgaW1nLFxuICAgICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UgaW1nLFxuICAgICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdCBpbWcsXG4gICAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2UgaW1nLFxuICAgICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMjMuNzV2dzsgfSB9XG4gICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZSAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0IC5wcm9qZWN0X190aHVtYi0tZGVza3RvcCxcbiAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZSAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdCAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAuaW1hZ2VzLWdyaWQgLmltYWdlIC5wcm9qZWN0X190aHVtYi0tZGVza3RvcCxcbiAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdCAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZSAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5wcm9qZWN0IC5wcm9qZWN0X190aHVtYi0tZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZSAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdCAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlIC5wcm9qZWN0X190aHVtYi0tZGVza3RvcCxcbiAgICAgICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdCAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZSAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0IC5wcm9qZWN0X190aHVtYi0tZGVza3RvcCxcbiAgICAgICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZSAucHJvamVjdF9fdGh1bWItLWRlc2t0b3AsXG4gICAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdCAucHJvamVjdF9fdGh1bWItLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UgLnByb2plY3RfX3RodW1iLS1tb2JpbGUsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QgLnByb2plY3RfX3RodW1iLS1tb2JpbGUsXG4gICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZSAucHJvamVjdF9fdGh1bWItLW1vYmlsZSxcbiAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QgLnByb2plY3RfX3RodW1iLS1tb2JpbGUsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UgLnByb2plY3RfX3RodW1iLS1tb2JpbGUsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdCAucHJvamVjdF9fdGh1bWItLW1vYmlsZSxcbiAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2UgLnByb2plY3RfX3RodW1iLS1tb2JpbGUsXG4gICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QgLnByb2plY3RfX3RodW1iLS1tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UgLnByb2plY3RfX3RpdGxlLFxuICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdCAucHJvamVjdF9fdGl0bGUsXG4gICAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2UgLnByb2plY3RfX3RpdGxlLFxuICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QgLnByb2plY3RfX3RpdGxlLFxuICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZSAucHJvamVjdF9fdGl0bGUsXG4gICAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QgLnByb2plY3RfX3RpdGxlLFxuICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2UgLnByb2plY3RfX3RpdGxlLFxuICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAucHJvamVjdCAucHJvamVjdF9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UgLnByb2plY3RfX3RpdGxlLFxuICAgICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QgLnByb2plY3RfX3RpdGxlLFxuICAgICAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZSAucHJvamVjdF9fdGl0bGUsXG4gICAgICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QgLnByb2plY3RfX3RpdGxlLFxuICAgICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UgLnByb2plY3RfX3RpdGxlLFxuICAgICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAucHJvamVjdCAucHJvamVjdF9fdGl0bGUsXG4gICAgICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2UgLnByb2plY3RfX3RpdGxlLFxuICAgICAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QgLnByb2plY3RfX3RpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLmltYWdlIGltZyxcbiAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAuaW1hZ2VzLWdyaWQgLnByb2plY3QgaW1nLFxuICAgICAgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlIGltZyxcbiAgICAgIC5ibG9jay1pbWFnZXMtZ3JpZCAucHJvamVjdC1ncmlkIC5wcm9qZWN0IGltZyxcbiAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZXMtZ3JpZCAuaW1hZ2UgaW1nLFxuICAgICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5wcm9qZWN0IGltZyxcbiAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLmltYWdlIGltZyxcbiAgICAgIC5ibG9jay1wcm9qZWN0cy1ncmlkIC5wcm9qZWN0LWdyaWQgLnByb2plY3QgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZSxcbiAgICAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QtZ3JpZCAuaW1hZ2UsXG4gICAgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkIC5pbWFnZSxcbiAgICAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC1ncmlkIC5pbWFnZSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uYmxvY2stcHJvamVjdHMtZ3JpZCArIC5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zLFxuLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMgKyAuYmxvY2stcHJvamVjdHMtZ3JpZCB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbl86LW1zLWZ1bGxzY3JlZW4gLmltYWdlcy1ncmlkLFxuXzotbXMtZnVsbHNjcmVlbiAucHJvamVjdC1ncmlkLCA6cm9vdCAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkLFxuOnJvb3QgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LWdyaWQsXG5fOi1tcy1mdWxsc2NyZWVuIC5pbWFnZXMtZ3JpZCxcbl86LW1zLWZ1bGxzY3JlZW4gLnByb2plY3QtZ3JpZCwgOnJvb3QgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlcy1ncmlkLFxuOnJvb3QgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuXzotbXMtZnVsbHNjcmVlbiAuaW1hZ2UsXG5fOi1tcy1mdWxsc2NyZWVuIC5wcm9qZWN0LCA6cm9vdCAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlLFxuOnJvb3QgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LFxuXzotbXMtZnVsbHNjcmVlbiAuaW1hZ2UsXG5fOi1tcy1mdWxsc2NyZWVuIC5wcm9qZWN0LCA6cm9vdCAuYmxvY2stcHJvamVjdHMtZ3JpZCAuaW1hZ2UsXG46cm9vdCAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdCB7XG4gIGZsZXg6IDEgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDUwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIF86LW1zLWZ1bGxzY3JlZW4gLmltYWdlLnAtd2lkdGgtMSxcbiAgICBfOi1tcy1mdWxsc2NyZWVuIC5wcm9qZWN0LnAtd2lkdGgtMSwgOnJvb3QgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZS5wLXdpZHRoLTEsXG4gICAgOnJvb3QgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LnAtd2lkdGgtMSxcbiAgICBfOi1tcy1mdWxsc2NyZWVuIC5pbWFnZS5wLXdpZHRoLTEsXG4gICAgXzotbXMtZnVsbHNjcmVlbiAucHJvamVjdC5wLXdpZHRoLTEsIDpyb290IC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZS5wLXdpZHRoLTEsXG4gICAgOnJvb3QgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QucC13aWR0aC0xIHtcbiAgICAgIGZsZXg6IDEgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgXzotbXMtZnVsbHNjcmVlbiAuaW1hZ2UucC13aWR0aC0yLFxuICAgIF86LW1zLWZ1bGxzY3JlZW4gLnByb2plY3QucC13aWR0aC0yLCA6cm9vdCAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlLnAtd2lkdGgtMixcbiAgICA6cm9vdCAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QucC13aWR0aC0yLFxuICAgIF86LW1zLWZ1bGxzY3JlZW4gLmltYWdlLnAtd2lkdGgtMixcbiAgICBfOi1tcy1mdWxsc2NyZWVuIC5wcm9qZWN0LnAtd2lkdGgtMiwgOnJvb3QgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlLnAtd2lkdGgtMixcbiAgICA6cm9vdCAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC5wLXdpZHRoLTIge1xuICAgICAgZmxleDogMSAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIF86LW1zLWZ1bGxzY3JlZW4gLmltYWdlLnAtd2lkdGgtMyxcbiAgICBfOi1tcy1mdWxsc2NyZWVuIC5wcm9qZWN0LnAtd2lkdGgtMywgOnJvb3QgLmJsb2NrLWltYWdlcy1ncmlkIC5pbWFnZS5wLXdpZHRoLTMsXG4gICAgOnJvb3QgLmJsb2NrLWltYWdlcy1ncmlkIC5wcm9qZWN0LnAtd2lkdGgtMyxcbiAgICBfOi1tcy1mdWxsc2NyZWVuIC5pbWFnZS5wLXdpZHRoLTMsXG4gICAgXzotbXMtZnVsbHNjcmVlbiAucHJvamVjdC5wLXdpZHRoLTMsIDpyb290IC5ibG9jay1wcm9qZWN0cy1ncmlkIC5pbWFnZS5wLXdpZHRoLTMsXG4gICAgOnJvb3QgLmJsb2NrLXByb2plY3RzLWdyaWQgLnByb2plY3QucC13aWR0aC0zIHtcbiAgICAgIGZsZXg6IDEgMCAzNy41JTtcbiAgICAgIG1heC13aWR0aDogMzcuNSU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgXzotbXMtZnVsbHNjcmVlbiAuaW1hZ2UucC13aWR0aC00LFxuICAgIF86LW1zLWZ1bGxzY3JlZW4gLnByb2plY3QucC13aWR0aC00LCA6cm9vdCAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlLnAtd2lkdGgtNCxcbiAgICA6cm9vdCAuYmxvY2staW1hZ2VzLWdyaWQgLnByb2plY3QucC13aWR0aC00LFxuICAgIF86LW1zLWZ1bGxzY3JlZW4gLmltYWdlLnAtd2lkdGgtNCxcbiAgICBfOi1tcy1mdWxsc2NyZWVuIC5wcm9qZWN0LnAtd2lkdGgtNCwgOnJvb3QgLmJsb2NrLXByb2plY3RzLWdyaWQgLmltYWdlLnAtd2lkdGgtNCxcbiAgICA6cm9vdCAuYmxvY2stcHJvamVjdHMtZ3JpZCAucHJvamVjdC5wLXdpZHRoLTQge1xuICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4uYmxvY2stY29udGVudC1idWlsZGVyLXdpdGgtY29sdW1ucyB7XG4gIHBhZGRpbmc6IDMuNXJlbSAwOyB9XG4gIC5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zX19oZWFkbGluZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMgLmRpc3BsYXktaGVhZGxpbmUge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gICAgLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMgLmNvbHVtbnMuZW5kIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMgLmNvbHVtbnMgdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zIC5jb2x1bW5zIGg1LCAuYmxvY2stY29udGVudC1idWlsZGVyLXdpdGgtY29sdW1ucyAuY29sdW1ucyBoNCB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMgLmNvbHVtbnMgaDUsIC5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zIC5jb2x1bW5zIGg0IHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7IH0gfVxuICAgIC5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zIC5jb2x1bW5zIGltZyB7XG4gICAgICBtYXJnaW46IDIwcHggMCAwIDA7IH1cbiAgLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMgKyAuYmxvY2stY29udGVudC1idWlsZGVyLXdpdGgtY29sdW1ucyB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLmhvbWVfX2Jhbm5lciArIC5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuXG4uYmxvY2stbWFya2V0LWljb24tZ3JpZC1tb2RpZmllZCxcbi5ibG9jay1tYXJrZXQtaWNvbi1ncmlkIHtcbiAgcGFkZGluZzogNXJlbSAwIDhyZW07IH1cbiAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQtbW9kaWZpZWQuc3BhY2UtMCxcbiAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQuc3BhY2UtMCB7XG4gICAgcGFkZGluZzogMCAwIDVyZW07IH1cbiAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQtbW9kaWZpZWQgLmljb24tZ3JpZCxcbiAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQgLmljb24tZ3JpZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuYmxvY2stbWFya2V0LWljb24tZ3JpZC1tb2RpZmllZCAuaWNvbi1saW5rLFxuICAuYmxvY2stbWFya2V0LWljb24tZ3JpZCAuaWNvbi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkLW1vZGlmaWVkIC5pY29uLWxpbms6aG92ZXIsXG4gICAgICAuYmxvY2stbWFya2V0LWljb24tZ3JpZCAuaWNvbi1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmYTQ2MTY7IH1cbiAgICAgICAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQtbW9kaWZpZWQgLmljb24tbGluazpob3ZlciBbY2xhc3MqPSdpY29uLW1hcmtldHNfJ10sXG4gICAgICAgIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkIC5pY29uLWxpbms6aG92ZXIgW2NsYXNzKj0naWNvbi1tYXJrZXRzXyddIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC04cHgsIDApOyB9XG4gICAgICAgIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkLW1vZGlmaWVkIC5pY29uLWxpbms6aG92ZXIgLmljb25fX3RpdGxlLFxuICAgICAgICAuYmxvY2stbWFya2V0LWljb24tZ3JpZCAuaWNvbi1saW5rOmhvdmVyIC5pY29uX190aXRsZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMThweCwgMCk7XG4gICAgICAgICAgY29sb3I6ICNmYTQ2MTY7IH0gfVxuICAuYmxvY2stbWFya2V0LWljb24tZ3JpZC1tb2RpZmllZCAuaWNvbixcbiAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQgLmljb24ge1xuICAgIHBhZGRpbmc6IDFyZW0gMC45Mzc1cmVtIDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQtbW9kaWZpZWQgLmljb24sXG4gICAgICAuYmxvY2stbWFya2V0LWljb24tZ3JpZCAuaWNvbiB7XG4gICAgICAgIHBhZGRpbmc6IDMuNXJlbSAwLjkzNzVyZW0gMDsgfSB9XG4gICAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQtbW9kaWZpZWQgLmljb24gLmljb24tbWFya2V0c19faW1hZ2UsXG4gICAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQgLmljb24gLmljb24tbWFya2V0c19faW1hZ2Uge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgICAgIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkLW1vZGlmaWVkIC5pY29uIC5pY29uLW1hcmtldHNfX2ltYWdlIGltZyxcbiAgICAgIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkIC5pY29uIC5pY29uLW1hcmtldHNfX2ltYWdlIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogN3JlbTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAgIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkLW1vZGlmaWVkIC5pY29uIC5pY29uLW1hcmtldHNfX2ltYWdlIGltZyxcbiAgICAgICAgICAuYmxvY2stbWFya2V0LWljb24tZ3JpZCAuaWNvbiAuaWNvbi1tYXJrZXRzX19pbWFnZSBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5LjM3NXJlbTsgfSB9XG4gICAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQtbW9kaWZpZWQgLmljb24gW2NsYXNzKj0naWNvbi1tYXJrZXRzXyddLFxuICAgIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkIC5pY29uIFtjbGFzcyo9J2ljb24tbWFya2V0c18nXSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgIGNvbG9yOiAjNjM2NDY2O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZmE0NjE2O1xuICAgICAgZm9udC1zaXplOiA0LjEyNXJlbTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQtbW9kaWZpZWQgLmljb24gW2NsYXNzKj0naWNvbi1tYXJrZXRzXyddLFxuICAgICAgICAuYmxvY2stbWFya2V0LWljb24tZ3JpZCAuaWNvbiBbY2xhc3MqPSdpY29uLW1hcmtldHNfJ10ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogOS4zNzVyZW07IH0gfVxuICAgIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkLW1vZGlmaWVkIC5pY29uX190aXRsZSxcbiAgICAuYmxvY2stbWFya2V0LWljb24tZ3JpZCAuaWNvbl9fdGl0bGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkLW1vZGlmaWVkIC5pY29uLWFycm93LXJpZ2h0LFxuICAuYmxvY2stbWFya2V0LWljb24tZ3JpZCAuaWNvbi1hcnJvdy1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMDsgfVxuICAuYmxvY2stbWFya2V0LWljb24tZ3JpZC1tb2RpZmllZCArIC5ibG9jay1iaWctaW1hZ2UtY3RhLFxuICAuYmxvY2stbWFya2V0LWljb24tZ3JpZCArIC5ibG9jay1iaWctaW1hZ2UtY3RhIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uYmxvY2stY29udGVudC1idWlsZGVyLXdpdGgtY29sdW1ucyArIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuXG4uYmxvY2stYmlnLWltYWdlLWN0YSArIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9XG5cbi5ibG9jay1tYXJrZXQtaWNvbi1ncmlkLW1vZGlmaWVkIC5pY29uIC5pY29uLW1hcmtldHNfX2ltYWdlIHtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQtbW9kaWZpZWQgLmljb24gLmljb24tbWFya2V0c19faW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDcuNXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAuYmxvY2stbWFya2V0LWljb24tZ3JpZC1tb2RpZmllZCAuaWNvbiAuaWNvbi1tYXJrZXRzX19pbWFnZSBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDguMTI1cmVtOyB9IH1cblxuLmJsb2NrLWJpZy1pbWFnZS1jdGEgLm9wdGlvbi0tdmlkZW9fZW1iZWQgLmltYWdlX192aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ibG9jay1iaWctaW1hZ2UtY3RhIC5iaWctaW1hZ2UtY3RhX19pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uYmxvY2stYmlnLWltYWdlLWN0YSAuaW1hZ2VfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYmxvY2stYmlnLWltYWdlLWN0YSAuY29sdW1ucyAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uYmxvY2stYmlnLWltYWdlLWN0YSAuY29sdW1ucyAuYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMjRweDsgfVxuXG4uYmxvY2stdHdvLWNvbHVtbi1jdGEge1xuICBwYWRkaW5nOiA1cmVtIDA7IH1cbiAgLmJsb2NrLXR3by1jb2x1bW4tY3RhIC5jdGFfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICAgIC5ibG9jay10d28tY29sdW1uLWN0YSAuY3RhX19idXR0b24gLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5ibG9jay10d28tY29sdW1uLWltYWdlLWljb24gZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5ibG9jay10d28tY29sdW1uLWltYWdlLWljb24gaDEsIC5ibG9jay10d28tY29sdW1uLWltYWdlLWljb24gaDIsIC5ibG9jay10d28tY29sdW1uLWltYWdlLWljb24gaDMsIC5ibG9jay10d28tY29sdW1uLWltYWdlLWljb24gaDQsIC5ibG9jay10d28tY29sdW1uLWltYWdlLWljb24gaDUsIC5ibG9jay10d28tY29sdW1uLWltYWdlLWljb24gaDYge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAuYmxvY2stdHdvLWNvbHVtbi1pbWFnZS1pY29uIC5pbWctY29udGFpbmVyLFxuICAuYmxvY2stdHdvLWNvbHVtbi1pbWFnZS1pY29uIC5pY29uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbi5ibG9jay10d28tY29sdW1uLWltYWdlLWljb24gLmltZy1jb250YWluZXIgaW1nLFxuLmJsb2NrLXR3by1jb2x1bW4taW1hZ2UtaWNvbiAuaWNvbi1jb250YWluZXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAuYmxvY2stdHdvLWNvbHVtbi1pbWFnZS1pY29uIC5pY29uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5ibG9jay1tYXJrZXQtc2VjdG9yLWNvbnRhY3QgLmltZy1jb250YWluZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmE0NjE2OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJsb2NrLW1hcmtldC1zZWN0b3ItY29udGFjdCAuaW1nLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgLmJsb2NrLW1hcmtldC1zZWN0b3ItY29udGFjdCAuaW1nLWNvbnRhaW5lciBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5ibG9jay1tYXJrZXQtc2VjdG9yLWNvbnRhY3QgLmltZy1jb250YWluZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uYmxvY2stbWFya2V0LXNlY3Rvci1jb250YWN0IC5jb250YWN0LWhlYWRsaW5lIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuYmxvY2stbWFya2V0LXNlY3Rvci1jb250YWN0IC5jb250YWN0LWhlYWRsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAuYmxvY2stbWFya2V0LXNlY3Rvci1jb250YWN0IC5jb250YWN0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtOyB9IH1cblxuLmJsb2NrLW1hcmtldC1zZWN0b3ItY29udGFjdCAuY29udGFjdCArIC5lbmQge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmJsb2NrLW1hcmtldC1zZWN0b3ItY29udGFjdCAuY29udGFjdCArIC5lbmQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5ibG9jay1tYXJrZXQtc2VjdG9yLWNvbnRhY3QgLmNvbnRhY3QgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2NrLW1hcmtldC1zZWN0b3ItY29udGFjdCAuY29udGFjdCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5ibG9jay1tYXJrZXQtc2VjdG9yLWNvbnRhY3QgLmNvbnRhY3RfX2lubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiBub25lOyB9IH1cblxuLmJsb2NrLW1hcmtldC1zZWN0b3ItY29udGFjdCAudGVhbS1saXN0aW5ncyB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI0NFQ0VDRTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJsb2NrLW1hcmtldC1zZWN0b3ItY29udGFjdCAudGVhbS1saXN0aW5ncyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfSB9XG4gIC5ibG9jay1tYXJrZXQtc2VjdG9yLWNvbnRhY3QgLnRlYW0tbGlzdGluZ3MgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5ibG9jay1tYXJrZXQtc2VjdG9yLWNvbnRhY3QgLnRlYW0tbGlzdGluZ3MgLnRlYW0taGVhZGxpbmUge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ibG9jay1tYXJrZXQtc2VjdG9yLWNvbnRhY3QgLnRlYW0tbGlzdGluZ3MgLnRlYW0taGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTsgfSB9XG5cbi5ibG9jay1tYXJrZXQtc3RvcnktYmxvY2sgLmN0YV9faW5uZXIge1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2RiZGNkZTtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNkYmRjZGU7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogLTNweDsgfVxuXG4uYmxvY2stbWFya2V0LXN0b3J5LWJsb2NrIC5jdGFfX3RpdGxlIHtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cblxuLmJsb2NrLW1hcmtldC1zdG9yeS1ibG9jayAuY3RhX19saW5rIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4uYmxvY2stbWFya2V0LXN0b3J5LWJsb2NrIC5yb3cgLmNvbHVtbnM6bGFzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5ibG9jay1tYXJrZXQtc3RvcnktYmxvY2sgLnJvdyAuY29sdW1uczpsYXN0LW9mLXR5cGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4jaG9tZV9iYW5uZXIge1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICNob21lX2Jhbm5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMjAzMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAjaG9tZV9iYW5uZXIuYmFubmVyX19mb3JtYXQtdmlkZW8gLmhvbWVfX2Jhbm5lci1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNob21lX2Jhbm5lci5iYW5uZXJfX2Zvcm1hdC1pbWFnZXMgLmhvbWVfX2Jhbm5lci1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICNob21lX2Jhbm5lci5iYW5uZXJfX2Zvcm1hdC1pbWFnZXMgLmhvbWVfX2Jhbm5lci1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0Ni41JTtcbiAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDkwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA0Ni41dnc7IH1cbiAgICAgICAgLmhlYWRlci1maXhlZCAjaG9tZV9iYW5uZXIuYmFubmVyX19mb3JtYXQtaW1hZ2VzIC5ob21lX19iYW5uZXItaW5uZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA3MnB4OyB9IH1cbiAgI2hvbWVfYmFubmVyIC5ob21lX19iYW5uZXItdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgI2hvbWVfYmFubmVyIC5ob21lX19iYW5uZXItdmlkZW8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICNob21lX2Jhbm5lciAuaG9tZV9fYmFubmVyLWNhcHRpb24ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSg3MywgNjYsIDY3LCAwKSAwJSwgcmdiYSgzNSwgMzEsIDMyLCAwLjYpIDY0LjElLCByZ2JhKDM1LCAzMSwgMzIsIDAuOCkgMTAwJSk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyNSU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgI2hvbWVfYmFubmVyIC5ob21lX19iYW5uZXItY2FwdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gNTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAjaG9tZV9iYW5uZXIgLmhvbWVfX2Jhbm5lci1jYXB0aW9uLWxpbmsge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICNob21lX2Jhbm5lciAuaG9tZV9fYmFubmVyLWNhcHRpb24tbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmE0NjE2OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5ob21lX19mZWF0dXJlZC1uZXdzIC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uaG9tZV9fZmVhdHVyZWQtbmV3cyBwLFxuLmhvbWVfX2ZlYXR1cmVkLW5ld3MgLmZlYXR1cmVkLW5ld3NfX21ldGEge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmhvbWVfX2ZlYXR1cmVkLW5ld3MgcCxcbiAgICAuaG9tZV9fZmVhdHVyZWQtbmV3cyAuZmVhdHVyZWQtbmV3c19fbWV0YSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4uaG9tZV9fZmVhdHVyZWQtbmV3cyBwICsgKiB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5ob21lX19mZWF0dXJlZC1uZXdzIHAgKyAqIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfSB9XG5cbi5ob21lX19mZWF0dXJlZC1uZXdzIC5mZWF0dXJlZC1uZXdzX19pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAuaG9tZV9fZmVhdHVyZWQtbmV3cyAuZmVhdHVyZWQtbmV3c19faW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uaG9tZV9fZmVhdHVyZWQtbmV3cyAuc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjZjFmMWYyOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5ob21lX19mZWF0dXJlZC1uZXdzIC5mZWF0dXJlZC1uZXdzX19yb3cgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5ob21lX19mZWF0dXJlZC1uZXdzIC5mZWF0dXJlZC1uZXdzX19yb3cgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uaG9tZV9fZmVhdHVyZWQtbmV3cyAuZmVhdHVyZWQtbmV3c19faGVhZGxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5ob21lX19mZWF0dXJlZC1uZXdzIC5mZWF0dXJlZC1uZXdzX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG4uaG9tZV9fZmVhdHVyZWQtbmV3cyAuZmVhdHVyZWQtbmV3c19fbGluayB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5ob21lX19mZWF0dXJlZC1uZXdzIC5mZWF0dXJlZC1uZXdzX19saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4uaG9tZV9fZmVhdHVyZWQtbmV3cyAuZmVhdHVyZWQtbmV3c19faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuaG9tZV9fZmVhdHVyZWQtbmV3cyAuZmVhdHVyZWQtbmV3c19faXRlbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuaG9tZV9fZmVhdHVyZWQtbmV3cyAuZmVhdHVyZWQtbmV3c19faXRlbTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZjFmMWYyO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwLjkzNzVyZW07XG4gICAgcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG4ud2VsY29tZS1zZWN0aW9uIHtcbiAgcGFkZGluZzogMi41cmVtOyB9XG4gIC53ZWxjb21lLXNlY3Rpb24gLnByaW1hcnktaGVhZGxpbmUgcCB7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogIzZiNmI2YjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMy40Mzc1cmVtIDAgMi41cmVtIDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLndlbGNvbWUtc2VjdGlvbiAucHJpbWFyeS1oZWFkbGluZSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjQzNzVyZW07IH0gfVxuICAud2VsY29tZS1zZWN0aW9uIC5zZWNvbmRhcnktaGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogI2ZhNDYxNjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMi41cmVtIDA7IH1cblxuLm5ld3MtdGl0bGUge1xuICB3aWR0aDogNzUlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiA1O1xuICBjb2xvcjogIzIzMWYyMDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLm5ld3MtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubmV3cy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuODEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ld3MtdGl0bGUge1xuICAgICAgY29sb3I6ICMyMzFmMjA7XG4gICAgICB0b3A6IDkwdnc7XG4gICAgICBsZWZ0OiAwOyB9IH1cbiAgLm5ld3MtdGl0bGUgLm5ld3Mtc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGFnZS1ob21lIC5uZXdzLXRpdGxlIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZGIE1ldGFcIiwgSGVsdmV0aWNhTmV1ZS1MaWdodCwgXCJIZWx2ZXRpY2EgTmV1ZSBMaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzYzNjQ2NjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7IH1cbiAgYm9keS5sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgYm9keS5ub3Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbiNjb250ZW50IHtcbiAgZm9udC1mYW1pbHk6IFwiRkYgTWV0YVwiLCBIZWx2ZXRpY2FOZXVlLUxpZ2h0LCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7IH1cblxuLmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTAwcHg7IH1cblxuLmVudHJ5LW1ldGEge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi51cGRhdGVkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udmNhcmQge1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG4udmNhcmQgLmZuIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5lbnRyeS1jb250ZW50IHAge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5mZWF0LWJsb2NrIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5mZWF0LWJsb2NrIHtcbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7IH0gfVxuICAuZmVhdC1ibG9jay5kYXJrZW5lZCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMjUwMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAuZmVhdC1ibG9jayAuZmVhdC1wYWdlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDE4JSAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLmZlYXQtYmxvY2sgLmZlYXQtcGFnZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiA0LjM3NXJlbTsgfSB9XG5cbi5jb250ZW50LXNlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuY29udGVudC1zZWN0aW9uIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5jb250ZW50LXNlY3Rpb24gKiArIHAge1xuICAgIG1hcmdpbi10b3A6IC43NXJlbTsgfVxuICAuY29udGVudC1zZWN0aW9uIHAgKyBvbCxcbiAgLmNvbnRlbnQtc2VjdGlvbiBwICsgdWwge1xuICAgIG1hcmdpbi10b3A6IC43NXJlbTsgfVxuICAuY29udGVudC1zZWN0aW9uIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07IH1cbiAgLmNvbnRlbnQtc2VjdGlvbiBhOm5vdCguYnV0dG9uKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmNvbnRlbnQtc2VjdGlvbiBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDEuMzc1cmVtIGF1dG87IH1cbiAgLmNvbnRlbnQtc2VjdGlvbiAuaW50cm90ZXh0IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5jb250ZW50LXNlY3Rpb24gLmludHJvdGV4dCB7XG4gICAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgLmNvbnRlbnQtc2VjdGlvbiAuY29sIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5jb250ZW50LXNlY3Rpb24gLmNvbCB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICAgIC5jb250ZW50LXNlY3Rpb24gLmNvbCBsaSB7XG4gICAgICBtYXJnaW46IDFyZW0gMDsgfVxuXG4ucGFnZS1jdWx0dXJlIC5jb250ZW50LXNlY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc2VjdGlvbnMge1xuICBwYWRkaW5nOiAyLjVyZW0gMDsgfVxuXG4ucGFnZS1ibG9jayB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnZS1hd2FyZHMgLnBhZ2UtdGl0bGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hd2FyZC1zZWN0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtOyB9XG4gIC5hd2FyZC1zZWN0aW9uIC5hd2FyZC1sYWJlbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLmF3YXJkLXNlY3Rpb24gLmF3YXJkLWxhYmVscyB7XG4gICAgICAgIHdpZHRoOiA5MCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuYXdhcmQtc2VjdGlvbiAuc2luZ2xlLWF3YXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAuYXdhcmQtc2VjdGlvbiAuc2luZ2xlLWF3YXJkIHtcbiAgICAgICAgd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDEuMjVyZW0gYXV0bzsgfSB9XG4gICAgLmF3YXJkLXNlY3Rpb24gLnNpbmdsZS1hd2FyZCAuYXdhcmQtbmFtZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuYXdhcmQtc2VjdGlvbiAuc2luZ2xlLWF3YXJkIC5hd2FyZC1uYW1lIGEge1xuICAgICAgICBjb2xvcjogIzZiNmI2YjsgfVxuICAgICAgICAuYXdhcmQtc2VjdGlvbiAuc2luZ2xlLWF3YXJkIC5hd2FyZC1uYW1lIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmE0NjE2OyB9XG5cbi5tZW1vcml1bS1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAubWVtb3JpdW0tc2VjdGlvbiAuaW4tbWVtb3JpdW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAuOTM3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07IH1cblxuI3NlYXJjaGZvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjc2VhcmNoZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItY29sb3I6ICNhMWExYTE7XG4gICAgZm9udC1mYW1pbHk6IFwiRkYgTWV0YVwiLCBIZWx2ZXRpY2FOZXVlLUxpZ2h0LCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgI3NlYXJjaGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG5cbi50aGUtc2VhcmNoLXJlc3VsdCB7XG4gIHBhZGRpbmc6IDIuNXJlbTsgfVxuXG4ubm8tcmVzdWx0cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIC5uby1yZXN1bHRzIC5zZWFyY2gtc3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmE0NjE2O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmYTQ2MTY7IH1cbiAgICAubm8tcmVzdWx0cyAuc2VhcmNoLXN1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzYzNjQ2NjtcbiAgICAgIGNvbG9yOiAjNjM2NDY2OyB9XG5cbi5wYWdlLWN1bHR1cmUgLnRlYW0tbGFiZWwge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBtYXJnaW4tbGVmdDogN3B4OyB9XG5cbi5wYWdlLWN1bHR1cmUgaDIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5yc0RlZmF1bHRJbnYgLnJzQnVsbGV0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0byAzNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnJzRGVmYXVsdEludiAucnNCdWxsZXQge1xuICB3aWR0aDogMTVweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDE1cHggIWltcG9ydGFudDsgfVxuXG4ucnNEZWZhdWx0SW52IC5yc0J1bGxldCBzcGFuIHtcbiAgd2lkdGg6IDE1cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICM2YjZiNmIgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDAlICFpbXBvcnRhbnQ7IH1cbiAgLnJzRGVmYXVsdEludiAucnNCdWxsZXQgc3Bhbjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6ICNmYTQ2MTYgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDAlICFpbXBvcnRhbnQ7IH1cblxuLnByb2plY3QtaW5mbyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5wcm9qZWN0LWluZm8gdWwgbGkge1xuICAgIG1hcmdpbjogMXJlbSAwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH1cblxuLmltYWdlLWNhcHRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA1cHggYXV0bztcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5wYWdlLXBoaWxvc29waHkgLmNvbnRlbnQtc2VjdGlvbiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4uYXdhcmRzLWJsb2NrIHtcbiAgcGFkZGluZzogMCAyLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAuYXdhcmRzLWJsb2NrIC5mcC10YWJsZUNlbGwge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLmF3YXJkcy1ibG9jayBoMiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5hd2FyZHMtYmxvY2sgaDIge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cmVtOyB9IH1cbiAgLmF3YXJkcy1ibG9jayAuYnV0dG9uLmRpc2NvdmVyLW1vcmUge1xuICAgIG1hcmdpbjogMnJlbSBhdXRvIDRyZW0gYXV0bztcbiAgICBwYWRkaW5nLXRvcDogLjU1ZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuYXdhcmRzLWJsb2NrIC5hd2FyZHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIC0wLjYyNXJlbTsgfVxuICAgICAgLmF3YXJkcy1ibG9jayAuYXdhcmRzOmJlZm9yZSwgLmF3YXJkcy1ibG9jayAuYXdhcmRzOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAuYXdhcmRzLWJsb2NrIC5hd2FyZHM6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmF3YXJkcy1ibG9jayAuYXdhcmRzID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbSAxLjI1cmVtOyB9XG4gICAgICAuYXdhcmRzLWJsb2NrIC5hd2FyZHMgPiBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMS4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgICAuYXdhcmRzLWJsb2NrIC5hd2FyZHMgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5hd2FyZHMtYmxvY2sgLmF3YXJkcyA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmF3YXJkcy1ibG9jayAuYXdhcmRzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMCAtMC42MjVyZW07IH1cbiAgICAgIC5hd2FyZHMtYmxvY2sgLmF3YXJkczpiZWZvcmUsIC5hd2FyZHMtYmxvY2sgLmF3YXJkczphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgLmF3YXJkcy1ibG9jayAuYXdhcmRzOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5hd2FyZHMtYmxvY2sgLmF3YXJkcyA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMS4yNXJlbTsgfVxuICAgICAgLmF3YXJkcy1ibG9jayAuYXdhcmRzID4gbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDEuMjVyZW07XG4gICAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAgICAgLmF3YXJkcy1ibG9jayAuYXdhcmRzID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAuYXdhcmRzLWJsb2NrIC5hd2FyZHMgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAuYXdhcmRzLWJsb2NrIC5hd2FyZHMgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5hd2FyZHMtYmxvY2sgLmF3YXJkcyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA4cmVtO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMXJlbSBhdXRvOyB9IH1cbiAgLmF3YXJkcy1ibG9jayAuYXdhcmRzIHAge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5hd2FyZHMtYmxvY2sgLmF3YXJkcyBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTsgfSB9XG4gIC5hd2FyZHMtYmxvY2sgLmF3YXJkOmJlZm9yZSwgLmF3YXJkcy1ibG9jayAuYXdhcmQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5hd2FyZHMtYmxvY2sgLmF3YXJkOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYXdhcmRzLWJsb2NrIC5zLWF3YXJkLXRodW1iIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLmF3YXJkcy1ibG9jayAucy1hd2FyZC10aHVtYiBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5hd2FyZHMtYmxvY2sgLnMtYXdhcmQtdGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA2MyU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYXdhcmRzLWJsb2NrIC5zLWF3YXJkLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICAuYXdhcmRzLWJsb2NrIC5zLWF3YXJkLXRpdGxlIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgcGFkZGluZzogMC42MjVyZW07IH0gfVxuXG4ub2ZzZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAyNTAwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gIC5vZnNlY3Rpb24gLm1haW4tYmxvY2sge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZnNlY3Rpb24gLm1haW4tYmxvY2s6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDsgfSB9XG4gICAgLm9mc2VjdGlvbiAubWFpbi1ibG9jayAubGFyZ2UtY2FwdGlvbiwgLm9mc2VjdGlvbiAubWFpbi1ibG9jayAubGFyZ2UtY2FwdGlvbiA+IHAge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAub2ZzZWN0aW9uIC5tYWluLWJsb2NrIC5sYXJnZS1jYXB0aW9uLCAub2ZzZWN0aW9uIC5tYWluLWJsb2NrIC5sYXJnZS1jYXB0aW9uID4gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTsgfSB9XG4gICAgLm9mc2VjdGlvbiAubWFpbi1ibG9jayAuc21hbGwtY2FwdGlvbiwgLm9mc2VjdGlvbiAubWFpbi1ibG9jayAuc21hbGwtY2FwdGlvbiA+IHAge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAub2ZzZWN0aW9uIC5tYWluLWJsb2NrIC5zbWFsbC1jYXB0aW9uLCAub2ZzZWN0aW9uIC5tYWluLWJsb2NrIC5zbWFsbC1jYXB0aW9uID4gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG5cbmgzLm1lbW9yaXVtLWhlYWRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4ucGFnZS10ZWFtIC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4ucGFnZS10ZWFtIC50ZWFtLWltYWdlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZS10ZWFtIC5jb250ZW50LXNlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMHJlbSAxLjI1cmVtIDByZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAucGFnZS10ZWFtIC5jb250ZW50LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH0gfVxuXG4ucGFnZS10ZWFtIC5jYXB0aW9uLXNlY3Rpb24gcCB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cblxuLnBhZ2UtdGVhbSAudGVhbS1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIC5wYWdlLXRlYW0gLnRlYW0taW1hZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAucGFnZS10ZWFtIC5sZWFkZXJzaGlwIC5oZWFkc2hvdC13aWR0aCB7XG4gICAgd2lkdGg6IDIwJTsgfSB9XG5cbi5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLnBhZ2UtdGVhbSAubGVhZGVyc2hpcCAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbiB7XG4gICAgbWluLWhlaWdodDogNjJ2dzsgfSB9XG5cbi5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbiBhIHBpY3R1cmUge1xuICBiYWNrZ3JvdW5kOiAjMjMxZjIwO1xuICBtYXJnaW4tYm90dG9tOiAxM3B4OyB9XG4gIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbiBhIHBpY3R1cmUubW9iaWxlLWhlYWRzaG90IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbiBhIHBpY3R1cmUubW9iaWxlLWhlYWRzaG90IGltZyB7XG4gICAgICBhc3BlY3QtcmF0aW86IDIwNyAvIDIyNjtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbiBhIHBpY3R1cmUubW9iaWxlLWhlYWRzaG90IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbiBhIHBpY3R1cmUuZGVza3RvcC1oZWFkc2hvdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAucGFnZS10ZWFtIC5sZWFkZXJzaGlwIC5wZXJzb24gYSBwaWN0dXJlLmRlc2t0b3AtaGVhZHNob3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAucGFnZS10ZWFtIC5sZWFkZXJzaGlwIC5wZXJzb24gYSBwaWN0dXJlLmRlc2t0b3AtaGVhZHNob3QgaW1nIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDI3MiAvIDMzOTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG4gIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbiBhIHBpY3R1cmUgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnZS10ZWFtIC5sZWFkZXJzaGlwIC5wZXJzb24gaW1nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbiBpbWc6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXRlYW0gLnRlYW0tc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwLjVyZW07IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2UtdGVhbSAudGVhbS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDAuNXJlbTsgfSB9XG5cbi5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnRlYW0tbGFiZWwsXG4ucGFnZS10ZWFtIC50ZWFtIC50ZWFtLWxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAgMCAxN3B4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NlY2VjZTtcbiAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnRlYW0tbGFiZWwsXG4gICAgLnBhZ2UtdGVhbSAudGVhbSAudGVhbS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbi1ibG9jayxcbi5wYWdlLXRlYW0gLnRlYW0gLnBlcnNvbi1ibG9jayB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDsgfVxuICAucGFnZS10ZWFtIC5sZWFkZXJzaGlwIC5wZXJzb24tYmxvY2sgcCxcbiAgLnBhZ2UtdGVhbSAudGVhbSAucGVyc29uLWJsb2NrIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLnBhZ2UtdGVhbSAubGVhZGVyc2hpcCAucGVyc29uLWJsb2NrIC5uYW1lLFxuICAucGFnZS10ZWFtIC50ZWFtIC5wZXJzb24tYmxvY2sgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMjMxZjIwOyB9XG4gICAgLnBhZ2UtdGVhbSAubGVhZGVyc2hpcCAucGVyc29uLWJsb2NrIC5uYW1lIC5saW5rLWFycm93LFxuICAgIC5wYWdlLXRlYW0gLnRlYW0gLnBlcnNvbi1ibG9jayAubmFtZSAubGluay1hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgLnBhZ2UtdGVhbSAubGVhZGVyc2hpcCAucGVyc29uLWJsb2NrIC5uYW1lIGEsXG4gICAgLnBhZ2UtdGVhbSAudGVhbSAucGVyc29uLWJsb2NrIC5uYW1lIGEge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOyB9XG4gICAgICAucGFnZS10ZWFtIC5sZWFkZXJzaGlwIC5wZXJzb24tYmxvY2sgLm5hbWUgYTpob3ZlcixcbiAgICAgIC5wYWdlLXRlYW0gLnRlYW0gLnBlcnNvbi1ibG9jayAubmFtZSBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC44OyB9XG4gIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbi1ibG9jayAudGl0bGUsXG4gIC5wYWdlLXRlYW0gLnRlYW0gLnBlcnNvbi1ibG9jayAudGl0bGUge1xuICAgIGNvbG9yOiAjNjM2NDY2O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbi1ibG9jayAubG9jYXRpb24sXG4gIC5wYWdlLXRlYW0gLnRlYW0gLnBlcnNvbi1ibG9jayAubG9jYXRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICM2MzY0NjY7IH1cbiAgLnBhZ2UtdGVhbSAubGVhZGVyc2hpcCAucGVyc29uLWJsb2NrIGEsXG4gIC5wYWdlLXRlYW0gLnRlYW0gLnBlcnNvbi1ibG9jayBhIHtcbiAgICBjb2xvcjogIzZiNmI2YjsgfVxuICAgIC5wYWdlLXRlYW0gLmxlYWRlcnNoaXAgLnBlcnNvbi1ibG9jayBhOmhvdmVyLFxuICAgIC5wYWdlLXRlYW0gLnRlYW0gLnBlcnNvbi1ibG9jayBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmE0NjE2OyB9XG5cbi5wYWdlLXRlYW0gLmN1bHR1cmUtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS10ZWFtIC5jdWx0dXJlLWltYWdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnBhZ2UtY3VsdHVyZSAucm93LmN1bHR1cmUtY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDAgMTZweDsgfVxuXG4ucGFnZS1jdWx0dXJlIC5yb3cuY3VsdHVyZS10aXRsZSB7XG4gIHBhZGRpbmc6IDAgOHB4OyB9XG5cbi5wYWdlLWN1bHR1cmUgLnJvdy5wcm9qZWN0LWdhbGxlcnkge1xuICBwYWRkaW5nOiAwIDhweDsgfVxuXG4uc2luZ2xlLXBlb3BsZSAuY3JlZGVudGlhbHMgaDUsXG4uc2luZ2xlLXBlb3BsZSAubmV3cyBoNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4uc2luZ2xlLXBlb3BsZSAuY3JlZGVudGlhbHMgcCxcbi5zaW5nbGUtcGVvcGxlIC5uZXdzIHAge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5zaW5nbGUtcGVvcGxlIC5jcmVkZW50aWFscyBoNSArIHAsXG4uc2luZ2xlLXBlb3BsZSAubmV3cyBoNSArIHAge1xuICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLnNpbmdsZS1wZW9wbGUgLmNyZWRlbnRpYWxzIGg1ICsgcCxcbiAgICAuc2luZ2xlLXBlb3BsZSAubmV3cyBoNSArIHAge1xuICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cblxuLnNpbmdsZS1wZW9wbGUgLmNyZWRlbnRpYWxzIHAgKyBwLFxuLnNpbmdsZS1wZW9wbGUgLm5ld3MgcCArIHAge1xuICBtYXJnaW4tdG9wOiAxMnB4OyB9XG5cbi5zaW5nbGUtcGVvcGxlIC5jcmVkZW50aWFscyBwLFxuLnNpbmdsZS1wZW9wbGUgLm5ld3MgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjM3OyB9XG5cbi5zaW5nbGUtcGVvcGxlIC5jcmVkZW50aWFscyBwID4gYSxcbi5zaW5nbGUtcGVvcGxlIC5uZXdzIHAgPiBhIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zaW5nbGUtcGVvcGxlIC5jcmVkZW50aWFscyArIC5uZXdzIHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4uc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5zaW5nbGUtcGVvcGxlIC5sZWZ0LXByb2ZpbGUgLnByby10aXRsZSxcbiAgICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5wZXJzb24tbmFtZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnNpbmdsZS1wZW9wbGUgLmxlZnQtcHJvZmlsZSAuY29udGFjdC1pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5zaW5nbGUtcGVvcGxlIC5sZWZ0LXByb2ZpbGUgLmNvbnRhY3QtaW5mbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gICAgLnNpbmdsZS1wZW9wbGUgLmxlZnQtcHJvZmlsZSAuY29udGFjdC1pbmZvIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7IH1cbiAgICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5jb250YWN0LWluZm8gYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaXRlbXMge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgLnNpbmdsZS1wZW9wbGUgLmxlZnQtcHJvZmlsZSAuY29udGFjdC1pbmZvIC5jb250YWN0LWl0ZW1zIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaXRlbXMgLmNvbnRhY3QtaXRlbSB7XG4gICAgICAgIGNvbG9yOiAjZmE0NjE2O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIC5zaW5nbGUtcGVvcGxlIC5sZWZ0LXByb2ZpbGUgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pdGVtcyAuY29udGFjdC1pdGVtOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzYzNjQ2NjsgfVxuICAgICAgICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaXRlbXMgLmNvbnRhY3QtaXRlbSAubGluay1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAgICAgICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaXRlbXMgLmNvbnRhY3QtaXRlbSAubGluay1sYWJlbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAgICAgLnNpbmdsZS1wZW9wbGUgLmxlZnQtcHJvZmlsZSAuY29udGFjdC1pbmZvIC5jb250YWN0LWl0ZW1zIC5jb250YWN0LWl0ZW0gKyAuY29udGFjdC1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7IH0gfVxuICAgICAgICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaXRlbXMgLmNvbnRhY3QtaXRlbSBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5uZXdzLFxuICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5jcmVkZW50aWFscyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAuc2luZ2xlLXBlb3BsZSAubGVmdC1wcm9maWxlIC5uZXdzLFxuICAgICAgLnNpbmdsZS1wZW9wbGUgLmxlZnQtcHJvZmlsZSAuY3JlZGVudGlhbHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zaW5nbGUtcGVvcGxlIC5yaWdodC1wcm9maWxlIC5wZXJzb24tbmFtZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnNpbmdsZS1wZW9wbGUgLnJpZ2h0LXByb2ZpbGUgLm5ld3MsXG4uc2luZ2xlLXBlb3BsZSAucmlnaHQtcHJvZmlsZSAuY3JlZGVudGlhbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5zaW5nbGUtcGVvcGxlIC5yaWdodC1wcm9maWxlIC5uZXdzLFxuICAgIC5zaW5nbGUtcGVvcGxlIC5yaWdodC1wcm9maWxlIC5jcmVkZW50aWFscyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNpbmdsZS1wZW9wbGUgLnJpZ2h0LXByb2ZpbGUgLnBlcnNvbi1uYW1lLFxuLnNpbmdsZS1wZW9wbGUgLnJpZ2h0LXByb2ZpbGUgLnByby10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuc2luZ2xlLXBlb3BsZSAucmlnaHQtcHJvZmlsZSAucGVyc29uLW5hbWUsXG4gICAgLnNpbmdsZS1wZW9wbGUgLnJpZ2h0LXByb2ZpbGUgLnByby10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5zaW5nbGUtcGVvcGxlIC5iaW8ge1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuXG4uc2luZ2xlLXBlb3BsZSAucmVjZW50LXByb2plY3RzIHtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIC5zaW5nbGUtcGVvcGxlIC5yZWNlbnQtcHJvamVjdHMgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgIC5zaW5nbGUtcGVvcGxlIC5yZWNlbnQtcHJvamVjdHMge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLnNpbmdsZS1wZW9wbGUgLnJlY2VudC1wcm9qZWN0cyBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogIzIzMWYyMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxNXB4IHdoaXRlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5zaW5nbGUtcGVvcGxlIC5yZWNlbnQtcHJvamVjdHMgYSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxNXB4IHdoaXRlOyB9IH1cbiAgLnNpbmdsZS1wZW9wbGUgLnJlY2VudC1wcm9qZWN0cyAucHJvamVjdC10aXRsZSB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAuc2luZ2xlLXBlb3BsZSAucmVjZW50LXByb2plY3RzIC5wcm9qZWN0LXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgLnNpbmdsZS1wZW9wbGUgLnJlY2VudC1wcm9qZWN0cyAucHJvamVjdC10aXRsZSAudGl0bGUtdGV4dCB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAuc2luZ2xlLXBlb3BsZSAucmVjZW50LXByb2plY3RzIC5wcm9qZWN0LWltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwYWRkaW5nLXRvcDogNzIlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5zaW5nbGUtcGVvcGxlIC5yZWNlbnQtcHJvamVjdHMgLnByb2plY3QtaW1nOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuMzsgfVxuICAgICAgLnNpbmdsZS1wZW9wbGUgLnJlY2VudC1wcm9qZWN0cyAucHJvamVjdC1pbWc6aG92ZXIgKyAucHJvamVjdC10aXRsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cblxuLnNpbmdsZS1wZW9wbGUgaW1nLnByb2ZpbGUtaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvIDEuMjVyZW0gYXV0bzsgfVxuXG4jcHJvamVjdC10ZWFtLWdyaWQge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoNTAlLCAxZnIpKTtcbiAgZ3JpZC1hdXRvLXJvd3M6IDFmcjtcbiAgZ3JpZC1nYXA6IDA7XG4gIGdyaWQtYXV0by1mbG93OiBkZW5zZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICNwcm9qZWN0LXRlYW0tZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMCUsIDFmcikpOyB9IH1cbiAgI3Byb2plY3QtdGVhbS1ncmlkIC5pLXRlYW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCB3aGl0ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNwcm9qZWN0LXRlYW0tZ3JpZCAuaS10ZWFtLml3LTEge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgI3Byb2plY3QtdGVhbS1ncmlkIC5pLXRlYW0uaXctMSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfSB9XG4gICAgI3Byb2plY3QtdGVhbS1ncmlkIC5pLXRlYW0uaXctMiB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAxOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbS5pdy0yIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9IH1cbiAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbS5pdy0zIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgICNwcm9qZWN0LXRlYW0tZ3JpZCAuaS10ZWFtLml3LTMge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7IH0gfVxuICAgICNwcm9qZWN0LXRlYW0tZ3JpZCAuaS10ZWFtLmloLTEge1xuICAgICAgaGVpZ2h0OiA1MHZ3OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbS5paC0xIHtcbiAgICAgICAgICBoZWlnaHQ6IDM1dnc7XG4gICAgICAgICAgbWF4LWhlaWdodDogNDg4cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbSB7XG4gICAgICAgIGJvcmRlcjogOHB4IHNvbGlkIHdoaXRlOyB9IH1cbiAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbSBwaWN0dXJlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2YjZiNmI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTB2dztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbSBwaWN0dXJlLmRlc2t0b3AtaGVhZHNob3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgICAgI3Byb2plY3QtdGVhbS1ncmlkIC5pLXRlYW0gcGljdHVyZS5kZXNrdG9wLWhlYWRzaG90IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgICNwcm9qZWN0LXRlYW0tZ3JpZCAuaS10ZWFtIHBpY3R1cmUubW9iaWxlLWhlYWRzaG90IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbSBwaWN0dXJlLm1vYmlsZS1oZWFkc2hvdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgICNwcm9qZWN0LXRlYW0tZ3JpZCAuaS10ZWFtIHBpY3R1cmUgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNTB2dyAtIDMwcHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgICAgI3Byb2plY3QtdGVhbS1ncmlkIC5pLXRlYW0gcGljdHVyZSBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDM1dncgLSAxMjhweCk7XG4gICAgICAgICAgICBib3R0b206IDEyOHB4OyB9IH1cbiAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbSAucHJvamVjdC10aXRsZSB7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgI3Byb2plY3QtdGVhbS1ncmlkIC5pLXRlYW0gLnByb2plY3QtdGl0bGUge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyOHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAuODEyNXJlbSAwOyB9IH1cbiAgICAgICNwcm9qZWN0LXRlYW0tZ3JpZCAuaS10ZWFtIC5wcm9qZWN0LXRpdGxlIC50aXRsZS10ZXh0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB6LWluZGV4OiA1MDA7IH1cbiAgICAgICAgI3Byb2plY3QtdGVhbS1ncmlkIC5pLXRlYW0gLnByb2plY3QtdGl0bGUgLnRpdGxlLXRleHQgLm5hbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBjb2xvcjogIzIzMWYyMDsgfVxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgICAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbSAucHJvamVjdC10aXRsZSAudGl0bGUtdGV4dCAubmFtZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgICAgICNwcm9qZWN0LXRlYW0tZ3JpZCAuaS10ZWFtIC5wcm9qZWN0LXRpdGxlIC50aXRsZS10ZXh0IC50aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBjb2xvcjogIzYzNjQ2NjtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgICAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbSAucHJvamVjdC10aXRsZSAudGl0bGUtdGV4dCAudGl0bGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAgICNwcm9qZWN0LXRlYW0tZ3JpZCAuaS10ZWFtIC5wcm9qZWN0LXRpdGxlIC50aXRsZS10ZXh0IC5sb2NhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjNjM2NDY2OyB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgICAgICNwcm9qZWN0LXRlYW0tZ3JpZCAuaS10ZWFtIC5wcm9qZWN0LXRpdGxlIC50aXRsZS10ZXh0IC5sb2NhdGlvbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAjcHJvamVjdC10ZWFtLWdyaWQgLmktdGVhbSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgI3Byb2plY3QtdGVhbS1ncmlkIGEuaS10ZWFtOmhvdmVyIGltZyB7XG4gICAgb3BhY2l0eTogMC43OyB9XG5cbi5wYWdlLXRlYW0gLnRlYW0tZmlsdGVycyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucGFnZS10ZWFtIC5yb3cubWFpbi1jYXRzLmxvd2VyLmNsb3NlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4ucGFnZS10ZWFtIGxpIGJ1dHRvbi5maWx0ZXItYnRuIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wYWdlLXRlYW0gLnBlb3BsZS1sb3dlciAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG5cbi5wYWdlLXRlYW0gLnJvdy5tYWluLXRhZ3MucGVvcGxlLWxvd2VyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5wYWdlLXRlYW0gLnBhZ2UtaWQtMjA0IC5zZWN0aW9ucyB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwOyB9XG5cbi5wYWdlLXRlYW0gYnV0dG9uLmZpbHRlci1idG4uYWN0aXZlIHtcbiAgY29sb3I6ICMyMzFmMjA7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZmE0NjE2OyB9XG5cbi5wYWdlLXRlYW0gYnV0dG9uLmZpbHRlci1idG4ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjNjM2NDY2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI3LjJweDtcbiAgZm9udC1mYW1pbHk6ICdGRiBNZXRhJywgSGVsdmV0aWNhTmV1ZS1MaWdodCwgJ0hlbHZldGljYSBOZXVlIExpZ2h0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IDEuNXJlbSAwIDEuMDYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxJTsgfVxuXG4ucGFnZS10ZWFtIGJ1dHRvbi5maWx0ZXItYnRuOmhvdmVyIHtcbiAgY29sb3I6ICNmYTQ2MTY7IH1cblxuLnBhZ2UtdGVhbSAubmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMyMzFmMjAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4ucGFnZS10ZWFtIC50aXRsZSB7XG4gIGNvbG9yOiAjNjM2NDY2O1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLXRlYW0gLmxvY2F0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM2MzY0NjY7IH1cblxuLnBhZ2UtdGVhbSAubGVhZGVyc2hpcCAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctdG9wOiAyMHB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLnBhZ2UtdGVhbSAuY29udGVudC1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlYW0gLnJvdy5tYWluLXRhZ3MucGVvcGxlLWxvd2VyLnRlYW0tZmlsdGVycyB7XG4gICAgcGFkZGluZzogMCAxcmVtOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAucGFnZS10ZWFtIC5jb250ZW50LXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDByZW0gMXJlbSAwcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wYWdlLXRlYW0gLnRlYW0tZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlYW0gLnJvdy5tYWluLWNhdHMubG93ZXIuY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAucGFnZS10ZWFtIC50ZWFtLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDFweCkge1xuICAucGFnZS10ZWFtIC5sZWFkZXJzaGlwIC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhZ2UtdGVhbSAudGl0bGUsXG4gIC5wYWdlLXRlYW0gLmxvY2F0aW9uIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLW1hcmtldC1sYW5kaW5nLFxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbGFuZGluZyB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1tYXJrZXQtbGFuZGluZyAubGFuZGluZy1wYWdlLXRlbXBsYXRlLWJsb2NrLXdyYXBwZXIsXG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWxhbmRpbmcgLmxhbmRpbmctcGFnZS10ZW1wbGF0ZS1ibG9jay13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MHJlbSkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbWFya2V0LWxhbmRpbmcgLmxhbmRpbmctcGFnZS10ZW1wbGF0ZS1ibG9jay13cmFwcGVyLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbGFuZGluZyAubGFuZGluZy1wYWdlLXRlbXBsYXRlLWJsb2NrLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbWFya2V0LWxhbmRpbmcgLmJsb2NrLFxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1tYXJrZXQtbGFuZGluZyBbY2xhc3MqPSdibG9jay0nXSxcbiAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbGFuZGluZyAuYmxvY2ssXG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWxhbmRpbmcgW2NsYXNzKj0nYmxvY2stJ10ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLW1hcmtldC1sYW5kaW5nIC5wYWdlLWludHJvLFxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nIC5wYWdlLWludHJvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAycmVtIGF1dG87IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbWFya2V0LWxhbmRpbmcgLnBhZ2UtaW50cm8sXG4gICAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nIC5wYWdlLWludHJvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1tYXJrZXQtbGFuZGluZyAucGFnZS1pbnRybyBwLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbGFuZGluZyAucGFnZS1pbnRybyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDsgfSB9XG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLW1hcmtldC1sYW5kaW5nIC5sYW5kaW5nLXBhZ2UtdGVtcGxhdGUtYmxvY2std3JhcHBlciA+IHNlY3Rpb24sXG4gIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWxhbmRpbmcgLmxhbmRpbmctcGFnZS10ZW1wbGF0ZS1ibG9jay13cmFwcGVyID4gc2VjdGlvbiB7XG4gICAgbWFyZ2luOiA1NnB4IDA7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1tYXJrZXQtbGFuZGluZyAubGFuZGluZy1wYWdlLXRlbXBsYXRlLWJsb2NrLXdyYXBwZXIgPiBzZWN0aW9uIC5yb3csXG4gICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbGFuZGluZyAubGFuZGluZy1wYWdlLXRlbXBsYXRlLWJsb2NrLXdyYXBwZXIgPiBzZWN0aW9uIC5yb3cge1xuICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpOyB9XG4gICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbWFya2V0LWxhbmRpbmcgLmxhbmRpbmctcGFnZS10ZW1wbGF0ZS1ibG9jay13cmFwcGVyID4gc2VjdGlvbiAucm93LWNvbnRhaW5lZCxcbiAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nIC5sYW5kaW5nLXBhZ2UtdGVtcGxhdGUtYmxvY2std3JhcHBlciA+IHNlY3Rpb24gLnJvdy1jb250YWluZWQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1tYXJrZXQtbGFuZGluZyAubGFuZGluZy1wYWdlLXRlbXBsYXRlLWJsb2NrLXdyYXBwZXIgPiBzZWN0aW9uIC5yb3ctY29udGFpbmVkLFxuICAgICAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nIC5sYW5kaW5nLXBhZ2UtdGVtcGxhdGUtYmxvY2std3JhcHBlciA+IHNlY3Rpb24gLnJvdy1jb250YWluZWQge1xuICAgICAgICAgIG1heC13aWR0aDogODMuMzMlOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLW1hcmtldC1sYW5kaW5nIC5sYW5kaW5nLXBhZ2UtdGVtcGxhdGUtYmxvY2std3JhcHBlciA+IHNlY3Rpb24gLnJvdy1jb250YWluZWQsXG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWxhbmRpbmcgLmxhbmRpbmctcGFnZS10ZW1wbGF0ZS1ibG9jay13cmFwcGVyID4gc2VjdGlvbiAucm93LWNvbnRhaW5lZCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2Ni42NiU7IH0gfVxuICAgIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLW1hcmtldC1sYW5kaW5nIC5sYW5kaW5nLXBhZ2UtdGVtcGxhdGUtYmxvY2std3JhcHBlciA+IHNlY3Rpb24gYmxvY2txdW90ZSxcbiAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nIC5sYW5kaW5nLXBhZ2UtdGVtcGxhdGUtYmxvY2std3JhcHBlciA+IHNlY3Rpb24gYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0NFQ0VDRTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0VDRUNFOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1tYXJrZXQtbGFuZGluZyAubGFuZGluZy1wYWdlLXRlbXBsYXRlLWJsb2NrLXdyYXBwZXIgPiBzZWN0aW9uIGJsb2NrcXVvdGUgY2l0ZSxcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLW1hcmtldC1sYW5kaW5nIC5sYW5kaW5nLXBhZ2UtdGVtcGxhdGUtYmxvY2std3JhcHBlciA+IHNlY3Rpb24gYmxvY2txdW90ZSBwLmNpdGUsXG4gICAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nIC5sYW5kaW5nLXBhZ2UtdGVtcGxhdGUtYmxvY2std3JhcHBlciA+IHNlY3Rpb24gYmxvY2txdW90ZSBjaXRlLFxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbGFuZGluZyAubGFuZGluZy1wYWdlLXRlbXBsYXRlLWJsb2NrLXdyYXBwZXIgPiBzZWN0aW9uIGJsb2NrcXVvdGUgcC5jaXRlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuXG4ucm93Lm1haW4tY2F0cyB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAwIDEuMTg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLnJvdy5tYWluLWNhdHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAucm93Lm1haW4tY2F0cyAuZmlsdGVyX190b2dnbGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzYzNjQ2NjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZGIE1ldGFcIiwgSGVsdmV0aWNhTmV1ZS1MaWdodCwgXCJIZWx2ZXRpY2EgTmV1ZSBMaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5yb3cubWFpbi1jYXRzIC5maWx0ZXJfX3RvZ2dsZTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5yb3cubWFpbi1jYXRzIC5maWx0ZXJfX3RvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5yb3cubWFpbi1jYXRzIC5maWx0ZXJfX3RvZ2dsZSBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5yb3cubWFpbi1jYXRzLmxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAucm93Lm1haW4tY2F0cy5sb3dlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICBib3R0b206IDA7IH0gfVxuICAgIC5yb3cubWFpbi1jYXRzLmxvd2VyIHVsIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgcGFkZGluZy1yaWdodDogMS4xODc1cmVtOyB9XG4gICAgICBAbWVkaWEgbGFyZ2UtZG93biB7XG4gICAgICAgIC5yb3cubWFpbi1jYXRzLmxvd2VyIHVsIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljOyB9IH1cbiAgICAucm93Lm1haW4tY2F0cy5sb3dlciA+IHVsIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXgtaGVpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAucm93Lm1haW4tY2F0cy5sb3dlciA+IHVsIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lOyB9IH1cbiAgICAucm93Lm1haW4tY2F0cy5sb3dlci5vcGVuID4gdWwge1xuICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDc1dmg7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAucm93Lm1haW4tY2F0cy5sb3dlci5vcGVuID4gdWwge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgIC5yb3cubWFpbi1jYXRzLmxvd2VyLm9wZW4gLmZpbHRlcl9fdG9nZ2xlIHNwYW4ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAucm93Lm1haW4tY2F0cy5ib3R0b20ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnJvdy5tYWluLWNhdHMuYm90dG9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgLnJvdy5tYWluLWNhdHMuZml4ZWQtc2Nyb2xsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3R0b206IDA7IH1cbiAgICAucm93Lm1haW4tY2F0cy5maXhlZC1zY3JvbGwgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5yb3cubWFpbi1jYXRzIC5zaG93LW1lbnUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogI2ZhNDYxNjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yb3cubWFpbi1jYXRzIC5zaG93LW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5yb3cubWFpbi1jYXRzIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJvdy5tYWluLWNhdHMgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkIH4gI21lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5yb3cubWFpbi1jYXRzIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgLnJvdy5tYWluLWNhdHMgdWwge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnJvdy5tYWluLWNhdHMgdWwubWFpbi1jYXRlZ29yaWVzLnN1Yi1maWx0ZXItb3BlbiA+IGxpID4gYSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5yb3cubWFpbi1jYXRzIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGNvbG9yOiAjZmE0NjE2O1xuICAgICAgcGFkZGluZzogMCAwLjI1ZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgLnJvdy5tYWluLWNhdHMgdWwgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAxLjVyZW0gMCAxLjA2MjVyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTsgfSB9XG4gICAgICAucm93Lm1haW4tY2F0cyB1bCBsaSBhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjNjM2NDY2O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgICAgLnJvdy5tYWluLWNhdHMgdWwgbGkgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogMTE2OHB4KSB7XG4gICAgLnJvdy5tYWluLWNhdHMgdWwgbGkgYSB7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTsgfSB9XG4gICAgICAgIC5yb3cubWFpbi1jYXRzIHVsIGxpIGEuc2VsZWN0ZWQsIC5yb3cubWFpbi1jYXRzIHVsIGxpIGEuY3VycmVudCB7XG4gICAgICAgICAgY29sb3I6ICMyMzFmMjA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmYTQ2MTY7IH1cbiAgICAgICAgLnJvdy5tYWluLWNhdHMgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmYTQ2MTY7IH1cbiAgICAgICAgLnJvdy5tYWluLWNhdHMgdWwgbGkgYS5zdWItZmlsdGVyX19vcGVuIFtjbGFzcyo9J2ljb24tJ10ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAgICAgLnJvdy5tYWluLWNhdHMgdWwgbGkgYS5zdWItZmlsdGVyX19jbG9zZSBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgICAgICAucm93Lm1haW4tY2F0cyB1bCBsaSBhIFtjbGFzcyo9J2ljb24tJ10ge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgICAgIC5yb3cubWFpbi1jYXRzIHVsIGxpIC5zdWItZmlsdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgICAgLnJvdy5tYWluLWNhdHMgdWwgbGkgLnN1Yi1maWx0ZXIuYWN0aXZlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yb3cubWFpbi1jYXRzIHVsIGxpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIC5yb3cubWFpbi1jYXRzIHVsIGxpIHVsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnJvdy5jYXQtZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbSAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMjlweDsgfVxuICAucm93LmNhdC1kZXNjcmlwdGlvbiBoNSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5yb3cuY2F0LWRlc2NyaXB0aW9uIC5kZXNjcmlwdGlvbi10ZXh0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9IH1cbiAgLnJvdy5jYXQtZGVzY3JpcHRpb24gLnByb2plY3QtbGFiZWxzIGg1IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5yb3cuY2F0LWRlc2NyaXB0aW9uIC5wcm9qZWN0LWxhYmVscyBoNSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAucm93LmNhdC1kZXNjcmlwdGlvbiAucHJvamVjdC1sYWJlbHMgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxcmVtIDBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICBjb2xvcjogIzZiNmI2YjsgfVxuICAgIC5yb3cuY2F0LWRlc2NyaXB0aW9uIC5wcm9qZWN0LWxhYmVscyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmE0NjE2OyB9XG5cbi5wYWdlLXBvcnRmb2xpbyAuY29udGVudC1hcmVhLFxuLnRheC1wcm9qZWN0LWNhdGVnb3JpZXMgLmNvbnRlbnQtYXJlYSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuI3Byb2plY3RfaG9tZV9ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwJSwgMWZyKSk7XG4gIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gIGdyaWQtZ2FwOiAwO1xuICBncmlkLWF1dG8tZmxvdzogZGVuc2U7IH1cbiAgI3Byb2plY3RfaG9tZV9ncmlkIC5pLXByb2plY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzFmMjA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHdoaXRlOyB9XG4gICAgI3Byb2plY3RfaG9tZV9ncmlkIC5pLXByb2plY3QuaXctMiB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9XG4gICAgI3Byb2plY3RfaG9tZV9ncmlkIC5pLXByb2plY3QuaXctMyB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAzOyB9XG4gICAgI3Byb2plY3RfaG9tZV9ncmlkIC5pLXByb2plY3QuaWgtMSB7XG4gICAgICBoZWlnaHQ6IDMwdnc7XG4gICAgICBtYXgtaGVpZ2h0OiA0MjNweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAjcHJvamVjdF9ob21lX2dyaWQgLmktcHJvamVjdCB7XG4gICAgICAgIGJvcmRlcjogOHB4IHNvbGlkIHdoaXRlOyB9IH1cbiAgICAjcHJvamVjdF9ob21lX2dyaWQgLmktcHJvamVjdCBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzB2dztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOyB9XG4gICAgI3Byb2plY3RfaG9tZV9ncmlkIC5pLXByb2plY3QgLnByb2plY3QtdGl0bGUge1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAjcHJvamVjdF9ob21lX2dyaWQgLmktcHJvamVjdCAucHJvamVjdC10aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICAgICNwcm9qZWN0X2hvbWVfZ3JpZCAuaS1wcm9qZWN0IC5wcm9qZWN0LXRpdGxlIC50aXRsZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05MCUpOyB9XG4gICAgI3Byb2plY3RfaG9tZV9ncmlkIC5pLXByb2plY3Q6aG92ZXIgLmZhZGVyIHtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIC1tb3otb3BhY2l0eTogMC4zO1xuICAgICAgLXdlYmtpdC1vcGFjaXR5OiAwLjM7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLm5vLXRvdWNoICNwcm9qZWN0X2hvbWVfZ3JpZCAuaS1wcm9qZWN0OmhvdmVyIC5wcm9qZWN0LXRpdGxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICM2YjZiNmIgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAjcHJvamVjdF9ob21lX2dyaWQgLmktcHJvamVjdCBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLmFyY2hpdmUudGF4LXByb2plY3QtY2F0ZWdvcmllcyAudGhlLXNpdGUtY29udGVudCxcbi5wYWdlLXBvcnRmb2xpbyAudGhlLXNpdGUtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDUuNjI1cmVtOyB9XG5cbmJvZHk6bm90KC5wYWdlLXBvcnRmb2xpbyk6bm90KC50YXgtcHJvamVjdC1jYXRlZ29yaWVzKTpub3QoLnBhZ2UtY29tcGxldGUtcG9ydGZvbGlvKSAjcHJvamVjdF9ncmlkIHtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG5ib2R5Om5vdCgucGFnZS1wb3J0Zm9saW8pOm5vdCgudGF4LXByb2plY3QtY2F0ZWdvcmllcyk6bm90KC5wYWdlLWNvbXBsZXRlLXBvcnRmb2xpbykgLmNvbHVtbnNldCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuYm9keTpub3QoLnBhZ2UtcG9ydGZvbGlvKTpub3QoLnRheC1wcm9qZWN0LWNhdGVnb3JpZXMpOm5vdCgucGFnZS1jb21wbGV0ZS1wb3J0Zm9saW8pIC5pLXByb2plY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiA0cHggc29saWQgd2hpdGU7XG4gIGhlaWdodDogMHB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIGJvZHk6bm90KC5wYWdlLXBvcnRmb2xpbyk6bm90KC50YXgtcHJvamVjdC1jYXRlZ29yaWVzKTpub3QoLnBhZ2UtY29tcGxldGUtcG9ydGZvbGlvKSAuaS1wcm9qZWN0IHtcbiAgICAgIGJvcmRlcjogOHB4IHNvbGlkIHdoaXRlOyB9IH1cbiAgYm9keTpub3QoLnBhZ2UtcG9ydGZvbGlvKTpub3QoLnRheC1wcm9qZWN0LWNhdGVnb3JpZXMpOm5vdCgucGFnZS1jb21wbGV0ZS1wb3J0Zm9saW8pIC5pLXByb2plY3QgLnByb2plY3QtcGhvdG8ge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzB2dztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsgfVxuICBib2R5Om5vdCgucGFnZS1wb3J0Zm9saW8pOm5vdCgudGF4LXByb2plY3QtY2F0ZWdvcmllcyk6bm90KC5wYWdlLWNvbXBsZXRlLXBvcnRmb2xpbykgLmktcHJvamVjdCAucHJvamVjdC10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIGJvZHk6bm90KC5wYWdlLXBvcnRmb2xpbyk6bm90KC50YXgtcHJvamVjdC1jYXRlZ29yaWVzKTpub3QoLnBhZ2UtY29tcGxldGUtcG9ydGZvbGlvKSAuaS1wcm9qZWN0IC5wcm9qZWN0LXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgYm9keTpub3QoLnBhZ2UtcG9ydGZvbGlvKTpub3QoLnRheC1wcm9qZWN0LWNhdGVnb3JpZXMpOm5vdCgucGFnZS1jb21wbGV0ZS1wb3J0Zm9saW8pIC5pLXByb2plY3QgLnByb2plY3QtdGl0bGUgLnRpdGxlLXRleHQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05MCUpOyB9XG4gIGJvZHk6bm90KC5wYWdlLXBvcnRmb2xpbyk6bm90KC50YXgtcHJvamVjdC1jYXRlZ29yaWVzKTpub3QoLnBhZ2UtY29tcGxldGUtcG9ydGZvbGlvKSAuaS1wcm9qZWN0OmhvdmVyIC5mYWRlciB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIC1tb3otb3BhY2l0eTogMC4zO1xuICAgIC13ZWJraXQtb3BhY2l0eTogMC4zOyB9XG4gIGJvZHk6bm90KC5wYWdlLXBvcnRmb2xpbyk6bm90KC50YXgtcHJvamVjdC1jYXRlZ29yaWVzKTpub3QoLnBhZ2UtY29tcGxldGUtcG9ydGZvbGlvKSAuaS1wcm9qZWN0OmhvdmVyIC5wcm9qZWN0LXRpdGxlIHtcbiAgICBjb2xvcjogIzZiNmI2YiAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBib2R5Om5vdCgucGFnZS1wb3J0Zm9saW8pOm5vdCgudGF4LXByb2plY3QtY2F0ZWdvcmllcyk6bm90KC5wYWdlLWNvbXBsZXRlLXBvcnRmb2xpbykgLmktcHJvamVjdC5pdy0xIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIGJvZHk6bm90KC5wYWdlLXBvcnRmb2xpbyk6bm90KC50YXgtcHJvamVjdC1jYXRlZ29yaWVzKTpub3QoLnBhZ2UtY29tcGxldGUtcG9ydGZvbGlvKSAuaS1wcm9qZWN0Lml3LTIge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgYm9keTpub3QoLnBhZ2UtcG9ydGZvbGlvKTpub3QoLnRheC1wcm9qZWN0LWNhdGVnb3JpZXMpOm5vdCgucGFnZS1jb21wbGV0ZS1wb3J0Zm9saW8pIC5pLXByb2plY3QuaXctMyB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICBib2R5Om5vdCgucGFnZS1wb3J0Zm9saW8pOm5vdCgudGF4LXByb2plY3QtY2F0ZWdvcmllcyk6bm90KC5wYWdlLWNvbXBsZXRlLXBvcnRmb2xpbykgLmktcHJvamVjdC5paC0xIHtcbiAgICBoZWlnaHQ6IDMwdnc7XG4gICAgbWF4LWhlaWdodDogNDIzcHg7IH1cbiAgYm9keTpub3QoLnBhZ2UtcG9ydGZvbGlvKTpub3QoLnRheC1wcm9qZWN0LWNhdGVnb3JpZXMpOm5vdCgucGFnZS1jb21wbGV0ZS1wb3J0Zm9saW8pIC5pLXByb2plY3QuaWgtMiB7XG4gICAgcGFkZGluZy10b3A6IDIwJTsgfVxuICBib2R5Om5vdCgucGFnZS1wb3J0Zm9saW8pOm5vdCgudGF4LXByb2plY3QtY2F0ZWdvcmllcyk6bm90KC5wYWdlLWNvbXBsZXRlLXBvcnRmb2xpbykgLmktcHJvamVjdCBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5mZWF0dXJlZC1wcm9qZWN0LWltYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTFhMTsgfVxuICAuZmVhdHVyZWQtcHJvamVjdC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFhMWExO1xuICAgIG9wYWNpdHk6IDA7IH1cblxuaDEucHJvamVjdC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAyLjVyZW0gMDsgfVxuXG4ucm93LnByb2plY3Qtcm93IHtcbiAgbWF4LXdpZHRoOiA3M3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wcm9qZWN0LWNvbnRlbnQge1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTsgfVxuICAucHJvamVjdC1jb250ZW50IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuZmlndXJlLndwLWNhcHRpb24ge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgZmlndXJlLndwLWNhcHRpb24gaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucHJvamVjdC1pbmZvIHtcbiAgcGFkZGluZzogMi41cmVtIDA7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gIC5wcm9qZWN0LWluZm8ucGVvcGxlIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5wcm9qZWN0LWluZm8ucGVvcGxlIC5wcm9qZWN0LXBlcnNvbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5wcm9qZWN0LWluZm8ucGVvcGxlIC5wcm9qZWN0LXBlcnNvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9qZWN0LWluZm8gLnByb2plY3QtYXdhcmQge1xuICAgIG1hcmdpbjogMXJlbSAwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH1cblxuLnJlbGF0ZWQtcHJvamVjdHMgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnJlbGF0ZWQtcHJvamVjdHMgLnNlY3Rpb24taGVhZGluZyB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC41cmVtOyB9XG5cbi5yZWxhdGVkLXByb2plY3RzIC5mZWF0dXJlZC1uZXdzLWJsb2NrIHtcbiAgb3BhY2l0eTogMC4zO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsgfVxuICAucmVsYXRlZC1wcm9qZWN0cyAuZmVhdHVyZWQtbmV3cy1ibG9jazpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ucmVsYXRlZC1wcm9qZWN0cyAubmV3cy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm5leHQtcG9zdC1ibG9jayB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDIwMDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBhZGRpbmc6IDVyZW0gMS4yNXJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5uZXh0LXBvc3QtYmxvY2sge1xuICAgICAgYm9yZGVyOiBzb2xpZCA3cHggd2hpdGU7IH0gfVxuICAubmV4dC1wb3N0LWJsb2NrIC5uZXh0LXByb2plY3QtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5uZXh0LXBvc3QtYmxvY2sgLm5leHQtcHJvamVjdC1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtOyB9IH1cbiAgLm5leHQtcG9zdC1ibG9jayAubmV4dC1wcm9qZWN0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAubmV4dC1wb3N0LWJsb2NrIC5uZXh0LXByb2plY3QtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuODEyNXJlbTsgfSB9XG5cbmJvZHkuc2luZ2xlLXByb2plY3QgLnNkLXNvY2lhbC1pY29uIC5zZC1jb250ZW50IHVsIGxpW2NsYXNzKj0nc2hhcmUtJ10gYSwgYm9keS5zaW5nbGUtcHJvamVjdCAuc2Qtc29jaWFsLWljb24gLnNkLWNvbnRlbnQgdWwgbGlbY2xhc3MqPSdzaGFyZS0nXSBhOmhvdmVyLCBib2R5LnNpbmdsZS1wcm9qZWN0IC5zZC1zb2NpYWwtaWNvbiAuc2QtY29udGVudCB1bCBsaVtjbGFzcyo9J3NoYXJlLSddIGRpdi5vcHRpb24gYSB7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmI2YjZiICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxOyB9XG4gIGJvZHkuc2luZ2xlLXByb2plY3QgLnNkLXNvY2lhbC1pY29uIC5zZC1jb250ZW50IHVsIGxpW2NsYXNzKj0nc2hhcmUtJ10gYTpob3ZlciwgYm9keS5zaW5nbGUtcHJvamVjdCAuc2Qtc29jaWFsLWljb24gLnNkLWNvbnRlbnQgdWwgbGlbY2xhc3MqPSdzaGFyZS0nXSBhOmhvdmVyOmhvdmVyLCBib2R5LnNpbmdsZS1wcm9qZWN0IC5zZC1zb2NpYWwtaWNvbiAuc2QtY29udGVudCB1bCBsaVtjbGFzcyo9J3NoYXJlLSddIGRpdi5vcHRpb24gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhNDYxNiAhaW1wb3J0YW50OyB9XG5cbi5hbGwtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvamVjdC1wZXJzb24gLmltYWdlLWNhcHRpb24ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMC44cmVtOyB9XG5cbi5yb3cucHJvamVjdC1nYWxsZXJ5IHtcbiAgcGFkZGluZzogMCA4cHg7IH1cblxuLnJlbGF0ZWQtcHJvamVjdHMge1xuICBwYWRkaW5nOiAwIDAuNXJlbTsgfVxuXG4ucmVsYXRlZC1wcm9qZWN0cyBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mZWF0dXJlZC1yZWFkaW5nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEwMDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gIC5mZWF0dXJlZC1yZWFkaW5nIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOyB9XG4gIC5mZWF0dXJlZC1yZWFkaW5nIGE6bm90KC5yZWxhdGVkLXBvcnRmb2xpby1saW5rKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIzMWYyMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZlYXR1cmVkLXJlYWRpbmcgYTpub3QoLnJlbGF0ZWQtcG9ydGZvbGlvLWxpbmspOmhvdmVyIC5uZXdzLXRpdGxlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmVhdHVyZWQtcmVhZGluZyBhOm5vdCgucmVsYXRlZC1wb3J0Zm9saW8tbGluayk6aG92ZXIgLmZlYXR1cmVkLW5ld3MtYmxvY2sge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZmVhdHVyZWQtcmVhZGluZyBoMi5zZWNvbmRhcnktaGVhZGxpbmUge1xuICAgIG1heC13aWR0aDogNjAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgY29sb3I6ICNmYTQ2MTY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5mZWF0dXJlZC1yZWFkaW5nIC5uZXdzLXRpdGxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLmZlYXR1cmVkLXJlYWRpbmcgLmZlYXR1cmVkLW5ld3MtYmxvY2stb3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDogNDsgfVxuICAuZmVhdHVyZWQtcmVhZGluZyAuZmVhdHVyZWQtbmV3cy1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmZlYXR1cmVkLXJlYWRpbmcgLmZlYXR1cmVkLW5ld3MtYmxvY2sge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAucHJvamVjdC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS4yNXJlbTsgfVxuICAucHJvamVjdC1pbmZvLnBlb3BsZSB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5jb250ZW50LXNlY3Rpb24gaW1nIHtcbiAgICBtYXJnaW46IDAuNXJlbSBhdXRvOyB9IH1cblxuLmJsb2cgLmZlYXR1ZWQtcG9zdCxcbi5hcmNoaXZlIC5mZWF0dWVkLXBvc3QsXG4uc2luZ2xlLXBvc3QgLmZlYXR1ZWQtcG9zdCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDQuMTg3NXJlbTsgfVxuICAuYmxvZyAuZmVhdHVlZC1wb3N0ID4gaDUsXG4gIC5hcmNoaXZlIC5mZWF0dWVkLXBvc3QgPiBoNSxcbiAgLnNpbmdsZS1wb3N0IC5mZWF0dWVkLXBvc3QgPiBoNSB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgLmJsb2cgLmZlYXR1ZWQtcG9zdCAuYmxvZy1wb3N0LmZlYXR1cmVkIC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUsXG4gIC5hcmNoaXZlIC5mZWF0dWVkLXBvc3QgLmJsb2ctcG9zdC5mZWF0dXJlZCAuZW50cnktaGVhZGVyIC5lbnRyeS1pdGVtLXRpdGxlLFxuICAuc2luZ2xlLXBvc3QgLmZlYXR1ZWQtcG9zdCAuYmxvZy1wb3N0LmZlYXR1cmVkIC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgLmJsb2cgLmZlYXR1ZWQtcG9zdCAuYmxvZy1wb3N0LmZlYXR1cmVkIC5lbnRyeS1oZWFkZXIgLmF1dGhvci1jcmVkaXQsXG4gIC5hcmNoaXZlIC5mZWF0dWVkLXBvc3QgLmJsb2ctcG9zdC5mZWF0dXJlZCAuZW50cnktaGVhZGVyIC5hdXRob3ItY3JlZGl0LFxuICAuc2luZ2xlLXBvc3QgLmZlYXR1ZWQtcG9zdCAuYmxvZy1wb3N0LmZlYXR1cmVkIC5lbnRyeS1oZWFkZXIgLmF1dGhvci1jcmVkaXQge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIC5ibG9nIC5mZWF0dWVkLXBvc3QgLmJsb2ctcG9zdC5mZWF0dXJlZCAuZW50cnktY29udGVudCBwLFxuICAuYXJjaGl2ZSAuZmVhdHVlZC1wb3N0IC5ibG9nLXBvc3QuZmVhdHVyZWQgLmVudHJ5LWNvbnRlbnQgcCxcbiAgLnNpbmdsZS1wb3N0IC5mZWF0dWVkLXBvc3QgLmJsb2ctcG9zdC5mZWF0dXJlZCAuZW50cnktY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJsb2cgLmZlYXR1ZWQtcG9zdCAuYmxvZy1wb3N0LmZlYXR1cmVkIC5lbnRyeS1mb290ZXIsXG4gIC5hcmNoaXZlIC5mZWF0dWVkLXBvc3QgLmJsb2ctcG9zdC5mZWF0dXJlZCAuZW50cnktZm9vdGVyLFxuICAuc2luZ2xlLXBvc3QgLmZlYXR1ZWQtcG9zdCAuYmxvZy1wb3N0LmZlYXR1cmVkIC5lbnRyeS1mb290ZXIge1xuICAgIHBhZGRpbmc6IDI0cHggMCA0MHB4OyB9XG5cbi5ibG9nIC5wb3N0cy1mZWVkLFxuLmFyY2hpdmUgLnBvc3RzLWZlZWQsXG4uc2luZ2xlLXBvc3QgLnBvc3RzLWZlZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDAgLTE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuYmxvZyAucG9zdHMtZmVlZCxcbiAgICAuYXJjaGl2ZSAucG9zdHMtZmVlZCxcbiAgICAuc2luZ2xlLXBvc3QgLnBvc3RzLWZlZWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTE3cHg7IH0gfVxuICAuYmxvZyAucG9zdHMtZmVlZCAuYmxvZy1wb3N0LFxuICAuYXJjaGl2ZSAucG9zdHMtZmVlZCAuYmxvZy1wb3N0LFxuICAuc2luZ2xlLXBvc3QgLnBvc3RzLWZlZWQgLmJsb2ctcG9zdCB7XG4gICAgZmxleDogMSAwIDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDAuOTM3NXJlbSA0N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAuYmxvZyAucG9zdHMtZmVlZCAuYmxvZy1wb3N0LFxuICAgICAgLmFyY2hpdmUgLnBvc3RzLWZlZWQgLmJsb2ctcG9zdCxcbiAgICAgIC5zaW5nbGUtcG9zdCAucG9zdHMtZmVlZCAuYmxvZy1wb3N0IHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLmJsb2cgLnBvc3RzLWZlZWQgLmJsb2ctcG9zdCBhcnRpY2xlLFxuICAgIC5hcmNoaXZlIC5wb3N0cy1mZWVkIC5ibG9nLXBvc3QgYXJ0aWNsZSxcbiAgICAuc2luZ2xlLXBvc3QgLnBvc3RzLWZlZWQgLmJsb2ctcG9zdCBhcnRpY2xlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktaGVhZGVyIGltZyxcbi5hcmNoaXZlIC5ibG9nLXBvc3QgLmVudHJ5LWhlYWRlciBpbWcsXG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuZW50cnktaGVhZGVyIGltZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LWhlYWRlciAuZW50cnktaXRlbS10aXRsZSxcbi5hcmNoaXZlIC5ibG9nLXBvc3QgLmVudHJ5LWhlYWRlciAuZW50cnktaXRlbS10aXRsZSxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAuYmxvZyAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUgPiBhOmxpbmssXG4gIC5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LWhlYWRlciAuZW50cnktaXRlbS10aXRsZSA+IGE6dmlzaXRlZCxcbiAgLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktaGVhZGVyIC5lbnRyeS1pdGVtLXRpdGxlID4gYTpsaW5rLFxuICAuYXJjaGl2ZSAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUgPiBhOnZpc2l0ZWQsXG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUgPiBhOmxpbmssXG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUgPiBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjMjMxZjIwOyB9XG4gIC5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LWhlYWRlciAuZW50cnktaXRlbS10aXRsZSA+IGE6aG92ZXIsXG4gIC5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LWhlYWRlciAuZW50cnktaXRlbS10aXRsZSA+IGE6YWN0aXZlLFxuICAuYXJjaGl2ZSAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUgPiBhOmhvdmVyLFxuICAuYXJjaGl2ZSAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUgPiBhOmFjdGl2ZSxcbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWhlYWRlciAuZW50cnktaXRlbS10aXRsZSA+IGE6aG92ZXIsXG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgLmVudHJ5LWl0ZW0tdGl0bGUgPiBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM2MzY0NjY7IH1cblxuLmJsb2cgLmJsb2ctcG9zdCAubWFpbi1hcnRpY2xlLFxuLmFyY2hpdmUgLmJsb2ctcG9zdCAubWFpbi1hcnRpY2xlLFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSB7XG4gIG1hcmdpbjogMi41cmVtIDA7IH1cblxuLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktZm9vdGVyLFxuLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktZm9vdGVyLFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWZvb3RlciB7XG4gIHBhZGRpbmc6IDFyZW0gMCAyLjA2MjVyZW07XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZjFmMWYyO1xuICBtYXJnaW4tdG9wOiBhdXRvOyB9XG5cbi5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgcCxcbi5hcmNoaXZlIC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgcCxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IHAge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBmaWd1cmUuYWxpZ25sZWZ0LFxuLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBpbWcuYWxpZ25sZWZ0LFxuLmJsb2cgLmJsb2ctcG9zdCAubWFpbi1hcnRpY2xlIGZpZ3VyZS5hbGlnbmxlZnQsXG4uYmxvZyAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWdubGVmdCxcbi5hcmNoaXZlIC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgZmlndXJlLmFsaWdubGVmdCxcbi5hcmNoaXZlIC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWdubGVmdCxcbi5hcmNoaXZlIC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBmaWd1cmUuYWxpZ25sZWZ0LFxuLmFyY2hpdmUgLmJsb2ctcG9zdCAubWFpbi1hcnRpY2xlIGltZy5hbGlnbmxlZnQsXG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBmaWd1cmUuYWxpZ25sZWZ0LFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWdubGVmdCxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgZmlndXJlLmFsaWdubGVmdCxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWdubGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBmaWd1cmUuYWxpZ25sZWZ0LFxuICAgIC5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWdubGVmdCxcbiAgICAuYmxvZyAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgZmlndXJlLmFsaWdubGVmdCxcbiAgICAuYmxvZyAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWdubGVmdCxcbiAgICAuYXJjaGl2ZSAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IGZpZ3VyZS5hbGlnbmxlZnQsXG4gICAgLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBpbWcuYWxpZ25sZWZ0LFxuICAgIC5hcmNoaXZlIC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBmaWd1cmUuYWxpZ25sZWZ0LFxuICAgIC5hcmNoaXZlIC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBpbWcuYWxpZ25sZWZ0LFxuICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IGZpZ3VyZS5hbGlnbmxlZnQsXG4gICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWdubGVmdCxcbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAubWFpbi1hcnRpY2xlIGZpZ3VyZS5hbGlnbmxlZnQsXG4gICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBpbWcuYWxpZ25sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBmaWd1cmUuYWxpZ25yaWdodCxcbi5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWducmlnaHQsXG4uYmxvZyAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgZmlndXJlLmFsaWducmlnaHQsXG4uYmxvZyAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWducmlnaHQsXG4uYXJjaGl2ZSAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IGZpZ3VyZS5hbGlnbnJpZ2h0LFxuLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBpbWcuYWxpZ25yaWdodCxcbi5hcmNoaXZlIC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBmaWd1cmUuYWxpZ25yaWdodCxcbi5hcmNoaXZlIC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBpbWcuYWxpZ25yaWdodCxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IGZpZ3VyZS5hbGlnbnJpZ2h0LFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWducmlnaHQsXG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAubWFpbi1hcnRpY2xlIGZpZ3VyZS5hbGlnbnJpZ2h0LFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBpbWcuYWxpZ25yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBmaWd1cmUuYWxpZ25yaWdodCxcbiAgICAuYmxvZyAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IGltZy5hbGlnbnJpZ2h0LFxuICAgIC5ibG9nIC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBmaWd1cmUuYWxpZ25yaWdodCxcbiAgICAuYmxvZyAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWducmlnaHQsXG4gICAgLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBmaWd1cmUuYWxpZ25yaWdodCxcbiAgICAuYXJjaGl2ZSAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IGltZy5hbGlnbnJpZ2h0LFxuICAgIC5hcmNoaXZlIC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBmaWd1cmUuYWxpZ25yaWdodCxcbiAgICAuYXJjaGl2ZSAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWducmlnaHQsXG4gICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgZmlndXJlLmFsaWducmlnaHQsXG4gICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWducmlnaHQsXG4gICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBmaWd1cmUuYWxpZ25yaWdodCxcbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAubWFpbi1hcnRpY2xlIGltZy5hbGlnbnJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBmaWd1cmUuYWxpZ25jZW50ZXIsXG4uYmxvZyAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IGltZy5hbGlnbmNlbnRlcixcbi5ibG9nIC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBmaWd1cmUuYWxpZ25jZW50ZXIsXG4uYmxvZyAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWduY2VudGVyLFxuLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBmaWd1cmUuYWxpZ25jZW50ZXIsXG4uYXJjaGl2ZSAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IGltZy5hbGlnbmNlbnRlcixcbi5hcmNoaXZlIC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBmaWd1cmUuYWxpZ25jZW50ZXIsXG4uYXJjaGl2ZSAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWduY2VudGVyLFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgZmlndXJlLmFsaWduY2VudGVyLFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWduY2VudGVyLFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBmaWd1cmUuYWxpZ25jZW50ZXIsXG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAubWFpbi1hcnRpY2xlIGltZy5hbGlnbmNlbnRlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBpbWcuYWxpZ25jZW50ZXIsXG4uYmxvZyAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWduY2VudGVyLFxuLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCBpbWcuYWxpZ25jZW50ZXIsXG4uYXJjaGl2ZSAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUgaW1nLmFsaWduY2VudGVyLFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWduY2VudGVyLFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLm1haW4tYXJ0aWNsZSBpbWcuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYmxvZyAuYmxvZy1wb3N0IGZpZ3VyZSxcbi5hcmNoaXZlIC5ibG9nLXBvc3QgZmlndXJlLFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgZmlndXJlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG4gIC5ibG9nIC5ibG9nLXBvc3QgZmlndXJlIGZpZ2NhcHRpb24sXG4gIC5hcmNoaXZlIC5ibG9nLXBvc3QgZmlndXJlIGZpZ2NhcHRpb24sXG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5ibG9nIC5ibG9nLXBvc3QgLmF1dGhvci1jcmVkaXQsXG4uYXJjaGl2ZSAuYmxvZy1wb3N0IC5hdXRob3ItY3JlZGl0LFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmF1dGhvci1jcmVkaXQge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBjb2xvcjogIzYzNjQ2NjtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uYmxvZyAuYmxvZy1wb3N0IGg1LnJlYWRtb3JlLFxuLmFyY2hpdmUgLmJsb2ctcG9zdCBoNS5yZWFkbW9yZSxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IGg1LnJlYWRtb3JlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4uYmxvZyAuYmxvZy1wb3N0IC5lbnRyeS1tZXRhLFxuLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktbWV0YSxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1tZXRhIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjYTFhMWExOyB9XG4gIC5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LW1ldGEgYSxcbiAgLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktbWV0YSBhLFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuZW50cnktbWV0YSBhIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjYTFhMWExOyB9XG4gIC5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LW1ldGEgLnBvc3RkYXRlLFxuICAuYXJjaGl2ZSAuYmxvZy1wb3N0IC5lbnRyeS1tZXRhIC5wb3N0ZGF0ZSxcbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LW1ldGEgLnBvc3RkYXRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cblxuLmJsb2cgLmJsb2ctbmF2LFxuLmFyY2hpdmUgLmJsb2ctbmF2LFxuLnNpbmdsZS1wb3N0IC5ibG9nLW5hdiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICAuYmxvZyAuYmxvZy1uYXYgLmxlZnQtbmF2LFxuICAuYXJjaGl2ZSAuYmxvZy1uYXYgLmxlZnQtbmF2LFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctbmF2IC5sZWZ0LW5hdiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmJsb2cgLmJsb2ctbmF2IC5sZWZ0LW5hdiBpbWcsXG4gICAgLmFyY2hpdmUgLmJsb2ctbmF2IC5sZWZ0LW5hdiBpbWcsXG4gICAgLnNpbmdsZS1wb3N0IC5ibG9nLW5hdiAubGVmdC1uYXYgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAgIC5ibG9nIC5ibG9nLW5hdiAubGVmdC1uYXY6aG92ZXIsXG4gICAgLmFyY2hpdmUgLmJsb2ctbmF2IC5sZWZ0LW5hdjpob3ZlcixcbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctbmF2IC5sZWZ0LW5hdjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgLmJsb2cgLmJsb2ctbmF2IC5yaWdodC1uYXYsXG4gIC5hcmNoaXZlIC5ibG9nLW5hdiAucmlnaHQtbmF2LFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctbmF2IC5yaWdodC1uYXYge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuYmxvZyAuYmxvZy1uYXYgLnJpZ2h0LW5hdjpob3ZlcixcbiAgICAuYXJjaGl2ZSAuYmxvZy1uYXYgLnJpZ2h0LW5hdjpob3ZlcixcbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctbmF2IC5yaWdodC1uYXY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgLmJsb2cgLmJsb2ctbmF2IC5yaWdodC1uYXYgaW1nLFxuICAgIC5hcmNoaXZlIC5ibG9nLW5hdiAucmlnaHQtbmF2IGltZyxcbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctbmF2IC5yaWdodC1uYXYgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxLjU2MjVyZW07IH1cblxuLmJsb2cgLmJsb2ctc2lkZWJhcixcbi5hcmNoaXZlIC5ibG9nLXNpZGViYXIsXG4uc2luZ2xlLXBvc3QgLmJsb2ctc2lkZWJhciB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAuYmxvZyAuYmxvZy1zaWRlYmFyIGg1LFxuICAuYXJjaGl2ZSAuYmxvZy1zaWRlYmFyIGg1LFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctc2lkZWJhciBoNSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYmxvZyAuYmxvZy1zaWRlYmFyIC5zb2NpYWwtYmxvY2suc29jaWFsLWxpbmstZ3JvdXAsXG4gIC5hcmNoaXZlIC5ibG9nLXNpZGViYXIgLnNvY2lhbC1ibG9jay5zb2NpYWwtbGluay1ncm91cCxcbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXNpZGViYXIgLnNvY2lhbC1ibG9jay5zb2NpYWwtbGluay1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAuYmxvZyAuYmxvZy1zaWRlYmFyIC5zb2NpYWwtYmxvY2sgLmlubGluZS1mbGV4LFxuICAuYXJjaGl2ZSAuYmxvZy1zaWRlYmFyIC5zb2NpYWwtYmxvY2sgLmlubGluZS1mbGV4LFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrIC5pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLmJsb2cgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrIC5zb2NpYWwtbGluayxcbiAgLmFyY2hpdmUgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrIC5zb2NpYWwtbGluayxcbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXNpZGViYXIgLnNvY2lhbC1ibG9jayAuc29jaWFsLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLmJsb2cgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrIC5zb2NpYWwtbGluayBzdmcsXG4gICAgLmFyY2hpdmUgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrIC5zb2NpYWwtbGluayBzdmcsXG4gICAgLnNpbmdsZS1wb3N0IC5ibG9nLXNpZGViYXIgLnNvY2lhbC1ibG9jayAuc29jaWFsLWxpbmsgc3ZnIHtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBmaWxsOiAjNmI2YjZiOyB9XG4gICAgLmJsb2cgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrIC5zb2NpYWwtbGluazpob3ZlciBzdmcsXG4gICAgLmFyY2hpdmUgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrIC5zb2NpYWwtbGluazpob3ZlciBzdmcsXG4gICAgLnNpbmdsZS1wb3N0IC5ibG9nLXNpZGViYXIgLnNvY2lhbC1ibG9jayAuc29jaWFsLWxpbms6aG92ZXIgc3ZnIHtcbiAgICAgIGZpbGw6ICNmYTQ2MTY7IH1cbiAgLmJsb2cgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrIGg1LFxuICAuYXJjaGl2ZSAuYmxvZy1zaWRlYmFyIC5zb2NpYWwtYmxvY2sgaDUsXG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1zaWRlYmFyIC5zb2NpYWwtYmxvY2sgaDUge1xuICAgIGNvbG9yOiAjYTFhMWExOyB9XG4gIC5ibG9nIC5ibG9nLXNpZGViYXIgLnNvY2lhbC1ibG9jayAjdGV4dC0zIHAuYWRkcmVzcyxcbiAgLmJsb2cgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrICN0ZXh0LTMgcC5hZGRyZXNzLXBvcnRsYW5kLFxuICAuYmxvZyAuYmxvZy1zaWRlYmFyIC5zb2NpYWwtYmxvY2sgI3RleHQtOCBwLmFkZHJlc3MsXG4gIC5ibG9nIC5ibG9nLXNpZGViYXIgLnNvY2lhbC1ibG9jayAjdGV4dC04IHAuYWRkcmVzcy1wb3J0bGFuZCxcbiAgLmFyY2hpdmUgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrICN0ZXh0LTMgcC5hZGRyZXNzLFxuICAuYXJjaGl2ZSAuYmxvZy1zaWRlYmFyIC5zb2NpYWwtYmxvY2sgI3RleHQtMyBwLmFkZHJlc3MtcG9ydGxhbmQsXG4gIC5hcmNoaXZlIC5ibG9nLXNpZGViYXIgLnNvY2lhbC1ibG9jayAjdGV4dC04IHAuYWRkcmVzcyxcbiAgLmFyY2hpdmUgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrICN0ZXh0LTggcC5hZGRyZXNzLXBvcnRsYW5kLFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrICN0ZXh0LTMgcC5hZGRyZXNzLFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrICN0ZXh0LTMgcC5hZGRyZXNzLXBvcnRsYW5kLFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrICN0ZXh0LTggcC5hZGRyZXNzLFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctc2lkZWJhciAuc29jaWFsLWJsb2NrICN0ZXh0LTggcC5hZGRyZXNzLXBvcnRsYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibG9nIC5ibG9nLXNpZGViYXIgLmZlYXR1cmVkLXBvc3RzLFxuICAuYXJjaGl2ZSAuYmxvZy1zaWRlYmFyIC5mZWF0dXJlZC1wb3N0cyxcbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXNpZGViYXIgLmZlYXR1cmVkLXBvc3RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgLmJsb2cgLmJsb2ctc2lkZWJhciAudGFnLXRvZ2dsZSxcbiAgLmFyY2hpdmUgLmJsb2ctc2lkZWJhciAudGFnLXRvZ2dsZSxcbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXNpZGViYXIgLnRhZy10b2dnbGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5ibG9nIC5ibG9nLXNpZGViYXIgLnRhZy10b2dnbGUgaW1nLFxuICAgIC5hcmNoaXZlIC5ibG9nLXNpZGViYXIgLnRhZy10b2dnbGUgaW1nLFxuICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1zaWRlYmFyIC50YWctdG9nZ2xlIGltZyB7XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuYmxvZyAuYmxvZy1zaWRlYmFyIC50YWctdG9nZ2xlIGltZy5vcGVuLFxuICAgICAgLmFyY2hpdmUgLmJsb2ctc2lkZWJhciAudGFnLXRvZ2dsZSBpbWcub3BlbixcbiAgICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1zaWRlYmFyIC50YWctdG9nZ2xlIGltZy5vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWSgtMnB4KTsgfVxuXG4uYmxvZyAuYmxvZy1wb3N0LWZvb3RlciAuY2F0LXNlY3Rpb24sXG4uYmxvZyAuY2F0LXNlY3Rpb24sXG4uYXJjaGl2ZSAuYmxvZy1wb3N0LWZvb3RlciAuY2F0LXNlY3Rpb24sXG4uYXJjaGl2ZSAuY2F0LXNlY3Rpb24sXG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdC1mb290ZXIgLmNhdC1zZWN0aW9uLFxuLnNpbmdsZS1wb3N0IC5jYXQtc2VjdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgLmJsb2cgLmJsb2ctcG9zdC1mb290ZXIgLmNhdC1zZWN0aW9uIGxpLFxuICAuYmxvZyAuY2F0LXNlY3Rpb24gbGksXG4gIC5hcmNoaXZlIC5ibG9nLXBvc3QtZm9vdGVyIC5jYXQtc2VjdGlvbiBsaSxcbiAgLmFyY2hpdmUgLmNhdC1zZWN0aW9uIGxpLFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdC1mb290ZXIgLmNhdC1zZWN0aW9uIGxpLFxuICAuc2luZ2xlLXBvc3QgLmNhdC1zZWN0aW9uIGxpIHtcbiAgICBtYXJnaW46IDFyZW0gMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIC5ibG9nIC5ibG9nLXBvc3QtZm9vdGVyIC5jYXQtc2VjdGlvbiBsaSBhLFxuICAgIC5ibG9nIC5jYXQtc2VjdGlvbiBsaSBhLFxuICAgIC5hcmNoaXZlIC5ibG9nLXBvc3QtZm9vdGVyIC5jYXQtc2VjdGlvbiBsaSBhLFxuICAgIC5hcmNoaXZlIC5jYXQtc2VjdGlvbiBsaSBhLFxuICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0LWZvb3RlciAuY2F0LXNlY3Rpb24gbGkgYSxcbiAgICAuc2luZ2xlLXBvc3QgLmNhdC1zZWN0aW9uIGxpIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBjb2xvcjogI2ZhNDYxNjsgfVxuICAgICAgLmJsb2cgLmJsb2ctcG9zdC1mb290ZXIgLmNhdC1zZWN0aW9uIGxpIGE6aG92ZXIsXG4gICAgICAuYmxvZyAuY2F0LXNlY3Rpb24gbGkgYTpob3ZlcixcbiAgICAgIC5hcmNoaXZlIC5ibG9nLXBvc3QtZm9vdGVyIC5jYXQtc2VjdGlvbiBsaSBhOmhvdmVyLFxuICAgICAgLmFyY2hpdmUgLmNhdC1zZWN0aW9uIGxpIGE6aG92ZXIsXG4gICAgICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdC1mb290ZXIgLmNhdC1zZWN0aW9uIGxpIGE6aG92ZXIsXG4gICAgICAuc2luZ2xlLXBvc3QgLmNhdC1zZWN0aW9uIGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzZiNmI2YjsgfVxuXG4uYmxvZyAudGFnLXNlY3Rpb24sXG4uYXJjaGl2ZSAudGFnLXNlY3Rpb24sXG4uc2luZ2xlLXBvc3QgLnRhZy1zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYmxvZyAudGFnLXNlY3Rpb24ub3BlbixcbiAgLmFyY2hpdmUgLnRhZy1zZWN0aW9uLm9wZW4sXG4gIC5zaW5nbGUtcG9zdCAudGFnLXNlY3Rpb24ub3BlbiB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfVxuICAuYmxvZyAudGFnLXNlY3Rpb24gLmJsb2ctdGFnLFxuICAuYXJjaGl2ZSAudGFnLXNlY3Rpb24gLmJsb2ctdGFnLFxuICAuc2luZ2xlLXBvc3QgLnRhZy1zZWN0aW9uIC5ibG9nLXRhZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMS4yNXJlbTtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDAuMzEyNXJlbSAwIDA7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAgIC5ibG9nIC50YWctc2VjdGlvbiAuYmxvZy10YWc6aG92ZXIsXG4gICAgLmFyY2hpdmUgLnRhZy1zZWN0aW9uIC5ibG9nLXRhZzpob3ZlcixcbiAgICAuc2luZ2xlLXBvc3QgLnRhZy1zZWN0aW9uIC5ibG9nLXRhZzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLmJsb2cgLnBhZ2UtaGVhZGVyLFxuLmFyY2hpdmUgLnBhZ2UtaGVhZGVyLFxuLnNpbmdsZS1wb3N0IC5wYWdlLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgLmJsb2cgLnBhZ2UtaGVhZGVyX19pbm5lcixcbiAgLmFyY2hpdmUgLnBhZ2UtaGVhZGVyX19pbm5lcixcbiAgLnNpbmdsZS1wb3N0IC5wYWdlLWhlYWRlcl9faW5uZXIge1xuICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjFmMWYyOyB9XG4gIC5ibG9nIC5wYWdlLWhlYWRlciAuYXJjaGl2ZS10aXRsZSArIHAsXG4gIC5hcmNoaXZlIC5wYWdlLWhlYWRlciAuYXJjaGl2ZS10aXRsZSArIHAsXG4gIC5zaW5nbGUtcG9zdCAucGFnZS1oZWFkZXIgLmFyY2hpdmUtdGl0bGUgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4OyB9XG5cbi5zaW5nbGUtcG9zdCBoMS5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4uc2luZ2xlLXBvc3QgLmVudHJ5LWhlYWRlci0taW5mbyB7XG4gIG1hcmdpbjogMCBhdXRvIDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuc2luZ2xlLXBvc3QgLmVudHJ5LWhlYWRlci0taW5mbyB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLnNpbmdsZS1wb3N0IC5lbnRyeS1oZWFkZXItLWluZm8gLmF1dGhvci1jcmVkaXQge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogIzYzNjQ2NjtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5zaW5nbGUtcG9zdCAuZW50cnktaGVhZGVyLS1pbmZvIC5hdXRob3ItY3JlZGl0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgLnNpbmdsZS1wb3N0IC5lbnRyeS1oZWFkZXItLWluZm8gLmVudHJ5LW1ldGEge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnNpbmdsZS1wb3N0IC5lbnRyeS1oZWFkZXItLWluZm8gLmNhdGVnb3JpZXMge1xuICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgIC5zaW5nbGUtcG9zdCAuZW50cnktaGVhZGVyLS1pbmZvIC5jYXRlZ29yaWVzIGEge1xuICAgICAgY29sb3I6ICNmYTQ2MTY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuc2luZ2xlLXBvc3QgLmVudHJ5LWhlYWRlci0taW5mbyAuY2F0ZWdvcmllcyBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgICAgIC5zaW5nbGUtcG9zdCAuZW50cnktaGVhZGVyLS1pbmZvIC5jYXRlZ29yaWVzIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzZiNmI2YjsgfVxuXG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAubWFpbi1hcnRpY2xlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc2luZ2xlLXBvc3QgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbixcbi5ibG9nIC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24sXG4uYXJjaGl2ZSAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIHtcbiAgcGFkZGluZzogMCAwIDMwcHg7IH1cbiAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1saW5rcyxcbiAgLmJsb2cgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LWxpbmtzLFxuICAuYXJjaGl2ZSAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbGlua3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhLFxuICAuc2luZ2xlLXBvc3QgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgYSxcbiAgLmJsb2cgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGEsXG4gIC5ibG9nIC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGEsXG4gIC5hcmNoaXZlIC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhLFxuICAuYXJjaGl2ZSAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhIHtcbiAgICBjb2xvcjogIzYzNjQ2NjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmhvdmVyLFxuICAgIC5zaW5nbGUtcG9zdCAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhOmhvdmVyLFxuICAgIC5ibG9nIC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmhvdmVyLFxuICAgIC5ibG9nIC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6aG92ZXIsXG4gICAgLmFyY2hpdmUgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGE6aG92ZXIsXG4gICAgLmFyY2hpdmUgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZhNDYxNjsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBhOmhvdmVyIGg1LFxuICAgICAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6aG92ZXIgaDUsXG4gICAgICAuYmxvZyAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3ZlciBoNSxcbiAgICAgIC5ibG9nIC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6aG92ZXIgaDUsXG4gICAgICAuYXJjaGl2ZSAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYTpob3ZlciBoNSxcbiAgICAgIC5hcmNoaXZlIC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IGE6aG92ZXIgaDUge1xuICAgICAgICBjb2xvcjogIzYzNjQ2NjsgfVxuICAgIC5zaW5nbGUtcG9zdCAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgYSBbY2xhc3MqPSdpY29uLSddLFxuICAgIC5zaW5nbGUtcG9zdCAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhIFtjbGFzcyo9J2ljb24tJ10sXG4gICAgLmJsb2cgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGEgW2NsYXNzKj0naWNvbi0nXSxcbiAgICAuYmxvZyAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhIFtjbGFzcyo9J2ljb24tJ10sXG4gICAgLmFyY2hpdmUgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIGEgW2NsYXNzKj0naWNvbi0nXSxcbiAgICAuYXJjaGl2ZSAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtbmV4dCBhIFtjbGFzcyo9J2ljb24tJ10ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiA2MCU7IH1cbiAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBbY2xhc3MqPSdpY29uLSddLFxuICAuYmxvZyAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMgW2NsYXNzKj0naWNvbi0nXSxcbiAgLmFyY2hpdmUgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIFtjbGFzcyo9J2ljb24tJ10ge1xuICAgIG1hcmdpbi1yaWdodDogMThweDsgfVxuICAuc2luZ2xlLXBvc3QgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgW2NsYXNzKj0naWNvbi0nXSxcbiAgLmJsb2cgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgW2NsYXNzKj0naWNvbi0nXSxcbiAgLmFyY2hpdmUgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgW2NsYXNzKj0naWNvbi0nXSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4cHg7IH1cblxuLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24ge1xuICBwYWRkaW5nLXRvcDogMThweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuc2luZ2xlLXBvc3QgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1saW5rcyB7XG4gICAgYWxpZ24taXRlbXM6IGluaXRpYWw7IH1cbiAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyxcbiAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IHtcbiAgICBmbGV4OiAxIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1wcmV2aW91cyBoNSxcbiAgICAuc2luZ2xlLXBvc3QgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQgaDUge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgbWFyZ2luLXRvcDogMTdweDsgfVxuICAuc2luZ2xlLXBvc3QgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgICAuc2luZ2xlLXBvc3QgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIFtjbGFzcyo9J2ljb24tJ10ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgLnNpbmdsZS1wb3N0IC5uYXZpZ2F0aW9uLnBvc3RzLW5hdmlnYXRpb24gLm5hdi1uZXh0IFtjbGFzcyo9J2ljb24tJ10ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7IH1cblxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5lbnRyeS1tZXRhIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjFmMWYyOyB9XG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0LWZvb3RlciAuZW50cnktbWV0YS0taW5uZXIge1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0LWZvb3RlciAuZW50cnktbWV0YS0taW5uZXIge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5lbnRyeS1tZXRhIC5jYXRlZ29yaWVzIGEge1xuICAgIGNvbG9yOiAjZmE0NjE2O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0LWZvb3RlciAuZW50cnktbWV0YSAuY2F0ZWdvcmllcyBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5lbnRyeS1tZXRhIC5jYXRlZ29yaWVzIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM2YjZiNmI7IH1cbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5lbnRyeS1tZXRhIC50YWctdG9nZ2xlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5lbnRyeS1tZXRhIC50YWctdG9nZ2xlIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0LWZvb3RlciAuZW50cnktbWV0YSAudGFnLXRvZ2dsZSBpbWcge1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5lbnRyeS1tZXRhIC50YWctdG9nZ2xlIGltZy5vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWSgtMnB4KTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5lbnRyeS1tZXRhIC50YWctdG9nZ2xlIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0LWZvb3RlciAuZW50cnktbWV0YSAudGFnLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5lbnRyeS1tZXRhIC50YWctc2VjdGlvbiB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5lbnRyeS1tZXRhLmJvdHRvbSB7XG4gICAgcGFkZGluZy10b3A6IDM2cHg7IH1cbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdC1mb290ZXIgLmVudHJ5LW1ldGEuYm90dG9tIGg1IHtcbiAgICAgIGNvbG9yOiAjNjM2NDY2O1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0LWZvb3RlciAuZW50cnktbWV0YSAucG9zdGRhdGUge1xuICAgIG1hcmdpbjogOHB4IDAgMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgY29sb3I6ICM5ZDlmYTE7IH1cblxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5yZWxhdGVkLXBvc3RzIHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdC1mb290ZXIgLnJlbGF0ZWQtcG9zdHMtLWhlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICM2MzY0NjY7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdC1mb290ZXIgLnJlbGF0ZWQtcG9zdHMtLWhlYWRpbmcgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdC1mb290ZXIgLnJlbGF0ZWQtcG9zdHMgcCBhIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjZmE0NjE2O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0LWZvb3RlciAucmVsYXRlZC1wb3N0cyBwIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM2YjZiNmI7IH1cbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QtZm9vdGVyIC5yZWxhdGVkLXBvc3RzIHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cblxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLndwLWNhcHRpb24sXG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCAud3AtY2FwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLndwLWNhcHRpb24gLndwLWNhcHRpb24tdGV4dCBwLFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0LFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCAud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0IHAsXG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICM2MzY0NjY7XG4gICAgcGFkZGluZy10b3A6IDhweDsgfVxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAud3AtY2FwdGlvbi5wb3N0LWhlcm8sXG4gIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC53cC1jYXB0aW9uLnBvc3QtaGVybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC53cC1jYXB0aW9uLnBvc3QtaGVybyAud3AtY2FwdGlvbi10ZXh0LFxuICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC53cC1jYXB0aW9uLnBvc3QtaGVybyAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZy10b3A6IDhweDsgfVxuXG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuYmxvY2stcG9zdHMtY29weSAucG9zdHMtY29weSxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC5ibG9jay1wb3N0cy1jb3B5IC5wb3N0cy1jb3B5IHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuYmxvY2stcG9zdHMtY29weSAucG9zdHMtY29weSxcbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCAuYmxvY2stcG9zdHMtY29weSAucG9zdHMtY29weSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmJsb2NrLXBvc3RzLWNvcHkgcCxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC5ibG9jay1wb3N0cy1jb3B5IHAge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDA7IH1cbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmJsb2NrLXBvc3RzLWNvcHkgcCArIC53cC1jYXB0aW9uLFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuYmxvY2stcG9zdHMtY29weSBwICsgcCxcbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgLmJsb2NrLXBvc3RzLWNvcHkgcCArIC53cC1jYXB0aW9uLFxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuZW50cnktY29udGVudCAuYmxvY2stcG9zdHMtY29weSBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuYmxvY2stcG9zdHMtY29weSAud3AtY2FwdGlvbixcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC5ibG9jay1wb3N0cy1jb3B5IC53cC1jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5ibG9jay1wb3N0cy1jb3B5IC53cC1jYXB0aW9uICsgcCxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC5ibG9jay1wb3N0cy1jb3B5IC53cC1jYXB0aW9uICsgcCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmJsb2NrLXBvc3RzLWxhcmdlLWltYWdlLFxuLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgLmJsb2NrLXBvc3RzLWxhcmdlLWltYWdlIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmJsb2NrLXBvc3RzLWxhcmdlLWltYWdlIGltZyxcbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgLmJsb2NrLXBvc3RzLWxhcmdlLWltYWdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmJsb2NrLXBvc3RzLWxhcmdlLWltYWdlIGltZyxcbiAgICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC5ibG9jay1wb3N0cy1sYXJnZS1pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogODMuMzMzNiU7IH0gfVxuICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuYmxvY2stcG9zdHMtbGFyZ2UtaW1hZ2UgLndwLWNhcHRpb24tdGV4dCxcbiAgLnNpbmdsZS1wb3N0IC5ibG9nLXBvc3QgLmVudHJ5LWNvbnRlbnQgLmJsb2NrLXBvc3RzLWxhcmdlLWltYWdlIC53cC1jYXB0aW9uLXRleHQge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuYmxvY2stcG9zdHMtbGFyZ2UtaW1hZ2UgLndwLWNhcHRpb24tdGV4dCxcbiAgICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC5ibG9jay1wb3N0cy1sYXJnZS1pbWFnZSAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzYlOyB9IH1cbiAgICAuc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCAuYmxvY2stcG9zdHMtbGFyZ2UtaW1hZ2UgLndwLWNhcHRpb24tdGV4dCBwLFxuICAgIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IC5ibG9jay1wb3N0cy1sYXJnZS1pbWFnZSAud3AtY2FwdGlvbi10ZXh0IHAge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLnNpbmdsZS1wb3N0IC5ibG9jay1pbWFnZXMtZ3JpZCB7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5zaW5nbGUtcG9zdCAuYmxvY2staW1hZ2VzLWdyaWQgLmltYWdlcy1ncmlkIHtcbiAgICAgIHdpZHRoOiA4My4zMzM2JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5wYWdlLWNvbnRhY3QgLmdmaWVsZC5sZWZ0LWZpZWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB3aWR0aDogNDglOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnBhZ2UtY29udGFjdCAuZ2ZpZWxkLnJpZ2h0LWZpZWxkIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGNsZWFyOiBub25lO1xuICAgIHdpZHRoOiA0OCU7IH0gfVxuXG4ucGFnZS1jb250YWN0IC5jb250YWN0LWNvbHVtbiB7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9XG5cbi5wYWdlLWNvbnRhY3QgLmxvY2F0aW9uLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAyLjc1cmVtOyB9XG4gIC5wYWdlLWNvbnRhY3QgLmxvY2F0aW9uLXNlY3Rpb24gYSB7XG4gICAgY29sb3I6ICM2YjZiNmI7IH1cbiAgICAucGFnZS1jb250YWN0IC5sb2NhdGlvbi1zZWN0aW9uIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNhMWExYTE7IH1cbiAgLnBhZ2UtY29udGFjdCAubG9jYXRpb24tc2VjdGlvbiBhZGRyZXNzIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICAucGFnZS1jb250YWN0IC5sb2NhdGlvbi1zZWN0aW9uIGFkZHJlc3MgcCB7XG4gICAgICBtYXJnaW46IDFyZW0gMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH1cblxuLnBhZ2UtY29udGFjdCAuY29udGFjdC1zZWN0aW9uLnRyYW5zaXQgaDUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi5wYWdlLWNvbnRhY3QgLmNvbnRhY3Qtc2VjdGlvbiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAucGFnZS1jb250YWN0IC5jb250YWN0LXNlY3Rpb24gdWwgbGkge1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDsgfVxuXG4ucGFnZS1jb250YWN0IC5jb250YWN0LXNlY3Rpb25fX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLnBhZ2UtY29udGFjdCAuY29udGFjdC1zZWN0aW9uX19pdGVtIHAge1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuXG4ucGFnZS1jb250YWN0IGFydGljbGUub2ZmaWNlLWxvY2F0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDI0cHg7IH1cblxuLnBhZ2UtY29udGFjdCAubWFwLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA5MGVtKSB7XG4gICAgLnBhZ2UtY29udGFjdCAubWFwLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgLnBhZ2UtY29udGFjdCAubWFwLXNlY3Rpb24gaDMge1xuICAgIG1hcmdpbjogMC43MjVyZW0gMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucGFnZS1jb250YWN0IC5tYXAtc2VjdGlvbiAuY29sdW1ucyArIC5jb2x1bW5zIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5wYWdlLWNvbnRhY3QgLm1hcC1zZWN0aW9uIC5jb2x1bW5zICsgLmNvbHVtbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLnBhZ2UtY29udGFjdCAubWFwLXNlY3Rpb24gLndwZ216YV9tYXAge1xuICAgIGhlaWdodDogNDUwcHggIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtY29udGFjdCAubWFwLXNlY3Rpb24gLndwZ216YV9tYXAge1xuICAgICAgICBoZWlnaHQ6IDM3NXB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLmdmb3JtX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uZ2Zvcm1fd3JhcHBlciBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhLCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPVwidGV4dFwiXSwgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPVwidGVsXCJdLCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogc29saWQgMXB4ICNhMWExYTE7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJ1cmxcIl0ge1xuICBoZWlnaHQ6IDMuMTI1cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfbGFiZWwge1xuICBjb2xvcjogI2ZhNDYxNjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAtNzFweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9IH1cblxuLmdmb3JtX3dyYXBwZXIgI2dmb3JtXzEgaW5wdXQjZ2Zvcm1fc3VibWl0X2J1dHRvbl8xIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgI2dmb3JtXzEgLmdmb3JtLWN1c3RvbS1zdWJtaXQtYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwO1xuICBtYXJnaW46IDAgMTZweCAwIDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgI2dmb3JtXzEgLmdmb3JtLWN1c3RvbS1zdWJtaXQtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1N1Ym1pdCc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkLWNob2ljZS1pbnB1dCArIGxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9saXN0X2ljb25zIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9saXN0X2ljb25zIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYWdlLXNlcnZpY2VzIC50aGUtc2l0ZS1jb250ZW50IC5wcm9qZWN0LWNvbnRlbnQge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi5wYWdlLXNlcnZpY2VzIC50aGUtc2l0ZS1jb250ZW50IC5jb2wge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAucGFnZS1zZXJ2aWNlcyAudGhlLXNpdGUtY29udGVudCAuY29sIHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG4ucGFnZS1zZXJ2aWNlcyAudGhlLXNpdGUtY29udGVudCAucm93LmZvdXJjb2wgLmNvbHVtbnMge1xuICBwYWRkaW5nOiAwIDFyZW0gMCAyLjI1cmVtOyB9XG4gIC5wYWdlLXNlcnZpY2VzIC50aGUtc2l0ZS1jb250ZW50IC5yb3cuZm91cmNvbCAuY29sdW1ucyBhIGg1IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnBhZ2Utc2VydmljZXMgLnRoZS1zaXRlLWNvbnRlbnQgLnJvdy5mb3VyY29sIC5jb2x1bW5zIGEgaDU6OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjZmE0NjE2O1xuICAgICAgY29udGVudDogXCIg4oaSXCI7IH1cbiAgLnBhZ2Utc2VydmljZXMgLnRoZS1zaXRlLWNvbnRlbnQgLnJvdy5mb3VyY29sIC5jb2x1bW5zIGE6aG92ZXIgaDUge1xuICAgIGNvbG9yOiAjZmE0NjE2OyB9XG4gIC5wYWdlLXNlcnZpY2VzIC50aGUtc2l0ZS1jb250ZW50IC5yb3cuZm91cmNvbCAuY29sdW1ucyB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAucGFnZS1zZXJ2aWNlcyAudGhlLXNpdGUtY29udGVudCAucm93LmZvdXJjb2wgLmNvbHVtbnMgdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2VydmljZXMtdGVtcGxhdGUgaDEge1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE1MCU7XG4gIHBhZGRpbmc6IC41ZW0gMDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXNlcnZpY2VzLXRlbXBsYXRlIC5wZW9wbGUgLnByb2plY3QtcGVyc29uIHtcbiAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXNlcnZpY2VzLXRlbXBsYXRlIC5yb3cucHJvamVjdC1nYWxsZXJ5IHtcbiAgcGFkZGluZzogOHB4OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2VydmljZXMtdGVtcGxhdGUgLnJlbGF0ZWQtcG9ydGZvbGlvLWhlYWRlciB7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2VydmljZXMtdGVtcGxhdGUgLnJlbGF0ZWQtcG9ydGZvbGlvLWxpbmsge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY29sb3I6ICNmYTQ2MTY7XG4gIHBhZGRpbmctdG9wOiAzLjc1cmVtOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2VydmljZXMtdGVtcGxhdGUgLnJlbGF0ZWQtcG9ydGZvbGlvLWxpbms6YWZ0ZXIge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgY29sb3I6ICNmYTQ2MTY7XG4gIGNvbnRlbnQ6IFwiIOKGklwiOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2VydmljZXMtdGVtcGxhdGUgLnJlbGF0ZWQtbGVmdCB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtaW4taGVpZ2h0OiA2MHB4OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2VydmljZXMtdGVtcGxhdGUgLnJlbGF0ZWQtcmlnaHQge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtaW4taGVpZ2h0OiA2MHB4OyB9XG5cbiNib2R5IC5zZWFyY2hfX2Zvcm0ge1xuICBwYWRkaW5nOiA1NnB4IDA7IH1cbiAgI2JvZHkgLnNlYXJjaF9fZm9ybSAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzIzMWYyMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgI2JvZHkgLnNlYXJjaF9fZm9ybSAuc2VhcmNoLXN1Ym1pdDpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgI2JvZHkgLnNlYXJjaF9fZm9ybSAuc2VhcmNoLXN1Ym1pdDpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZhNDYxNjsgfVxuICAjYm9keSAuc2VhcmNoX19mb3JtIC5zZWFyY2hmaWVsZCxcbiAgI2JvZHkgLnNlYXJjaF9fZm9ybSAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICNib2R5IC5zZWFyY2hfX2Zvcm0gI25hdnNlYXJjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YxZjFmMjsgfVxuICAgICNib2R5IC5zZWFyY2hfX2Zvcm0gI25hdnNlYXJjaCAuc2VhcmNoZmllbGQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBwYWRkaW5nOiA3cHggOHB4OyB9XG4gICAgI2JvZHkgLnNlYXJjaF9fZm9ybSAjbmF2c2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIGJvcmRlcjogc29saWQgMCB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZGIE1ldGFcIiwgSGVsdmV0aWNhTmV1ZS1MaWdodCwgXCJIZWx2ZXRpY2EgTmV1ZSBMaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuI2JvZHkgLnNlYXJjaF9fbmF2IHtcbiAgbWFyZ2luOiAwIDA7IH1cbiAgI2JvZHkgLnNlYXJjaF9fbmF2LmRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAjYm9keSAuc2VhcmNoX19uYXYge1xuICAgICAgbWFyZ2luLXRvcDogNTZweDsgfVxuICAgICAgI2JvZHkgLnNlYXJjaF9fbmF2Lm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNib2R5IC5zZWFyY2hfX25hdi5kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAjYm9keSAuc2VhcmNoX19uYXYgbGkge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBjb2xvcjogIzlkOWZhMTtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAjYm9keSAuc2VhcmNoX19uYXYgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICNib2R5IC5zZWFyY2hfX25hdiBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfSB9XG4gICAgI2JvZHkgLnNlYXJjaF9fbmF2IGxpIGEge1xuICAgICAgY29sb3I6ICMyMzFmMjA7IH1cbiAgICAgICNib2R5IC5zZWFyY2hfX25hdiBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmYTQ2MTY7IH1cbiAgICAjYm9keSAuc2VhcmNoX19uYXYgbGkuZGlzYWJsZWQgPiBhIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29sb3I6ICM5ZDlmYTE7IH1cbiAgICAjYm9keSAuc2VhcmNoX19uYXYgbGkuYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICNmYTQ2MTY7IH1cblxuI2JvZHkgLnNlYXJjaF9fcmVzdWx0cyB7XG4gIHBhZGRpbmc6IDAgMCA1NnB4OyB9XG5cbiNib2R5IC5zZWFyY2hfX3Jlc3VsdHMtc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA3N3B4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgI2JvZHkgLnNlYXJjaF9fcmVzdWx0cy1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAjYm9keSAuc2VhcmNoX19yZXN1bHRzLXNlY3Rpb24gKyAuc2VhcmNoX19yZXN1bHRzLXNlY3Rpb24gLnNlYXJjaF9fcmVzdWx0cy1zZWN0aW9uLS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzdweDsgfSB9XG4gICNib2R5IC5zZWFyY2hfX3Jlc3VsdHMtc2VjdGlvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAjYm9keSAuc2VhcmNoX19yZXN1bHRzLXNlY3Rpb24gLnNlYXJjaC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTsgfVxuICAjYm9keSAuc2VhcmNoX19yZXN1bHRzLXNlY3Rpb24jcmVzdWx0cy1uZXdzIC5zZWFyY2gtcm93IHtcbiAgICBtYXJnaW4tbGVmdDogLS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLS41cmVtOyB9XG4gICNib2R5IC5zZWFyY2hfX3Jlc3VsdHMtc2VjdGlvbi0tZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjFmMWYyO1xuICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAjYm9keSAuc2VhcmNoX19yZXN1bHRzLXNlY3Rpb24tLWZvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYm9keSAuc2VhcmNoX19yZXN1bHRzLXNlY3Rpb24tLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YxZjFmMjtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAgICNib2R5IC5zZWFyY2hfX3Jlc3VsdHMtc2VjdGlvbi0taGVhZGVyIC5mYW5jeS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgICNib2R5IC5zZWFyY2hfX3Jlc3VsdHMtc2VjdGlvbi0taGVhZGVyIC5mYW5jeS1saW5rIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgICNib2R5IC5zZWFyY2hfX3Jlc3VsdHMtc2VjdGlvbi0taGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZGIE1ldGFcIiwgSGVsdmV0aWNhTmV1ZS1MaWdodCwgXCJIZWx2ZXRpY2EgTmV1ZSBMaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgICNib2R5IC5zZWFyY2hfX3Jlc3VsdHMtc2VjdGlvbi0taGVhZGVyIGgyIC5jb3VudCB7XG4gICAgICAgIGNvbG9yOiAjOWQ5ZmExOyB9XG5cbi5zZWFyY2gtcmVzdWx0X19wcm9qZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAuc2VhcmNoLXJlc3VsdF9fcHJvamVjdC0tdGl0bGUge1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5zZWFyY2gtcmVzdWx0X19wcm9qZWN0LS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0X19wcm9qZWN0LS1sb2NhdGlvbiB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogIzlkOWZhMTtcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHRfX3Byb2plY3QgLnByb2plY3Q6aG92ZXIgLnNlYXJjaC1yZXN1bHRfX3Byb2plY3QtLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZhNDYxNjsgfVxuICAuc2VhcmNoLXJlc3VsdF9fcHJvamVjdCAucHJvamVjdDpob3ZlciAuaW1hZ2UgaW1nIHtcbiAgICBvcGFjaXR5OiAuNzsgfVxuICAuc2VhcmNoLXJlc3VsdF9fcHJvamVjdCAucHJvamVjdCAuaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzFmMjA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuc2VhcmNoLXJlc3VsdF9fcHJvamVjdCAucHJvamVjdCAuaW1hZ2UgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTB2dyAtIDE2cHgpO1xuICAgICAgbWluLWhlaWdodDogMTAxJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAxMDElO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgIC5zZWFyY2gtcmVzdWx0X19wcm9qZWN0IC5wcm9qZWN0IC5pbWFnZSBpbWcge1xuICAgICAgICAgIGhlaWdodDogMjMuNzV2dzsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0X19wZW9wbGUge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0X19wZW9wbGUgYTpob3ZlciBwaWN0dXJlIGltZyB7XG4gICAgb3BhY2l0eTogLjc7IH1cbiAgLnNlYXJjaC1yZXN1bHRfX3Blb3BsZSBhOmhvdmVyIC5zZWFyY2gtcmVzdWx0X19wZW9wbGUtLW5hbWUge1xuICAgIGNvbG9yOiAjZmE0NjE2OyB9XG4gIC5zZWFyY2gtcmVzdWx0X19wZW9wbGUgcGljdHVyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzIzMWYyMDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0X19wZW9wbGUgcGljdHVyZSBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNlYXJjaC1yZXN1bHRfX3Blb3BsZS0tbmFtZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLnNlYXJjaC1yZXN1bHRfX3Blb3BsZS0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM2MzY0NjY7XG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0X19wZW9wbGUgLnByb2ZpbGUtaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4jYm9keSAuc2VhcmNoLXJlc3VsdF9fbmV3cyB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgI2JvZHkgLnNlYXJjaC1yZXN1bHRfX25ld3MuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTsgfVxuICAjYm9keSAuc2VhcmNoLXJlc3VsdF9fbmV3cyAuaW5uZXIge1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAjYm9keSAuc2VhcmNoLXJlc3VsdF9fbmV3cyAuaW5uZXI6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjRjFGMUYyO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMC41cmVtO1xuICAgICAgcmlnaHQ6IDAuNXJlbTsgfVxuICAjYm9keSAuc2VhcmNoLXJlc3VsdF9fbmV3cy0tbGluayB7XG4gICAgbWFyZ2luLXRvcDogYXV0bzsgfVxuICAjYm9keSAuc2VhcmNoLXJlc3VsdF9fbmV3cy0taW1hZ2UgKyAuc2VhcmNoLXJlc3VsdF9fbmV3cy0tbWV0YSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAjYm9keSAuc2VhcmNoLXJlc3VsdF9fbmV3cy0tbWV0YSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgI2JvZHkgLnNlYXJjaC1yZXN1bHRfX25ld3MtLWF1dGhvci1jcmVkaXQge1xuICAgIGNvbG9yOiAjNjM2NDY2O1xuICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgI2JvZHkgLnNlYXJjaC1yZXN1bHRfX25ld3MtLWV4Y2VycHQge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtOyB9XG5cbiNib2R5IC5zZWFyY2gtcmVzdWx0X19wYWdlICsgLnNlYXJjaC1yZXN1bHRfX3BhZ2Uge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbiNib2R5IC5zZWFyY2gtcmVzdWx0X19wYWdlIGE6aG92ZXIgLnNlYXJjaC1yZXN1bHRfX3BhZ2UtLXRpdGxlIHtcbiAgY29sb3I6ICNmYTQ2MTY7IH1cblxuI2JvZHkgLnNlYXJjaC1yZXN1bHRfX3BhZ2UtLXRpdGxlIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDsgfVxuXG4jYm9keSAuc2VhcmNoLXJlc3VsdF9fcGFnZS0tbWV0YSBwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbiNib2R5IC5zZWFyY2gtcmVzdWx0X19wYWdlLS1leGNlcnB0IHtcbiAgY29sb3I6ICMyMzFmMjA7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICM2MzY0NjY7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI2JvZHkgLnNlYXJjaC1yZXN1bHRfX3BhZ2UtLWV4Y2VycHQgcCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmJvZHkge1xuICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbmlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKlxuV2VsY29tZSB0byBDdXN0b20gQ1NTIVxuXG5UbyBsZWFybiBob3cgdGhpcyB3b3Jrcywgc2VlIGh0dHA6Ly93cC5tZS9QRW1uRS1CdFxuKi9cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJGRiBNZXRhXCIsIEhlbHZldGljYU5ldWUtTGlnaHQsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjsgfVxuXG4uc2ItaXRlbSBpbWcge1xuICBtYXgtaGVpZ2h0OiA3MDBweDsgfVxuXG4uZmVhdHVyZWQtcG9zdHMgdWwge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZmVhdHVyZWQtcG9zdHMgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnBhZ2UtYXdhcmRzIC5wYWdlLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvamVjdC1pbmZvIHtcbiAgcGFkZGluZzogLjVlbSAwOyB9XG5cbi5wcm9qZWN0LWluZm8ucGVvcGxlIHtcbiAgcGFkZGluZy10b3A6IDIuNWVtOyB9XG5cbi5wcm9qZWN0LXBlcnNvbiAuaW1hZ2UtY2FwdGlvbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAuOHJlbTsgfVxuXG4ucGFnZS1zZXJ2aWNlcyAuY29sIHtcbiAgcGFkZGluZzogMXJlbSAxcmVtIDAgMDsgfVxuXG4ucGFnZS1vcHBvcnR1bml0aWVzIGEge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuLnRvcC1zaXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYXdhcmQtc2VjdGlvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyB9XG5cbi53ZWxjb21lLXNlY3Rpb24gLnByaW1hcnktaGVhZGxpbmUgcCB7XG4gIGNvbG9yOiAjNmI2YjZiOyB9XG5cbi5wcm9qZWN0LWNvbnRlbnQgYmxvY2txdW90ZSBoMyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oMy5tZW1vcml1bS1oZWFkZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLmJ1dHRvbi5kaXNjb3Zlci1tb3JlIHtcbiAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgcGFkZGluZy10b3A6IC41NWVtOyB9XG5cbi5wYWdlLXNlcnZpY2VzIC5jb2wge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnZS1zZXJ2aWNlcyAuY29udGVudC1zZWN0aW9uIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAudG9wLXNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wYWdlLXNlcnZpY2VzIC5jb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VydmljZXMgLmNvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAubmV3cy10aXRsZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgLmZlYXR1cmVkLXJlYWRpbmcgLmZlYXR1cmVkLW5ld3MtYmxvY2stb3ZlcmxheSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5mZWF0dXJlZC1yZWFkaW5nIC5mZWF0dXJlZC1uZXdzLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cblxuLyoqXG4gKiBmdWxsUGFnZSAyLjYuNlxuICogaHR0cHM6Ly9naXRodWIuY29tL2FsdmFyb3RyaWdvL2Z1bGxQYWdlLmpzXG4gKiBNSVQgbGljZW5zZWRcbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTMgYWx2YXJvdHJpZ28uY29tIC0gQSBwcm9qZWN0IGJ5IEFsdmFybyBUcmlnb1xuICogQ29udHJpYnV0aW9uIGJ5IEpob255MDMxMVxuICovXG5odG1sLmZwLWVuYWJsZWQsXG4uZnAtZW5hYmxlZCBib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKkF2b2lkIGZsaWNrZXIgb24gc2xpZGVzIHRyYW5zaXRpb25zIGZvciBtb2JpbGUgcGhvbmVzICMzMzYgKi9cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG5cbiNzdXBlckNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBUb3VjaCBkZXRlY3Rpb24gZm9yIFdpbmRvd3MgOCAqL1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICAvKiBJRSAxMSBvbiBXaW5kb3dzIFBob25lIDguMSovXG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uZnAtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiBTYWZhcmk8PTUgQW5kcm9pZDw9MyAqL1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDw9MjggKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZnAtc2xpZGUge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uZnAtc2xpZGUsIC5mcC1zbGlkZXNDb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mcC1zbGlkZXMge1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgLyogU2FmYXJpPD02IEFuZHJvaWQ8PTQuMyAqL1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsgfVxuXG4uZnAtc2VjdGlvbi5mcC10YWJsZSwgLmZwLXNsaWRlLmZwLXRhYmxlIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mcC10YWJsZUNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mcC1zbGlkZXNDb250YWluZXIge1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mcC1jb250cm9sQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDQ7XG4gIHRvcDogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIG1hcmdpbi10b3A6IC0zOHB4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5mcC1jb250cm9sQXJyb3cuZnAtcHJldiB7XG4gICAgbGVmdDogMTVweDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXItd2lkdGg6IDM4LjVweCAzNHB4IDM4LjVweCAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZnAtY29udHJvbEFycm93LmZwLW5leHQge1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJvcmRlci13aWR0aDogMzguNXB4IDAgMzguNXB4IDM0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmOyB9XG5cbi5mcC1zY3JvbGxhYmxlIHtcbiAgb3ZlcmZsb3c6IHNjcm9sbDsgfVxuXG4uZnAtbm90cmFuc2l0aW9uIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZnAtc2xpZGVzTmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA0O1xuICBsZWZ0OiA1MCU7XG4gIG9wYWNpdHk6IDE7IH1cbiAgLmZwLXNsaWRlc05hdi5ib3R0b20ge1xuICAgIGJvdHRvbTogMTdweDsgfVxuICAuZnAtc2xpZGVzTmF2LnRvcCB7XG4gICAgdG9wOiAxN3B4OyB9XG5cbiNmcC1uYXYgdWwsXG4uZnAtc2xpZGVzTmF2IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gICNmcC1uYXYgdWwgbGksXG4gIC5mcC1zbGlkZXNOYXYgdWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTNweDtcbiAgICBtYXJnaW46IDdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjZnAtbmF2IHVsIGxpIGEsXG4gICAgLmZwLXNsaWRlc05hdiB1bCBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAjZnAtbmF2IHVsIGxpIGEuYWN0aXZlIHNwYW4sXG4gICAgICAuZnAtc2xpZGVzTmF2IHVsIGxpIGEuYWN0aXZlIHNwYW4ge1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBtYXJnaW46IC02cHggMCAwIC02cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgICAgICAgI2ZwLW5hdiB1bCBsaTpob3ZlciAjZnAtbmF2IHVsIGxpIGEuYWN0aXZlIHNwYW4sXG4gICAgICAgICNmcC1zbGlkZXNOYXYgdWwgbGk6aG92ZXIgI2ZwLW5hdiB1bCBsaSBhLmFjdGl2ZSBzcGFuLCAjZnAtbmF2IHVsIGxpOmhvdmVyXG4gICAgICAgIC5mcC1zbGlkZXNOYXYgdWwgbGkgYS5hY3RpdmUgc3BhbixcbiAgICAgICAgI2ZwLXNsaWRlc05hdiB1bCBsaTpob3ZlclxuICAgICAgICAuZnAtc2xpZGVzTmF2IHVsIGxpIGEuYWN0aXZlIHNwYW4ge1xuICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICBtYXJnaW46IC02cHggMCAwIC02cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAgICAgI2ZwLW5hdiB1bCBsaSBhIHNwYW4sXG4gICAgICAuZnAtc2xpZGVzTmF2IHVsIGxpIGEgc3BhbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW46IC0ycHggMCAwIC0ycHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDsgfVxuICAgICNmcC1uYXYgdWwgbGk6aG92ZXIgYSBzcGFuLFxuICAgIC5mcC1zbGlkZXNOYXYgdWwgbGk6aG92ZXIgYSBzcGFuIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luOiAtNXB4IDBweCAwcHggLTVweDsgfVxuXG4jZnAtbmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDA7XG4gIG1hcmdpbi10b3A6IC0zMnB4O1xuICB0b3A6IDUwJTtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gICNmcC1uYXYucmlnaHQge1xuICAgIHJpZ2h0OiAxN3B4OyB9XG4gICNmcC1uYXYubGVmdCB7XG4gICAgbGVmdDogMTdweDsgfVxuICAjZnAtbmF2IHVsIGxpIC5mcC10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwOyB9XG4gICAgI2ZwLW5hdiB1bCBsaSAuZnAtdG9vbHRpcC5yaWdodCB7XG4gICAgICByaWdodDogMjBweDsgfVxuICAjZnAtbmF2IHVsIGxpOmhvdmVyIC5mcC10b29sdGlwIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgI2ZwLW5hdi5mcC1zaG93LWFjdGl2ZSBhLmFjdGl2ZSArIC5mcC10b29sdGlwIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmZwLXNsaWRlc05hdiB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJy4uL2Z1bmN0aW9ucyc7XG4vL1xuLy8gRm91bmRhdGlvbiBWYXJpYWJsZXNcbi8vXG5cbi8vIERhdGEgYXR0cmlidXRlIG5hbWVzcGFjZVxuLy8gc3R5bGVzIGdldCBhcHBsaWVkIHRvIFtkYXRhLW15c2l0ZS1wbHVnaW5dLCBldGNcbiRuYW1lc3BhY2U6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250LXNpemUgaXMgc2V0IHRvIDEwMCUgb2YgdGhlIGJyb3dzZXIgc3R5bGUgc2hlZXQgKHVzdWFsbHkgMTZweClcbi8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggYnJvd3Nlci1iYXNlZCB0ZXh0IHpvb20gb3IgdXNlci1zZXQgZGVmYXVsdHMuXG5cbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxuJGJhc2UtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1saW5lLWhlaWdodCBpcyAyNHB4IHdoaWxlICRiYXNlLWZvbnQtc2l6ZSBpcyAxNnB4XG4kYmFzZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vL1xuLy8gR2xvYmFsIEZvdW5kYXRpb24gTWl4aW5zXG4vL1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzLlxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6ICRnbG9iYWwtcmFkaXVzIHx8IDRweFxuQG1peGluIHJhZGl1cygkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAkcmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgZXF1YWwgc2lkZSBib3JkZXIgcmFkaXVzIG9uIGVsZW1lbnRzLlxuLy8gJHNpZGUgLSBPcHRpb25zOiBsZWZ0LCByaWdodCwgdG9wLCBib3R0b21cbkBtaXhpbiBzaWRlLXJhZGl1cygkc2lkZSwgJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xuICBAaWYgKCRzaWRlID09IGxlZnQgb3IgJHNpZGUgPT0gcmlnaHQpIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHdlIGhhdmUgaW5zZXQgc2hhZG93cyBlZGdlcy5cbi8vICRhY3RpdmUgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuQG1peGluIGluc2V0LXNoYWRvdygkYWN0aXZlOnRydWUpIHtcbiAgYm94LXNoYWRvdzogJHNoaW55LWVkZ2Utc2l6ZSAkc2hpbnktZWRnZS1jb2xvciBpbnNldDtcblxuICBAaWYgJGFjdGl2ZSB7ICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvciBpbnNldDsgfSB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgdHJhbnNpdGlvbnMgdG8gZWxlbWVudHNcbi8vICRwcm9wZXJ0eSAtIERlZmF1bHQ6IGFsbCwgT3B0aW9uczogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10cmFuc2l0aW9ucy8jYW5pbWF0YWJsZS1wcm9wZXJ0aWVzXG4vLyAkc3BlZWQgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGVhc2UgLSBEZWZhdWx0OmVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCkge1xuICB0cmFuc2l0aW9uOiAkcHJvcGVydHkgJHNwZWVkICRlYXNlO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGJveC1zaXppbmcgYWNyb3NzIGJyb3dzZXIgcHJlZml4ZXNcbkBtaXhpbiBib3gtc2l6aW5nKCR0eXBlOmJvcmRlci1ib3gpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gQW5kcm9pZCA8IDIuMywgaU9TIDwgNFxuICAgICAtbW96LWJveC1zaXppbmc6ICR0eXBlO1xuICAgICAgICAgIGJveC1zaXppbmc6ICR0eXBlOyAvLyBDaHJvbWUsIElFIDgrLCBPcGVyYSwgU2FmYXJpIDUuMVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGlzb3NjZWxlcyB0cmlhbmdsZXNcbi8vICR0cmlhbmdsZS1zaXplIC0gVXNlZCB0byBzZXQgYm9yZGVyLXNpemUuIE5vIGRlZmF1bHQsIHNldCBhIHB4IG9yIGVtIHNpemUuXG4vLyAkdHJpYW5nbGUtY29sb3IgLSBVc2VkIHRvIHNldCBib3JkZXItY29sb3Igd2hpY2ggbWFrZXMgdXAgdHJpYW5nbGUuIE5vIGRlZmF1bHRcbi8vICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBVc2VkIHRvIGRldGVybWluZSB3aGljaCBkaXJlY3Rpb24gdHJpYW5nbGUgcG9pbnRzLiBPcHRpb25zOiB0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHRcbkBtaXhpbiBjc3MtdHJpYW5nbGUoJHRyaWFuZ2xlLXNpemUsICR0cmlhbmdsZS1jb2xvciwgJHRyaWFuZ2xlLWRpcmVjdGlvbikge1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHRvcCkge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBib3R0b20pIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGljb24gd2l0aCB0aHJlZSBsaW5lcyBha2EgdGhlIGhhbWJ1cmdlciBpY29uLCB0aGUgbWVudS1pY29uIG9yIHRoZSBuYXZpY29uXG4vLyAkd2lkdGggLSBXaWR0aCBvZiBoYW1idXJnZXIgaWNvbiBpbiByZW1cbi8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXG4vLyAkdG9wIC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCB2ZXJ0aWNhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbVxuLy8gJHRoaWNrbmVzcyAtIHRoaWNrbmVzcyBvZiBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XG4vLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XG4vLyAkY29sb3IgLSBpY29uIGNvbG9yXG4vLyAkaG92ZXItY29sb3IgLSBpY29uIGNvbG9yIGR1cmluZyBob3ZlclxuLy8gJG9mZmNhbnZhcyAtIFNldCB0byB0cnVlIG9mIEBpbmNsdWRlIGluIG9mZmNhbnZhc1xuQG1peGluIGhhbWJ1cmdlcigkd2lkdGgsICRsZWZ0LCAkdG9wLCAkdGhpY2tuZXNzLCAkZ2FwLCAkY29sb3IsICRob3Zlci1jb2xvciwgJG9mZmNhbnZhcykge1xuICBzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgQGlmICRvZmZjYW52YXMge1xuICAgICAgQGlmICR0b3Age1xuICAgICAgICB0b3A6ICR0b3A7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSR3aWR0aC8yKTtcbiAgICAgIH1cbiAgICAgIEBpZiAkbGVmdCB7XG4gICAgICAgIGxlZnQ6ICRsZWZ0O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiAoJHRhYmJhci1tZW51LWljb24td2lkdGggLSAkd2lkdGgpLzI7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0oJHdpZHRoLzIpO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRjb2xvcjtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG4gIHNwYW46aG92ZXI6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcixcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcixcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGRvIGNsZWFyIGZsb2F0c1xuQG1peGluIGNsZWFyZml4IHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIgeyBjb250ZW50OiBcIiBcIjsgZGlzcGxheTogdGFibGU7IH1cbiAgJjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYSBnbG93aW5nIGVmZmVjdCB0byBibG9jayBlbGVtZW50c1xuLy8gJHNlbGVjdG9yIC0gVXNlZCBmb3Igc2VsZWN0b3Igc3RhdGUuIERlZmF1bHQ6IGZvY3VzLCBPcHRpb25zOiBob3ZlciwgYWN0aXZlLCB2aXNpdGVkXG4vLyAkZmFkZS10aW1lIC0gRGVmYXVsdDogMzAwbXNcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvciAtIERlZmF1bHQ6IGZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpXG5AbWl4aW4gYmxvY2stZ2xvd2luZy1lZmZlY3QoJHNlbGVjdG9yOmZvY3VzLCAkZmFkZS10aW1lOjMwMG1zLCAkZ2xvd2luZy1lZmZlY3QtY29sb3I6ZmFkZS1vdXQoJHByaW1hcnktY29sb3IsIC4yNSkpIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkZmFkZS10aW1lLCBib3JkZXItY29sb3IgJGZhZGUtdGltZSBlYXNlLWluLW91dDtcblxuICAmOiN7JHNlbGVjdG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ2xvd2luZy1lZmZlY3QtY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAkZ2xvd2luZy1lZmZlY3QtY29sb3I7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHRyYW5zbGF0ZSBlbGVtZW50cyBpbiAyRFxuLy8gJGhvcml6b250YWw6IERlZmF1bHQ6IDBcbi8vICR2ZXJ0aWNhbDogRGVmYXVsdDogMFxuQG1peGluIHRyYW5zbGF0ZTJkKCRob3Jpem9udGFsOjAsICR2ZXJ0aWNhbDowKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRob3Jpem9udGFsLCAkdmVydGljYWwpXG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IGFjY2Vzc2libGUuXG4vLyBAc2VlIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gVHVybnMgb2ZmIHRoZSBlbGVtZW50LWludmlzaWJsZSBlZmZlY3QuXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuJHdoaXRlICAgICAgICAgOiAjRkZGRkZGICFkZWZhdWx0O1xuJGdob3N0ICAgICAgICAgOiAjRkFGQUZBICFkZWZhdWx0O1xuJHNub3cgICAgICAgICAgOiAjRjlGOUY5ICFkZWZhdWx0O1xuJHZhcG9yICAgICAgICAgOiAjRjZGNkY2ICFkZWZhdWx0O1xuJHdoaXRlLXNtb2tlICAgOiAjRjVGNUY1ICFkZWZhdWx0O1xuJHNpbHZlciAgICAgICAgOiAjRUZFRkVGICFkZWZhdWx0O1xuJHNtb2tlICAgICAgICAgOiAjRUVFRUVFICFkZWZhdWx0O1xuJGdhaW5zYm9ybyAgICAgOiAjREREREREICFkZWZhdWx0O1xuJGlyb24gICAgICAgICAgOiAjQ0NDQ0NDICFkZWZhdWx0O1xuJGJhc2UgICAgICAgICAgOiAjQUFBQUFBICFkZWZhdWx0O1xuJGFsdW1pbnVtICAgICAgOiAjOTk5OTk5ICFkZWZhdWx0O1xuJGp1bWJvICAgICAgICAgOiAjODg4ODg4ICFkZWZhdWx0O1xuJG1vbnNvb24gICAgICAgOiAjNzc3Nzc3ICFkZWZhdWx0O1xuJHN0ZWVsICAgICAgICAgOiAjNjY2NjY2ICFkZWZhdWx0O1xuJGNoYXJjb2FsICAgICAgOiAjNTU1NTU1ICFkZWZhdWx0O1xuJHR1YXRhcmEgICAgICAgOiAjNDQ0NDQ0ICFkZWZhdWx0O1xuJG9pbCAgICAgICAgICAgOiAjMzMzMzMzICFkZWZhdWx0O1xuJGpldCAgICAgICAgICAgOiAjMjIyMjIyICFkZWZhdWx0O1xuJGJsYWNrICAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgYXMgZGVmYXVsdCBjb2xvcnMgdGhyb3VnaG91dFxuJHByaW1hcnktY29sb3I6ICMwMDhDQkEgIWRlZmF1bHQ7ICAgLy8gYm9uZGktYmx1ZVxuJHNlY29uZGFyeS1jb2xvcjogI2U3ZTdlNyAhZGVmYXVsdDsgLy8gd2hpdGUtbGlsYWNcbiRhbGVydC1jb2xvcjogI2YwNDEyNCAhZGVmYXVsdDsgICAgIC8vIGNpbm5hYmFyXG4kc3VjY2Vzcy1jb2xvcjogIzQzQUM2QSAhZGVmYXVsdDsgICAvLyBzZWEtZ3JlZW5cbiR3YXJuaW5nLWNvbG9yOiAjZjA4YTI0ICFkZWZhdWx0OyAgIC8vIGNhcnJvdFxuJGluZm8tY29sb3I6ICNhMGQzZTggIWRlZmF1bHQ7ICAgICAgLy8gY29ybmZsb3dlclxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCBzdGFja3NcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgd2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgZ2xvYmFsIHN0eWxlc1xuJGJvZHktYmc6ICNmZmYgIWRlZmF1bHQ7XG4kYm9keS1mb250LWNvbG9yOiAjMjIyICFkZWZhdWx0O1xuJGJvZHktZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuJGJvZHktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYm9keS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgZm9udC1zbW9vdGhpbmdcbiRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgZGlyZWN0aW9uIHNldHRpbmdzXG4kdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcbiRkZWZhdWx0LWZsb2F0OiBsZWZ0ICFkZWZhdWx0O1xuJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQgIWRlZmF1bHQ7XG5AaWYgJHRleHQtZGlyZWN0aW9uID09IGx0ciB7XG4gICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbn0gQGVsc2Uge1xuICAkZGVmYXVsdC1mbG9hdDogcmlnaHQ7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGxlZnQ7XG59XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cbiRnbG9iYWwtcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXJvdW5kZWQ6IDEwMDBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaW5zZXQgc2hhZG93IHNoaW55IGVkZ2VzIGFuZCBkZXByZXNzaW9ucy5cbiRzaGlueS1lZGdlLXNpemU6IDAgMXB4IDAgIWRlZmF1bHQ7XG4kc2hpbnktZWRnZS1jb2xvcjogcmdiYSgjZmZmLCAuNSkgIWRlZmF1bHQ7XG4kc2hpbnktZWRnZS1hY3RpdmUtY29sb3I6IHJnYmEoIzAwMCwgLjIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdoZXRoZXIgb3Igbm90IENTUyBjbGFzc2VzIGNvbWUgdGhyb3VnaCBpbiB0aGUgZ2VtIGZpbGVzLlxuJGluY2x1ZGUtaHRtbC1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtcHJpbnQtc3R5bGVzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtanMtbWV0YS1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7IC8vIFdhcm5pbmchIE1ldGEgc3R5bGVzIGFyZSBhIGRlcGVuZGFuY3kgb2YgdGhlIEphdmFzY3JpcHQuXG4kaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRjb2x1bW4tZ3V0dGVyOiByZW0tY2FsYygzMCkgIWRlZmF1bHQ7XG5cbi8vIE1lZGlhIFF1ZXJ5IFJhbmdlc1xuJHNtYWxsLWJyZWFrcG9pbnQ6ICBlbS1jYWxjKDY0MCkgICFkZWZhdWx0O1xuJG1lZGl1bS1icmVha3BvaW50OiBlbS1jYWxjKDEwMjQpICFkZWZhdWx0O1xuJGxhcmdlLWJyZWFrcG9pbnQ6ICBlbS1jYWxjKDE0NDApICFkZWZhdWx0O1xuJHhsYXJnZS1icmVha3BvaW50OiBlbS1jYWxjKDE5MjApICFkZWZhdWx0O1xuXG4kc21hbGwtcmFuZ2U6ICAgKDAsICRzbWFsbC1icmVha3BvaW50KSAhZGVmYXVsdDtcbiRtZWRpdW0tcmFuZ2U6ICAoJHNtYWxsLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJG1lZGl1bS1icmVha3BvaW50KSAhZGVmYXVsdDtcbiRsYXJnZS1yYW5nZTogICAoJG1lZGl1bS1icmVha3BvaW50ICsgZW0tY2FsYygxKSwgJGxhcmdlLWJyZWFrcG9pbnQpICAhZGVmYXVsdDtcbiR4bGFyZ2UtcmFuZ2U6ICAoJGxhcmdlLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJHhsYXJnZS1icmVha3BvaW50KSAhZGVmYXVsdDtcbiR4eGxhcmdlLXJhbmdlOiAoJHhsYXJnZS1icmVha3BvaW50ICsgZW0tY2FsYygxKSwgZW0tY2FsYyg5OTk5OTk5OSkpICFkZWZhdWx0O1xuXG4kc2NyZWVuOiBcIm9ubHkgc2NyZWVuXCIgIWRlZmF1bHQ7XG5cbiRsYW5kc2NhcGU6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXCIgIWRlZmF1bHQ7XG4kcG9ydHJhaXQ6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdClcIiAhZGVmYXVsdDtcblxuJHNtYWxsLXVwOiAkc2NyZWVuICFkZWZhdWx0O1xuJHNtYWxsLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1heC13aWR0aDogI3t1cHBlci1ib3VuZCgkc21hbGwtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJG1lZGl1bS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJG1lZGl1bS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kbGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4keGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4keGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiR4eGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJHh4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kcmV0aW5hOiAoXG4gIFwiI3skc2NyZWVufSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweClcIlxuKTtcblxuLy8gTGVnYWN5XG4kc21hbGw6ICRtZWRpdW0tdXA7XG4kbWVkaXVtOiAkbWVkaXVtLXVwO1xuJGxhcmdlOiAkbGFyZ2UtdXA7XG5cblxuLy9XZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XG4kY3Vyc29yLWF1dG8tdmFsdWU6IGF1dG8gIWRlZmF1bHQ7XG4kY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyICFkZWZhdWx0O1xuJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0ICFkZWZhdWx0O1xuJGN1cnNvci1kaXNhYmxlZC12YWx1ZTogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG4kY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHAgIWRlZmF1bHQ7XG4kY3Vyc29yLXRleHQtdmFsdWU6IHRleHQgIWRlZmF1bHQ7XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdsb2JhbFwiKSB7XG5cbiAgLy8gTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuICAvLyBGb3J3YXJkIHNsYXNoIHBsYWNlZCBhcm91bmQgZXZlcnl0aGluZyB0byBjb252aW5jZSBQaGFudG9tSlMgdG8gcmVhZCB0aGUgdmFsdWUuXG5cbiAgQGlmICRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzIHtcblxuICAgIG1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi81LjUuMi9cIjtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRzbWFsbC1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXh4bGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLWRhdGEtYXR0cmlidXRlLW5hbWVzcGFjZSB7XG4gICAgICBmb250LWZhbWlseTogI3skbmFtZXNwYWNlfTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzIHtcblxuICAgIC8vIE11c3QgYmUgMTAwJSBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrXG4gICAgaHRtbCwgYm9keSB7IGhlaWdodDogMTAwJTsgfVxuXG4gICAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgICBodG1sIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaGVyaXQpO1xuICAgIH1cblxuICAgIGh0bWwsXG4gICAgYm9keSB7IGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplOyB9XG5cbiAgICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gICAgYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWF1dG8tdmFsdWU7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXN0eWxlOiAkYm9keS1mb250LXN0eWxlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRib2R5LWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0OyAvLyBTZXQgdG8gJGJhc2UtbGluZS1oZWlnaHQgdG8gdGFrZSBvbiBicm93c2VyIGRlZmF1bHQgb2YgMTUwJVxuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgYTpob3ZlciB7IGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlOyB9XG5cbiAgICAvLyBHcmlkIERlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cblxuICAgIGltZyB7IC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxuICAgICNtYXBfY2FudmFzLFxuICAgIC5tYXBfY2FudmFzLFxuICAgIC5tcWEtZGlzcGxheSB7XG4gICAgICBpbWcsXG4gICAgICBlbWJlZCxcbiAgICAgIG9iamVjdCB7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1pc2NlbGxhbmVvdXMgdXNlZnVsIEhUTUwgY2xhc3Nlc1xuICAgIC5sZWZ0IHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmNsZWFyZml4IHsgQGluY2x1ZGUgY2xlYXJmaXg7IH1cblxuICAgIC8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnNcbiAgICAuaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbiAgICAuaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbiAgICAvLyBGb250IHNtb290aGluZ1xuICAgIC8vIEFudGlhbGlhc2VkIGZvbnQgc21vb3RoaW5nIHdvcmtzIGJlc3QgZm9yIGxpZ2h0IHRleHQgb24gYSBkYXJrIGJhY2tncm91bmQuXG4gICAgLy8gQXBwbHkgdG8gc2luZ2xlIGVsZW1lbnRzIGluc3RlYWQgb2YgZ2xvYmFsbHkgdG8gYm9keS5cbiAgICAvLyBOb3RlIHRoaXMgb25seSBhcHBsaWVzIHRvIHdlYmtpdC1iYXNlZCBkZXNrdG9wIGJyb3dzZXJzIGFuZCBGaXJlZm94IDI1IChhbmQgbGF0ZXIpIG9uIHRoZSBNYWMuXG4gICAgLmFudGlhbGlhc2VkIHsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEdsb2JhbCByZXNldHMgZm9yIGZvcm1zXG4gICAgLy9cblxuICAgIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICAgIHRleHRhcmVhIHsgaGVpZ2h0OiBhdXRvOyBtaW4taGVpZ2h0OiA1MHB4OyB9XG5cbiAgICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgICBzZWxlY3QgeyB3aWR0aDogMTAwJTsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG4kaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlczogZmFsc2UgIWRlZmF1bHQ7XG5cbiRyb3ctd2lkdGg6IHJlbS1jYWxjKDEwMDApICFkZWZhdWx0O1xuJHRvdGFsLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuXG4kbGFzdC1jaGlsZC1mbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbiAhZGVmYXVsdDtcblxuLy9cbi8vIEdyaWQgRnVuY3Rpb25zXG4vL1xuXG4vLyBEZXByZWNhdGVkOiBXZSdsbCBkcm9wIHN1cHBvcnQgZm9yIHRoaXMgaW4gNS4xLCB1c2UgZ3JpZC1jYWxjKClcbkBmdW5jdGlvbiBncmlkQ2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKSB7XG4gIEB3YXJuIFwiZ3JpZENhbGMoKSBpcyBkZXByZWNhdGVkLCB1c2UgZ3JpZC1jYWxjKClcIjtcbiAgQHJldHVybiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucyk7XG59XG5cbi8vIEBGVU5DVElPTlxuLy8gJGNvbE51bWJlciAtIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbi8vICR0b3RhbENvbHVtbnMgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG5AZnVuY3Rpb24gZ3JpZC1jYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpIHtcbiAgJHJlc3VsdDogcGVyY2VudGFnZSgoJGNvbE51bWJlciAvICR0b3RhbENvbHVtbnMpKTtcbiAgQGlmICRyZXN1bHQgPT0gMCUgeyAkcmVzdWx0OiAwOyB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIEZvciBjcmVhdGluZyBjb250YWluZXIsIG5lc3RlZCwgYW5kIGNvbGxhcHNlZCByb3dzLlxuLy9cbi8vXG4vLyAkYmVoYXZpb3IgLSBBbnkgc3BlY2lhbCBiZWhhdmlvciBmb3IgdGhpcyByb3c/IERlZmF1bHQ6IGZhbHNlLiBPcHRpb25zOiBuZXN0LCBjb2xsYXBzZSwgbmVzdC1jb2xsYXBzZSwgZmFsc2UuXG5AbWl4aW4gZ3JpZC1yb3coJGJlaGF2aW9yOiBmYWxzZSkge1xuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0KTsgdG8gaW5jbHVkZSBhIG5lc3RlZCByb3dcbiAgQGlmICRiZWhhdmlvciA9PSBuZXN0IHtcbiAgICBtYXJnaW46IDAgKC0oJGNvbHVtbi1ndXR0ZXIvMikpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhjb2xsYXBzZSk7IHRvIGNvbGxhcHNlZCBhIGNvbnRhaW5lciByb3cgbWFyZ2luc1xuICBAZWxzZSBpZiAkYmVoYXZpb3IgPT0gY29sbGFwc2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3cobmVzdC1jb2xsYXBzZSk7IHRvIGNvbGxhcHNlIG91dGVyIG1hcmdpbnMgb24gYSBuZXN0ZWQgcm93XG4gIEBlbHNlIGlmICRiZWhhdmlvciA9PSBuZXN0LWNvbGxhcHNlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93OyB0byB1c2UgYSBjb250YWluZXIgcm93XG4gIEBlbHNlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDbGVhcmZpeCBmb3IgYWxsIHJvd3NcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGNvbHVtbiwgc2hvdWxkIGJlIHVzZWQgaW5zaWRlIG9mIGEgbWVkaWEgcXVlcnkgdG8gY29udHJvbCBsYXlvdXRzXG4vL1xuLy8gJGNvbHVtbnMgLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhpcyBzaG91bGQgYmVcbi8vICRsYXN0LWNvbHVtbiAtIElzIHRoaXMgdGhlIGxhc3QgY29sdW1uPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRjZW50ZXIgLSBDZW50ZXIgdGhlc2UgY29sdW1ucz8gRGVmYXVsdDogZmFsc2UuXG4vLyAkb2Zmc2V0IC0gIyBvZiBjb2x1bW5zIHRvIG9mZnNldC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkcHVzaCAtICMgb2YgY29sdW1ucyB0byBwdXNoLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRwdWxsIC0gIyBvZiBjb2x1bW5zIHRvIHB1bGwuIERlZmF1bHQ6IGZhbHNlLlxuLy8gJGNvbGxhcHNlIC0gR2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZyBvbiBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJGZsb2F0IC0gU2hvdWxkIHRoaXMgZmxvYXQ/IERlZmF1bHQ6IHRydWUuIE9wdGlvbnM6IHRydWUsIGZhbHNlLCBsZWZ0LCByaWdodC5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ZmFsc2UsXG4gICRsYXN0LWNvbHVtbjpmYWxzZSxcbiAgJGNlbnRlcjpmYWxzZSxcbiAgJG9mZnNldDpmYWxzZSxcbiAgJHB1c2g6ZmFsc2UsXG4gICRwdWxsOmZhbHNlLFxuICAkY29sbGFwc2U6ZmFsc2UsXG4gICRmbG9hdDp0cnVlLFxuICAkcG9zaXRpb246ZmFsc2UpIHtcblxuICAvLyBJZiBwb3NpdGlvbmVkIGZvciBkZWZhdWx0IC5jb2x1bW4sIGluY2x1ZGUgcmVsYXRpdmUgcG9zaXRpb25cbiAgLy8gcHVzaCBhbmQgcHVsbCByZXF1aXJlIHBvc2l0aW9uIHNldFxuICBAaWYgJHBvc2l0aW9uIG9yICRwdXNoIG9yICRwdWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvLyBJZiBjb2xsYXBzZWQsIGdldCByaWQgb2YgZ3V0dGVyIHBhZGRpbmdcbiAgQGlmICRjb2xsYXBzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBHdXR0ZXIgcGFkZGluZyB3aGVuZXZlciBhIGNvbHVtbiBpc24ndCBzZXQgdG8gY29sbGFwc2VcbiAgLy8gKHVzZSAkY29sbGFwc2U6bnVsbCB0byBkbyBub3RoaW5nKVxuICBAZWxzZSBpZiAkY29sbGFwc2UgPT0gZmFsc2Uge1xuICAgIHBhZGRpbmctbGVmdDogKCRjb2x1bW4tZ3V0dGVyIC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogKCRjb2x1bW4tZ3V0dGVyIC8gMik7XG4gIH1cblxuICAvLyBJZiBhIGNvbHVtbiBudW1iZXIgaXMgZ2l2ZW4sIGNhbGN1bGF0ZSB3aWR0aFxuICBAaWYgJGNvbHVtbnMge1xuICAgIHdpZHRoOiBncmlkLWNhbGMoJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zKTtcblxuICAgIC8vIElmIGxhc3QgY29sdW1uLCBmbG9hdCBuYXR1cmFsbHkgaW5zdGVhZCBvZiB0byB0aGUgcmlnaHRcbiAgICBAaWYgJGxhc3QtY29sdW1uIHsgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247IH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBPcmRlcmluZywgYWRkcyBsZWZ0L3JpZ2h0IGRlcGVuZGluZyBvbiB3aGljaCB5b3UgdXNlLlxuICBAaWYgJHB1c2ggeyAjeyRkZWZhdWx0LWZsb2F0fTogZ3JpZC1jYWxjKCRwdXNoLCAkdG90YWwtY29sdW1ucyk7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87IH1cbiAgQGlmICRwdWxsIHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogZ3JpZC1jYWxjKCRwdWxsLCAkdG90YWwtY29sdW1ucyk7ICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvOyB9XG5cbiAgQGlmICRmbG9hdCB7XG4gICAgQGlmICRmbG9hdCA9PSBsZWZ0IG9yICRmbG9hdCA9PSB0cnVlIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XG4gICAgQGVsc2UgaWYgJGZsb2F0ID09IHJpZ2h0IHsgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247IH1cbiAgICBAZWxzZSB7IGZsb2F0OiBub25lOyB9XG4gIH1cblxuICAvLyBJZiBjZW50ZXJlZCwgZ2V0IHJpZCBvZiBmbG9hdCBhbmQgYWRkIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRjZW50ZXIge1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIElmIG9mZnNldCwgY2FsY3VsYXRlIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRvZmZzZXQgeyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkb2Zmc2V0LCAkdG90YWwtY29sdW1ucykgIWltcG9ydGFudDsgfVxuXG59XG5cbi8vIENyZWF0ZSBwcmVzZW50YXRpb25hbCBjbGFzc2VzIGZvciBncmlkXG4vL1xuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtMSwgLmxhcmdlLTIsIGV0Yy5cbkBtaXhpbiBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSkge1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tcHVzaC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICAgIC4jeyRzaXplfS1wdWxsLSN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOmZhbHNlLCAkcG9zaXRpb246dHJ1ZSk7IH1cblxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMge1xuICAgIC4jeyRzaXplfS0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgIC4jeyRzaXplfS1vZmZzZXQtI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkb2Zmc2V0OiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgLiN7JHNpemV9LXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS1jZW50ZXJlZCB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjZW50ZXI6dHJ1ZSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cblxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gIH1cblxuICAvLyBGaWdodGluZyBbY2xhc3MqPVwiY29sdW1uXCJdICsgW2NsYXNzKj1cImNvbHVtblwiXTpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ2h0aW5nIC5jb2x1bW4uPHByZXZpb3VzLXNpemU+LWNlbnRlcmVkOmxhc3QtY2hpbGRcbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgfVxuXG5cdC5yb3cge1xuXHRcdCYuI3skc2l6ZX0tY29sbGFwc2Uge1xuXHRcdFx0PiAuY29sdW1uLFxuXHRcdFx0PiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cblx0XHRcdC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cblx0XHR9XG5cdFx0Ji4jeyRzaXplfS11bmNvbGxhcHNlIHtcblx0XHRcdD4gLmNvbHVtbixcblx0XHRcdD4gLmNvbHVtbnMge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdyaWRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICAgPiAuY29sdW1uLFxuICAgICAgICAgPiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgICAgICAgLnJvdyB7bWFyZ2luLWxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjA7fVxuICAgICAgfVxuXG4gICAgICAucm93IHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QpO1xuICAgICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QtY29sbGFwc2UpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiR0b3RhbC1jb2x1bW5zKTsgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7XG4gICAgICAmICsgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6ICRsYXN0LWNoaWxkLWZsb2F0O1xuICAgICAgfVxuICAgICAgJiArICYuZW5kIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwpO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSk7XG4gICAgICAvLyBPbGQgcHVzaCBhbmQgcHVsbCBjbGFzc2VzXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlKTtcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAgICAgLnB1c2gtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICAucHVsbC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlcyB7XG4gICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlKTtcbiAgICB9XG4gICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCBodG1sIGFuZCBib2R5IGZvbnQtc2l6ZSBmb3IgdGhlIGJhc2UgcmVtIHZhbHVlLlxuJHJlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBJTVBPUlQgT05DRVxuLy8gV2UgdXNlIHRoaXMgdG8gcHJldmVudCBzdHlsZXMgZnJvbSBiZWluZyBsb2FkZWQgbXVsdGlwbGUgdGltZXMgZm9yIGNvbXBvbmVudHMgdGhhdCByZWx5IG9uIG90aGVyIGNvbXBvbmVudHMuXG4kbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbkBtaXhpbiBleHBvcnRzKCRuYW1lKSB7XG4gIC8vIEltcG9ydCBmcm9tIGdsb2JhbCBzY29wZVxuICAkbW9kdWxlczogJG1vZHVsZXMgIWdsb2JhbDtcbiAgLy8gQ2hlY2sgaWYgYSBtb2R1bGUgaXMgYWxyZWFkeSBvbiB0aGUgbGlzdFxuICAkbW9kdWxlX2luZGV4OiBpbmRleCgkbW9kdWxlcywgJG5hbWUpO1xuICBAaWYgKCgkbW9kdWxlX2luZGV4ID09IG51bGwpIG9yICgkbW9kdWxlX2luZGV4ID09IGZhbHNlKSkge1xuICAgICRtb2R1bGVzOiBhcHBlbmQoJG1vZHVsZXMsICRuYW1lKSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vXG4vLyBAZnVuY3Rpb25zXG4vL1xuXG5cbi8vIFJBTkdFU1xuLy8gV2UgdXNlIHRoZXNlIGZ1bmN0aW9ucyB0byBkZWZpbmUgcmFuZ2VzIGZvciB2YXJpb3VzIHRoaW5ncywgbGlrZSBtZWRpYSBxdWVyaWVzLlxuQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPD0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMSk7XG59XG5cbkBmdW5jdGlvbiB1cHBlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDwgMiB7XG4gICAgQHJldHVybiA5OTk5OTk5OTk5OTk7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAyKTtcbn1cblxuLy8gU1RSSVAgVU5JVFxuLy8gSXQgc3RyaXBzIHRoZSB1bml0IG9mIG1lYXN1cmUgYW5kIHJldHVybnMgaXRcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vIFRFWFQgSU5QVVQgVFlQRVNcblxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCAkdHlwZXM6IGFsbCwgJHNlbGVjdG9yOiBpbnB1dCApIHtcblxuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLXRleHQtaW5wdXQtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvclxuICAgIHRleHRhcmVhO1xuXG4gIEBpZiAkdHlwZXMgPT0gYWxsIHsgJHR5cGVzOiAkYWxsLXRleHQtaW5wdXQtdHlwZXM7IH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgIEBpZiAkdHlwZSA9PSB0ZXh0YXJlYSB7XG4gICAgICBAaWYgJHNlbGVjdG9yID09IGlucHV0IHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9JyksIGNvbW1hKVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfSN7JHNlbGVjdG9yfScpLCBjb21tYSlcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyRzZWxlY3Rvcn1bdHlwZT1cIiN7JHR5cGV9XCJdJyksIGNvbW1hKVxuICAgIH1cbiAgfVxuXG4gICAgQHJldHVybiAkcmV0dXJuO1xuXG59XG5cbi8vIENPTlZFUlQgVE8gUkVNXG5AZnVuY3Rpb24gY29udmVydC10by1yZW0oJHZhbHVlLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZS12YWx1ZSkgKiAxcmVtO1xuICBAaWYgKCR2YWx1ZSA9PSAwcmVtKSB7ICR2YWx1ZTogMDsgfSAvLyBUdXJuIDByZW0gaW50byAwXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gZGF0YSgkYXR0cikge1xuICBAaWYgJG5hbWVzcGFjZSB7XG4gICAgQHJldHVybiAnW2RhdGEtJyArICRuYW1lc3BhY2UgKyAnLScgKyAkYXR0ciArICddJztcbiAgfVxuXG4gIEByZXR1cm4gJ1tkYXRhLScgKyAkYXR0ciArICddJztcbn1cblxuLy8gUkVNIENBTENcblxuLy8gTmV3IFN5bnRheCwgYWxsb3dzIHRvIG9wdGlvbmFsbHkgY2FsY3VsYXRlIG9uIGEgZGlmZmVyZW50IGJhc2UgdmFsdWUgdG8gY291bnRlciBjb21wb3VuZGluZyBlZmZlY3Qgb2YgcmVtJ3MuXG4vLyBDYWxsIHdpdGggMSwgMiwgMyBvciA0IHBhcmFtZXRlcnMsICdweCcgaXMgbm90IHJlcXVpcmVkIGJ1dCBzdXBwb3J0ZWQ6XG4vL1xuLy8gICByZW0tY2FsYygxMCAyMCAzMHB4IDQwKTtcbi8vXG4vLyBTcGFjZSBkZWxpbWl0ZWQsIGlmIHlvdSB3YW50IHRvIGRlbGltaXQgdXNpbmcgY29tbWEncywgd3JhcCBpdCBpbiBhbm90aGVyIHBhaXIgb2YgYnJhY2tldHNcbi8vXG4vLyAgIHJlbS1jYWxjKCgxMCwgMjAsIDMwLCA0MHB4KSk7XG4vL1xuLy8gT3B0aW9uYWxseSBjYWxsIHdpdGggYSBkaWZmZXJlbnQgYmFzZSAoZWc6IDhweCkgdG8gY2FsY3VsYXRlIHJlbS5cbi8vXG4vLyAgIHJlbS1jYWxjKDE2cHggMzJweCA0OHB4LCA4cHgpO1xuLy9cbi8vIElmIHlvdSByZXF1aXJlIHRvIGNvbW1hIHNlcGFyYXRlIHlvdXIgbGlzdFxuLy9cbi8vICAgcmVtLWNhbGMoKDE2cHgsIDMycHgsIDQ4KSwgOHB4KTtcblxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAxKSwgJGJhc2UtdmFsdWUpOyB9XG5cbiAgJHJlbVZhbHVlczogKCk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgJHJlbVZhbHVlczogYXBwZW5kKCRyZW1WYWx1ZXMsIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlLXZhbHVlKSk7XG4gIH1cbiAgQHJldHVybiAkcmVtVmFsdWVzO1xufVxuXG5cbkBmdW5jdGlvbiBlbS1jYWxjKCR2YWx1ZXMpIHtcbiAgJHJlbVZhbHVlczogcmVtLWNhbGMoJHZhbHVlcyk7XG5cbiAgJG1heDogbGVuZ3RoKCRyZW1WYWx1ZXMpO1xuXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsIDEpKSAqIDFlbTsgfVxuXG4gICRlbVZhbHVlczogKCk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgJGVtVmFsdWVzOiBhcHBlbmQoJGVtVmFsdWVzLCBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAkaSkpICogMWVtKTtcbiAgfVxuICBAcmV0dXJuICRlbVZhbHVlcztcbn1cblxuXG4vLyBEZXByZWNhdGVkOiBPTEQgRU0gQ0FMQ1xuQGZ1bmN0aW9uIGVtQ2FsYygkdmFsdWVzKSB7XG4gIEByZXR1cm4gZW0tY2FsYygkdmFsdWVzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXIgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1jb250YWluZXIoKVxuLy8gIERlY3JpcHRpb246IFJlc3BvbnNpYmxlIGZvciB0aGUgY29udGFpbmVyIGNvbXBvbmVudCBvZiBhY2NvcmRpb25zLCBnZW5lcmF0aW5nIHN0eWxlcyByZWxhdGluZyB0byBhIG1hcmdpbiBvZiB6ZXJvIGFuZCBhIGNsZWFyZml4XG4vLyAgRXhwbGljaXQgRGVwZW5kZW5jaWVzOiBhIGNsZWFyZml4IG1peGluICppcyogZGVmaW5lZC5cbi8vICBJbXBsaWNpdCBEZXBlbmRlbmNpZXM6IE5vbmVcblxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAgTWl4aW46IGFjY29yZGlvbi1uYXZpZ2F0aW9uKCAkYmcsICRob3Zlci1iZywgJGFjdGl2ZS1iZywgJHBhZGRpbmcsICRhY3RpdmVfY2xhc3MsICAkZm9udC1jb2xvciwgJGZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5KSB7XG4vLyAgICBAcGFyYW1zICRiZy1jb2xvcjogWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudFxuLy8gICAgQHBhcmFtcyAkaG92ZXItYmctY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGhvdmVyZWRcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZS1iZyBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50IHdoZW4gY2xpY2tlZCBhbmQgbm90IHJlbGVhc2VkLlxuLy8gICAgQHBhcmFtcyAkYWN0aXZlX2NsYXNzIFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGNsYXNzIG5hbWUgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGFjY29yZGlvbiB0YWIgc2hvdWxkIGJlIHZpc2libGVcbi8vICAgIEBwYXJhbXMgJGZvbnQtY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogQ29sb3Igb2YgdGhlIGZvbnQgZm9yIGFjY29yZGlvblxuLy8gICAgQHBhcmFtcyAkZm9udC1zaXplIFsgbnVtYmVyIF06IFNwZWNpZml5IHRoZSBmb250LXNpemUgb2YgdGhlIHRleHQgaW5zaWRlIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnRcbi8vICAgIEBwYXJhbXMgJGZvbnQtZmFtaWx5IFsgc3RyaW5nIF06IFNwZWNpZnkgdGhlIGZvbnQgZmFtaWx5IGZvciB0aGUgdGV4dCBvZiB0aGUgbmF2aWdhdGlvbiBvZiB0aGUgYWNjb3Jpb25cblxuQG1peGluIGFjY29yZGlvbi1uYXZpZ2F0aW9uKCAkYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGhvdmVyLWJnOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3IsICRhY3RpdmUtYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3IsICRwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZywgJGFjdGl2ZV9jbGFzczogJ2FjdGl2ZScsICAkZm9udC1jb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3IsICRmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUsICRmb250LWZhbWlseTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5ICkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBAaWYgdHlwZS1vZigkYWN0aXZlX2NsYXNzKSAhPSBcInN0cmluZ1wiIHtcbiAgICBAd2FybiBcImAjeyRhY3RpdmVfY2xhc3N9YCBpc24ndCBhIHZhbGlkIHN0cmluZy4gQSB2YWxpZCBzdHJpbmcgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBiZSBpbnRlcnBvbGF0ZWQgYXMgYSBDU1MgY2xhc3MuIENTUyBjbGFzc2VzIGNhbm5vdCBzdGFydCB3aXRoIGEgbnVtYmVyIG9yIGNvbnNpc3Qgb2Ygb25seSBudW1iZXJzLiBDU1Mgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoaXMgbmF2aWdhdGlvbiBjb21wb25lbnQuXCJcbiAgfVxuICBAZWxzZSB7XG4gICAgJi4jeyAkYWN0aXZlX2NsYXNzIH0gPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XG4gICAgfVxuICB9XG4gID4gYSB7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBAaWYgdHlwZS1vZigkcGFkZGluZykgIT0gbnVtYmVyIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCB3YXMgcmVhZCBhcyAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgICAgQGlmICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nICE9IG51bGwge1xuICAgICAgICBAd2FybiBcIiN7JHBhZGRpbmd9IHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcbiAgICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIGlzbid0IGEgdmFsaWQgbnVtYmVyLiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyAoI3skYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZ30pIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLilcIjtcbiAgICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcgaXMgbWlzc2luZy4gQSB2YWx1ZSBvZiBgbnVsbGAgaXMgcmV0dXJuZWQgdG8gbm90IG91dHB1dCBhbiBpbnZhbGlkIHZhbHVlIGZvciBwYWRkaW5nXCI7XG4gICAgICAgIHBhZGRpbmc6IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIH1cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIEBpZiB0eXBlLW9mKCRmb250LXNpemUpICE9IG51bWJlciB7XG4gICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkZm9udC1zaXplKX1cIjtcbiAgICAgIEBpZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplICE9IG51bGwge1xuICAgICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCBpcyBub3QgYSB2YWxpZCBudW1iZXIuIFRoZSB2YWx1ZSBvZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplIHdpbGwgYmUgdXNlZCBpbnN0ZWFkICgjeyRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemV9KS5cIjtcbiAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplO1xuICAgICAgfVxuICAgICAgQGVsc2V7XG4gICAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIGlzIG5vdCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSBpcyBub3QgZGVmaW5lZC4gQSB2YWx1ZSBvZiBgbnVsbGAgd2lsbCBiZSByZXR1cm5lZCB0byBub3QgZ2VuZXJhdGUgYW4gaW52YWxpZCB2YWx1ZSBmb3IgZm9udC1zaXplLlwiO1xuICAgICAgICBmb250LXNpemU6IG51bGw7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gIE1peGluOiBhY2NvcmRpb24tY29udGVudCgkYmcsICRwYWRkaW5nLCAkYWN0aXZlLWNsYXNzKVxuLy8gICAgQHBhcmFtcyAkcGFkZGluZyBbIG51bWJlciBdOiBQYWRkaW5nIGZvciB0aGUgY29udGVudCBvZiB0aGUgY29udGFpbmVyXG4vLyAgICBAcGFyYW1zICRiZyBbIGNvbG9yICBdOiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgY29udGVudCB3aGVuIGl0J3MgdmlzaWJsZVxuLy8gICAgQHBhcmFtcyAkYWN0aXZlX2NsYXNzIFsgc3RyaW5nIF06IENsYXNzIG5hbWUgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIGFjY29yZGlvbiB0YWIgc2hvdWxkIGJlIHZpc2libGUuXG5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCgkYmc6ICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3IsICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZywgJGFjdGl2ZV9jbGFzczogJ2FjdGl2ZScpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGlmIHR5cGUtb2YoJHBhZGRpbmcpICE9IFwibnVtYmVyXCIge1xuICAgIEB3YXJuIFwiI3skcGFkZGluZ30gd2FzIHJlYWQgYXMgYSAje3R5cGUtb2YoJHBhZGRpbmcpfVwiO1xuICAgIEBpZiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyAhPSBudWxsIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgdXNlZCBpbnN0ZWFkXCI7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZy5cIjtcbiAgICAgIHBhZGRpbmc6IG51bGw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRhY3RpdmVfY2xhc3MpICE9IFwic3RyaW5nXCIge1xuICAgIEB3YXJuIFwiYCN7JGFjdGl2ZV9jbGFzc31gIGlzbid0IGEgdmFsaWQgc3RyaW5nLiBBIHZhbGlkIHN0cmluZyBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IGJlIGludGVycG9sYXRlZCBhcyBhIENTUyBjbGFzcy4gQ1NTIGNsYXNzZXMgY2Fubm90IHN0YXJ0IHdpdGggYSBudW1iZXIgb3IgY29uc2lzdCBvZiBvbmx5IG51bWJlcnMuIENTUyB3aWxsIG5vdCBiZSBnZW5lcmF0ZWQgZm9yIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGNvbnRlbnQuIFwiXG4gIH1cbiAgQGVsc2Uge1xuICAgICYuI3skYWN0aXZlX2NsYXNzfSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImFjY29yZGlvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC5hY2NvcmRpb24tbmF2aWdhdGlvbiwgZGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAmLmFjdGl2ZSA+IGEgeyBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOyB9XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcbiAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOyB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBBbGVydCBCb3ggVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWxlcnQgcGFkZGluZy5cbiRhbGVydC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uOiAkYWxlcnQtcGFkZGluZy10b3AgKyByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1ib3R0b206ICRhbGVydC1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZS5cbiRhbGVydC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRhbGVydC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRhbGVydC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYWxlcnQtZm9udC1jb2xvci1hbHQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC02NiUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyBmb3IgY2xvc2UgaG92ZXIgZWZmZWN0LlxuJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbiRhbGVydC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25zXG4kYWxlcnQtY2xvc2UtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcG9zaXRpb246IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI6IC41ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXBhZGRpbmc6IDAgNnB4IDRweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXNcbiRhbGVydC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4kYWxlcnQtdHJhbnNpdGlvbi1zcGVlZDogMzAwbXMgIWRlZmF1bHQ7XG4kYWxlcnQtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy9cbi8vIEFsZXJ0IE1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBhbGVydCBiYXNlLlxuQG1peGluIGFsZXJ0LWJhc2Uge1xuICBib3JkZXItc3R5bGU6ICRhbGVydC1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGFsZXJ0LWJvcmRlci13aWR0aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGFsZXJ0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1mb250LXdlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LWJvdHRvbS1tYXJnaW47XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXRvcCAkYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb24gJGFsZXJ0LXBhZGRpbmctYm90dG9tICRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24ob3BhY2l0eSwgJGFsZXJ0LXRyYW5zaXRpb24tc3BlZWQsICRhbGVydC10cmFuc2l0aW9uLWVhc2UpXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBhbGVydCBzdHlsZXNcbi8vXG4vLyAkYmcgLSBUaGUgYmFja2dyb3VuZCBvZiB0aGUgYWxlcnQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuQG1peGluIGFsZXJ0LXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcikge1xuXG4gIC8vIFRoaXMgZmluZHMgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciBjb21lIHRocm91Z2guXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpO1xuXG4gIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgeyBjb2xvcjogJGFsZXJ0LWZvbnQtY29sb3ItYWx0OyB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgIHsgY29sb3I6ICRhbGVydC1mb250LWNvbG9yOyB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gYWxlcnQtY2xvc2Uge1xuICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYWxlcnQtY2xvc2UtcG9zaXRpb247XG4gIGJhY2tncm91bmQ6ICRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGFsZXJ0LWNsb3NlLWNvbG9yO1xuICBmb250LXNpemU6ICRhbGVydC1jbG9zZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAuOTtcbiAgbWFyZ2luLXRvcDogLSgkYWxlcnQtY2xvc2UtZm9udC1zaXplIC8gMik7XG4gIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5O1xuICBwYWRkaW5nOiAkYWxlcnQtY2xvc2UtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRhbGVydC1jbG9zZS10b3A7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMgeyBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjsgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBhbGVydHMgd2l0aCBhIHNpbmdsZSBtaXhpbi5cbi8vXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIG9mIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgb2YgYWxlcnQgYm94LiBEZWZhdWx0OiBmYWxzZS5cbkBtaXhpbiBhbGVydCgkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcbiAgQGluY2x1ZGUgYWxlcnQtYmFzZTtcbiAgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGJnKTtcbiAgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYWxlcnQtYm94XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlcyB7XG4gICAgLmFsZXJ0LWJveCB7XG4gICAgICBAaW5jbHVkZSBhbGVydDtcblxuICAgICAgLmNsb3NlICAgICAgeyBAaW5jbHVkZSBhbGVydC1jbG9zZTsgfVxuXG4gICAgICAmLnJhZGl1cyAgICB7IEBpbmNsdWRlIHJhZGl1cygkYWxlcnQtcmFkaXVzKTsgfVxuICAgICAgJi5yb3VuZCAgICAgeyBAaW5jbHVkZSByYWRpdXMoJGdsb2JhbC1yb3VuZGVkKTsgfVxuXG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYWxlcnQtY29sb3IpOyB9XG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkd2FybmluZy1jb2xvcik7IH1cbiAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRpbmZvLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydC1jbG9zZSB7IG9wYWNpdHk6IDB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQmxvY2sgR3JpZCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcbiRibG9jay1ncmlkLWVsZW1lbnRzOiAxMiAhZGVmYXVsdDtcbiRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4kYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkOiBmYWxzZSAhZGVmYXVsdDtcbkBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiAkY29sdW1uLWd1dHRlcjtcbn1cblxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nIHNlbWFudGljIEhUTUwuXG4kYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzOiB0cnVlICFkZWZhdWx0O1xuXG4vL1xuLy8gQmxvY2sgR3JpZCBNaXhpbnNcbi8vXG5cbi8vIENyZWF0ZSBhIGN1c3RvbSBibG9jayBncmlkXG4vL1xuLy8gJHBlci1yb3cgLSAjIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdy4gRGVmYXVsdDogZmFsc2UuXG4vLyAkc3BhY2luZyAtICMgb2YgZW1zIHRvIHVzZSBhcyBwYWRkaW5nIG9uIGVhY2ggYmxvY2sgaXRlbS4gRGVmYXVsdDogcmVtLWNhbGMoMjApLlxuLy8gJGluY2x1ZGUtc3BhY2luZyAtIEFkZHMgcGFkZGluZyB0byBvdXIgbGlzdCBpdGVtLiBEZWZhdWx0OiB0cnVlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBhIGJhc2Ugc3R5bGUgdG8gYmxvY2sgZ3JpZC4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBibG9jay1ncmlkKFxuICAkcGVyLXJvdzpmYWxzZSxcbiAgJHNwYWNpbmc6JGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLFxuICAkaW5jbHVkZS1zcGFjaW5nOnRydWUsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luOiAwICgtJHNwYWNpbmcvMik7XG4gICAgfVxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwZXItcm93IHtcbiAgICA+IGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaWYgJGluY2x1ZGUtc3BhY2luZyB7XG4gICAgICAgIHBhZGRpbmc6IDAgKCRzcGFjaW5nLzIpICRzcGFjaW5nO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCUvJHBlci1yb3c7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgICAgIEBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1hbGlnbmVkKCRwZXItcm93LCAkc3BhY2luZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibG9jay1ncmlkLWFsaWduZWQoJHBlci1yb3csICRzcGFjaW5nKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xuICAgIEBpZiAkcGVyLXJvdyA+PSAkaSB7XG4gICAgICAkZ3JpZC1jb2x1bW46ICcrJyArICRpO1xuICAgICAgQGlmICRwZXItcm93ID09ICRpIHtcbiAgICAgICAgJGdyaWQtY29sdW1uOiAnJztcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uI3t1bnF1b3RlKCRncmlkLWNvbHVtbil9KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogKCRzcGFjaW5nIC0gKCgkc3BhY2luZyAvICRwZXItcm93KSAqICgkcGVyLXJvdyAtICgkaSAtIDEpKSkpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogJGkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgcHJlc2VudGF0aW9uYWwgbWFya3VwIGZvciBibG9jayBncmlkLlxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLWJsb2NrLWdyaWQtMSwgLmxhcmdlLWJsb2NrLWdyaWQtMiwgZXRjLlxuQG1peGluIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplLCAkaW5jbHVkZS1zcGFjaW5nKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xuICAgIC4jeyRzaXplfS1ibG9jay1ncmlkLSN7KCRpKX0ge1xuICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZCgkaSwgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLCAkaW5jbHVkZS1zcGFjaW5nLCBmYWxzZSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJibG9jay1ncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzIHtcblxuICAgIFtjbGFzcyo9XCJibG9jay1ncmlkLVwiXSB7IEBpbmNsdWRlIGJsb2NrLWdyaWQ7IH1cblxuICAgIEBpZiAkYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzIHtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpzbWFsbCwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bWVkaXVtLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRpbmNsdWRlLXhsLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzIHtcbiAgICAgICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skeHhsYXJnZS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQnJlYWRjcnVtYiBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLlxuJGNydW1iLWJnOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA1NSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBwYWRkaW5nIGFyb3VuZCB0aGUgYnJlYWRjcnVtYnMuXG4kY3J1bWItcGFkZGluZzogcmVtLWNhbGMoOSAxNCA5KSAhZGVmYXVsdDtcbiRjcnVtYi1zaWRlLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbiRjcnVtYi1mdW5jdGlvbi1mYWN0b3I6IC0xMCUgIWRlZmF1bHQ7XG4kY3J1bWItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjcnVtYi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGNydW1iLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNydW1iLWJnLCAkbGlnaHRuZXNzOiAkY3J1bWItZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRjcnVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHZhcmlvdXMgdGV4dCBzdHlsZXMgZm9yIGJyZWFkY3J1bWJzLlxuJGNydW1iLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDogJG9pbCAhZGVmYXVsdDtcbiRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kY3J1bWItZm9udC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRjcnVtYi1saW5rLWRlY29yOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWJzXG4kY3J1bWItc2xhc2gtY29sb3I6ICRiYXNlICFkZWZhdWx0O1xuJGNydW1iLXNsYXNoOiBcIi9cIiAhZGVmYXVsdDtcblxuLy9cbi8vIEJyZWFkY3J1bWIgTWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBjb250YWluZXIgYXJvdW5kIG91ciBicmVhZGNydW1ic1xuQG1peGluIGNydW1iLWNvbnRhaW5lciB7XG4gIGJvcmRlci1zdHlsZTogJGNydW1iLWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkY3J1bWItYm9yZGVyLXNpemU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6ICRjcnVtYi1wYWRkaW5nO1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBhbmQgYm9yZGVyIGNvbWUgdGhyb3VnaC5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNydW1iLWJnO1xuICBib3JkZXItY29sb3I6ICRjcnVtYi1ib3JkZXItY29sb3I7XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBicmVhZGNydW1iIHN0eWxlcyBmcm9tIGxpc3QgaXRlbXMuXG5AbWl4aW4gY3J1bWJzIHtcblxuICAvLyBBIG5vcm1hbCBzdGF0ZSB3aWxsIG1ha2UgdGhlIGxpbmtzIGxvb2sgYW5kIGFjdCBsaWtlIGNsaWNrYWJsZSBicmVhZGNydW1icy5cbiAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yO1xuICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gIGZvbnQtc2l6ZTogJGNydW1iLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjcnVtYi1mb250LXNpemU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06ICRjcnVtYi1mb250LXRyYW5zZm9ybTtcblxuICAmOmhvdmVyIGEsICY6Zm9jdXMgYSB7IHRleHQtZGVjb3JhdGlvbjogJGNydW1iLWxpbmstZGVjb3I7IH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBDdXJyZW50IGlzIGZvciB0aGUgbGluayBvZiB0aGUgY3VycmVudCBwYWdlXG4gICYuY3VycmVudCB7XG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgIH1cblxuICAgICY6aG92ZXIsICY6aG92ZXIgYSxcbiAgICAmOmZvY3VzLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgfVxuXG4gIC8vIFVuYXZhaWxhYmxlIHJlbW92ZWQgY29sb3IgYW5kIGxpbmsgc3R5bGVzIHNvIGl0IGxvb2tzIGluYWN0aXZlLlxuICAmLnVuYXZhaWxhYmxlIHtcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU7XG4gICAgYSB7IGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTsgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmhvdmVyIGEsXG4gICAgJjpmb2N1cyxcbiAgICBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29sb3I6ICRjcnVtYi1zbGFzaC1jb2xvcjtcbiAgICBjb250ZW50OiBcIiN7JGNydW1iLXNsYXNofVwiO1xuICAgIG1hcmdpbjogMCAkY3J1bWItc2lkZS1wYWRkaW5nO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDFweDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJyZWFkY3J1bWJzXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBAaW5jbHVkZSBjcnVtYi1jb250YWluZXI7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGNydW1iLXJhZGl1cyk7XG5cbiAgICAgID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIGNydW1icztcbiAgICAgIH1cbiAgICB9XG4gICAgLyogQWNjZXNzaWJpbGl0eSAtIGhpZGVzIHRoZSBmb3J3YXJkIHNsYXNoICovXG4gICAgW2FyaWEtbGFiZWw9XCJicmVhZGNydW1ic1wiXSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zLlxuJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRidXR0b24tc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYnV0dG9uLW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGlzcGxheSBwcm9wZXJ0eS5cbiRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuJGJ1dHRvbi1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cbiRidXR0b24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXRueTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNtbDogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWxyZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGhvdmVyIGVmZmVjdHMuXG4kYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogLTIwJSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIGJvcmRlciBzdHlsZXMuXG4kYnV0dG9uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRidXR0b24tYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItY29sb3I6ICRidXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRhbGVydC1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR3YXJuaW5nLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRpbmZvLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYm9yZGVyLWNvbG9yOiAkaW5mby1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgZGVmYXVsdCBvcGFjaXR5IGFuZCBjdXJzb3IgZm9yIGRpc2FibGVkIGJ1dHRvbnMuXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBidXR0b24gYmFzZS5cbi8vXG4vLyAkc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzLiBDYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OiB0cnVlLlxuLy8gJGRpc3BsYXkgLSBVc2VkIHRvIGNvbnRyb2wgZGlzcGxheSBwcm9wZXJ0eS4gRGVmYXVsdDogJGJ1dHRvbi1kaXNwbGF5IHx8IGlubGluZS1ibG9ja1xuXG5AbWl4aW4gYnV0dG9uLWJhc2UoJHN0eWxlOnRydWUsICRkaXNwbGF5OiRidXR0b24tZGlzcGxheSkge1xuICBAaWYgJHN0eWxlIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICBib3JkZXItc3R5bGU6ICRidXR0b24tYm9yZGVyLXN0eWxlO1xuICAgIGJvcmRlci13aWR0aDogJGJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gICAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgMCAkYnV0dG9uLW1hcmdpbi1ib3R0b207XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246ICRidXR0b24tZm9udC1hbGlnbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgQGlmICRkaXNwbGF5IHsgZGlzcGxheTogJGRpc3BsYXk7IH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBzaXplIHN0eWxlc1xuLy9cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zIERlZmF1bHQ6ICRidXR0b24tbWVkIHx8PSByZW0tY2FsYygxMilcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoIC0gRGVmYXVsdDogZmFsc2VcblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkZnVsbC13aWR0aDpmYWxzZSkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggcGFkZGluZyBzdHlsZXMgY29tZSB0aHJvdWdoLFxuICAvLyB0aGVzZSBjYW4gYmUgdHVybmVkIG9mZiBieSBzZXR0aW5nICRwYWRkaW5nOmZhbHNlXG4gIEBpZiAkcGFkZGluZyB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcgKCRwYWRkaW5nICogMikgKCRwYWRkaW5nICsgcmVtLWNhbGMoMSkpICgkcGFkZGluZyAqIDIpO1xuICAgIC8vIFdlIGNvbnRyb2wgdGhlIGZvbnQtc2l6ZSBiYXNlZCBvbiBtaXhpbiBpbnB1dC5cbiAgICBAaWYgICAgICAkcGFkZGluZyA9PSAkYnV0dG9uLW1lZCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LW1lZDsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tdG55IHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtdG55OyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi1zbWwgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1zbWw7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLWxyZyB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LWxyZzsgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLlxuICBAaWYgJGZ1bGwtd2lkdGgge1xuICAgIC8vIFdlIHN0aWxsIG5lZWQgdG8gY2hlY2sgaWYgJHBhZGRpbmcgaXMgc2V0LlxuICAgIEBpZiAkcGFkZGluZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcgKyByZW0tY2FsYygxKTtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgICB9IEBlbHNlIGlmICRwYWRkaW5nID09IGZhbHNlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgICBwYWRkaW5nLXRvcDowO1xuICAgIH1cbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyB3ZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJ1dHRvbiBob3ZlciBhbmQgYm9yZGVyIGNvbG9yc1xuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYnV0dG9uIGNvbG9yIHN0eWxlc1xuLy9cbi8vICRiZyAtIEJhY2tncm91bmQgY29sb3IuIFdlIGNhbiBzZXQgJGJnOmZhbHNlIGZvciBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRidXR0b24tcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQmFja2dyb3VuZCBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1iZy1ob3ZlclxuLy8gJGJvcmRlci1jb2xvciAtIEJ1dHRvbiBCb3JkZXIgQ29sb3IuIERlZmF1bHQ6ICRidXR0b24tYm9yZGVyLWNvbG9yXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwpIHtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgc3R5bGVzIGFyZSB1c2VkLFxuICAvLyB0aGVzZSBjYW4gYmUgcmVtb3ZlZCBieSBzZXR0aW5nICRiZzpmYWxzZVxuICBAaWYgJGJnIHtcblxuICAgIEBpZiAkYmctaG92ZXIgPT0gbnVsbCB7XG4gICAgICAkYmctaG92ZXI6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJnLWhvdmVyLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXItY29sb3IgPT0gbnVsbCB7XG4gICAgICAkYm9yZGVyLWNvbG9yOiBpZigkYmcgPT0gJGJ1dHRvbi1iZy1jb2xvciwgJGJ1dHRvbi1ib3JkZXItY29sb3IsIHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgICRiZy1ob3Zlci1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmctaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctaG92ZXI7IH1cblxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICBjb2xvcjogaWYoJGJnLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogaWYoJGJnLWhvdmVyLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi5cbiAgQGlmICRkaXNhYmxlZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjdXJzb3I6ICRidXR0b24tZGlzYWJsZWQtY3Vyc29yO1xuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7IH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBjb250cm9sIGhvdyBtdWNoIGJ1dHRvbiByYWRpdXMgaXMgdXNlZC5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkYnV0dG9uLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGJ1dHRvbnMgd2l0aCBhIHNpbmdsZSBtaXhpbi4gQXMgQGphcmVkaGFyZHkgcHV0cyBpdCwgXCJ0aGUga2l0Y2hlbiBzaW5rIG1peGluXCJcbi8vXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXG4vLyAkYmcgLSBQcmltYXJ5IGNvbG9yIHNldCBpbiBzZXR0aW5ncyBmaWxlLiBEZWZhdWx0OiAkYnV0dG9uLWJnLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguIERlZmF1bHQ6ZmFsc2UuXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDpmYWxzZS5cbi8vICRpcy1wcmVmaXggLSBOb3QgdXNlZD8gRGVmYXVsdDpmYWxzZS5cbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxuLy8gJHRyYW5zaXRpb24gLSBXZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zaXRpb24gcHJvcGVydHkgLSBEZWZhdWx0OnRydWUuXG5AbWl4aW4gYnV0dG9uKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UsICRkaXNhYmxlZDpmYWxzZSwgJGlzLXByZWZpeDpmYWxzZSwgJGJnLWhvdmVyOm51bGwsICRib3JkZXItY29sb3I6bnVsbCwgJHRyYW5zaXRpb246IHRydWUpIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLCAkZnVsbC13aWR0aCk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmcsICRyYWRpdXMsICRkaXNhYmxlZCwgJGJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yKTtcblxuICBAaWYgJHRyYW5zaXRpb24ge1xuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcblxuICAgIC8vIERlZmF1bHQgc3R5bGVzIGFwcGxpZWQgb3V0c2lkZSBvZiBtZWRpYSBxdWVyeVxuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlO1xuXG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtY29sb3IsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLmluZm8gICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cblxuICAgICAgJi5sYXJnZSAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLWxyZyk7IH1cbiAgICAgICYuc21hbGwgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1zbWwpOyB9XG4gICAgICAmLnRpbnkgICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tdG55KTsgfVxuICAgICAgJi5leHBhbmQgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpudWxsLCAkZnVsbC13aWR0aDp0cnVlKTsgfVxuXG4gICAgICAmLmxlZnQtYWxpZ24gIHsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDEyKTsgfVxuICAgICAgJi5yaWdodC1hbGlnbiB7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMik7IH1cblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6JGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYnV0dG9uLWJvcmRlci1jb2xvcik7XG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGluZm8tYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9maXJlZm94IDJweCBmaXhcbiAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge2JvcmRlcjowOyBwYWRkaW5nOjA7fVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWJhc2UoJHN0eWxlOmZhbHNlLCAkZGlzcGxheTppbmxpbmUtYmxvY2spO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQnV0dG9uIEdyb3VwIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcbiRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy9cbi8vIEJ1dHRvbiBHcm91cCBNaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lclxuQG1peGluIGJ1dHRvbi1ncm91cC1jb250YWluZXIoJHN0eWxlczp0cnVlLCAkZmxvYXQ6ZmFsc2UpIHtcbiAgQGlmICRzdHlsZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbiAgQGlmICRmbG9hdCB7XG4gICAgZmxvYXQ6ICN7JGRlZmF1bHQtZmxvYXR9O1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU7XG4gICAgJiBkaXYgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBzdHlsZXMgZm9yIGJ1dHRvbiBncm91cHNcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czpmYWxzZSwgJGV2ZW46ZmFsc2UsICRmbG9hdDpmYWxzZSwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpIHtcblxuICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG4gIH1cblxuICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZmxvdywgb3IgcmVtb3ZlIHRob3NlIHN0eWxlcyBjb21wbGV0ZWx5LlxuICBAaWYgJGZsb2F0IHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcbiAgICBmbG9hdDogJGZsb2F0O1xuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZmlyc3QgY2hpbGQgZG9lc24ndCBnZXQgdGhlIG5lZ2F0aXZlIG1hcmdpbi5cbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwOyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICRidXR0b24tZ3JvdXAtZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwIC0ycHg7XG4gIH1cblxuICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGJsb2NrO1xuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xuICAgID4gYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3A6ICRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgPiBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGlzcGxheTogJGJ1dHRvbi1ncm91cC1kaXNwbGF5O1xuICBtYXJnaW46ICRidXR0b24tZ3JvdXAtbWFyZ2luO1xuXG5cbiAgLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGVmdCBhbmQgcmlnaHQgcmFkaXVzIG9uIGZpcnN0L2xhc3QgYnV0dG9ucyBpbiB0aGUgZ3JvdXAuXG4gIEBpZiAkcmFkaXVzID09IHRydWUge1xuICAgICYsXG4gICAgPiBhLFxuICAgID4gYnV0dG9uLFxuICAgID4gLmJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgfVxuICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXModG9wLCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmOmxhc3QtY2hpbGQgPiBhLFxuICAgICY6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRidXR0b24tcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHtcbiAgICAmLFxuICAgID4gYSxcbiAgICA+IGJ1dHRvbixcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cbiAgICAmOmZpcnN0LWNoaWxkLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkLFxuICAgICY6bGFzdC1jaGlsZCA+IGEsXG4gICAgJjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICY6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKGJvdHRvbSwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdlIHVzZSB0aGlzIHRvIG1ha2UgdGhlIGJ1dHRvbnMgZXZlbiB3aWR0aCBhY3Jvc3MgdGhlaXIgY29udGFpbmVyXG4gIEBpZiAkZXZlbiB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKDEwMC8kZXZlbikgLyAxMDApO1xuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvbi1ncm91cFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcbiAgICAuYnV0dG9uLWdyb3VwIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWNvbnRhaW5lcjtcblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA4IHtcbiAgICAgICAgJi5ldmVuLSN7JGl9IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRldmVuOiRpLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgIH1cblxuICAgICAgPiBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgpOyB9XG5cbiAgICAgICYuc3RhY2sge1xuICAgICAgICA+IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IGZsb2F0OiBub25lOyB9XG4gICAgICB9XG5cbiAgICAgICYuc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcbiAgICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucmFkaXVzLnN0YWNrID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkZmxvYXQ6bnVsbCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTsgfVxuICAgICAgJi5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yb3VuZCA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgICYucm91bmQuc3RhY2sgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRmbG9hdDpudWxsLCAkb3JpZW50YXRpb246dmVydGljYWwpOyB9XG4gICAgICAmLnJvdW5kLnN0YWNrLWZvci1zbWFsbCA+ICoge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yb3VuZCwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1tZWQsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWJhciB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIC5idXR0b24tZ3JvdXAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtY29udGFpbmVyKCRzdHlsZXM6ZmFsc2UsICRmbG9hdDp0cnVlKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHBhcnRzIG9mIENsZWFyaW5nLlxuJGNsZWFyaW5nLWJnOiAkb2lsICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tYmc6ICRjbGVhcmluZy1iZyAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC1iZzogcmdiYSg1MSw1MSw1MSwwLjgpICFkZWZhdWx0O1xuJGNsZWFyaW5nLWltZy1iZzogJGNsZWFyaW5nLWJnICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvblxuJGNsZWFyaW5nLWNsb3NlLWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRjbGVhcmluZy1jbG9zZS1zaXplOiAzMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xuJGNsZWFyaW5nLWFycm93LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXG4kY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTogLjg3NWVtICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHRoZSBpbWFnZSBhbmQgY2Fyb3VzZWwgaGVpZ2h0IGFuZCBzdHlsZVxuJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSUgIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDogMTIwcHggIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSkgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJjbGVhcmluZ1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWNsZWFyaW5nLWNsYXNzZXMge1xuICAgIC8vIFdlIGRlY2lkZWQgdG8gbm90IGNyZWF0ZSBhIG1peGluIGZvciBDbGVhcmluZyBiZWNhdXNlIGl0IHJlbGllc1xuICAgIC8vIG9uIHByZWRlZmluZWQgY2xhc3NlcyBhbmQgc3RydWN0dXJlIHRvIHdvcmsgcHJvcGVybHkuXG4gICAgLy8gVGhlIHZhcmlhYmxlcyBhYm92ZSBzaG91bGQgZ2l2ZSBlbm91Z2ggY29udHJvbC5cblxuICAgIC8qIENsZWFyaW5nIFN0eWxlcyAqL1xuICAgIC5jbGVhcmluZy10aHVtYnMsICN7ZGF0YSgnY2xlYXJpbmcnKX0ge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgbGkge1xuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIGxpIHtcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWJsYWNrb3V0IHtcbiAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1iZztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogOTk4O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk4O1xuICAgIH1cblxuICAgIC5jbGVhcmluZy10b3VjaC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGJhc2U7XG4gICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG5cbiAgICAudmlzaWJsZS1pbWcge1xuICAgICAgaGVpZ2h0OiA5NSU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIEBpZiAkZGVmYXVsdC1mbG9hdCA9PSBsZWZ0IHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgfTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1jYXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1jYXB0aW9uLWJnO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29sb3I6ICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNsb3NlIHtcbiAgICAgIGNvbG9yOiAkY2xlYXJpbmctY2xvc2UtY29sb3I7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAkY2xlYXJpbmctY2xvc2Utc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkaXJvbjsgfVxuICAgIH1cblxuICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7IGhlaWdodDogMTAwJTtcbiAgICAgIC5jYXJvdXNlbCA+IHVsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIC8vIElmIHlvdSB3YW50IHRvIHNob3cgYSBsaWdodGJveCwgYnV0IG9ubHkgaGF2ZSBhIHNpbmdsZSBpbWFnZSBjb21lIHRocm91Z2ggYXMgdGhlIHRodW1ibmFpbFxuICAgIC5jbGVhcmluZy1mZWF0dXJlIGxpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAmLmNsZWFyaW5nLWZlYXR1cmVkLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExhcmdlIHNjcmVlbiBvdmVycmlkZXNcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2LFxuICAgICAgLmNsZWFyaW5nLW1haW4tbmV4dCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgJGNsZWFyaW5nLWFycm93LXNpemU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAmOmhvdmVyIHsgb3BhY2l0eTogLjg7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldiB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiA1cHg7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYuZGlzYWJsZWQsXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0LmRpc2FibGVkIHsgb3BhY2l0eTogLjM7IH1cblxuICAgICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIHtcblxuICAgICAgICAuY2Fyb3VzZWwge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjbGVhcmluZy1jYXJvdXNlbC1iZztcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHdpZHRoOiAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItd2lkdGg7XG5cbiAgICAgICAgICAgICAgJi5maXgtaGVpZ2h0IHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGEudGgge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLnZpc2libGUgeyBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aXNpYmxlLWltZyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWltZy1iZztcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1hY3RpdmUtaW1nLWhlaWdodDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7XG4gICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIGhlaWdodCBhbmQgd2lkdGggc3R5bGVzLlxuJGYtZHJvcGRvd24tbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWhlaWdodDogYXV0byAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLW1heC1oZWlnaHQ6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGJvdHRvbSBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLXRvcDogMnB4ICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLWxlZnQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGxlZnQgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgdG9wIHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tOiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4kZi1kcm9wZG93bi1iZzogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cbiRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHN0eWxlcyBmb3IgdGhlIGxpc3QgZWxlbWVudHMuXG4kZi1kcm9wZG93bi1saXN0LXN0eWxlOiBub25lICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOiAkc21va2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN0eWxlcyBmb3Igd2hlbiB0aGUgZHJvcGRvd24gaGFzIGN1c3RvbSBjb250ZW50LlxuJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgcmFkaXVzIGZvciBkcm9wZG93bi5cbiRmLWRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy9cbi8vIE5PVEU6IE1ha2UgZGVmYXVsdCBtYXgtd2lkdGggY2hhbmdlIGJldHdlZW4gbGlzdCBhbmQgY29udGVudCB0eXBlcy4gQ2FuIGFkZCBtb3JlIHdpZHRoIHdpdGggY2xhc3NlcywgbWF5YmUgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2UsIGV0Yy47XG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZHJvcGRvd24gY29udGFpbmVyIGVsZW1lbnQuXG4vLyAkY29udGVudC1saXN0IC0gU2V0cyBsaXN0LXN0eWxlLiBEZWZhdWx0OiBsaXN0LiBPcHRpb25zOiBbbGlzdCwgY29udGVudF1cbi8vICR0cmlhbmdsZSAtIFNldHMgaWYgZHJvcGRvd24gaGFzIHRyaWFuZ2xlLiBEZWZhdWx0OnRydWUuXG4vLyAkbWF4LXdpZHRoIC0gRGVmYXVsdDogJGYtZHJvcGRvd24tbWF4LXdpZHRoIHx8IDIwMHB4LlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lcigkY29udGVudDpsaXN0LCAkdHJpYW5nbGU6dHJ1ZSwgJG1heC13aWR0aDokZi1kcm9wZG93bi1tYXgtd2lkdGgpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgbGlzdC1zdHlsZTogJGYtZHJvcGRvd24tbGlzdC1zdHlsZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gKjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgPiAqOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgQGlmICRjb250ZW50ID09IGxpc3Qge1xuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZi1kcm9wZG93bi1oZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgfVxuICBAZWxzZSBpZiAkY29udGVudCA9PSBjb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSBib3R0b20ge1xuICAgIG1hcmdpbi10b3A6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbiAgICBAaWYgJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAhPSAwcHgge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgYm90dG9tKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAgIHotaW5kZXg6IDg5O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEpICogMik7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAgIHotaW5kZXg6IDg4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0OmJlZm9yZSB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYucmlnaHQ6YWZ0ZXIge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gJGRlZmF1bHQtZmxvYXQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSAkb3Bwb3NpdGUtZGlyZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSB0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCB0b3ApO1xuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgdG9wKTtcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkbWF4LXdpZHRoIHsgbWF4LXdpZHRoOiAkbWF4LXdpZHRoOyB9XG4gIEBlbHNlIHsgbWF4LXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgbGlzdCBlbGVtZW50cyBvciBjb250ZW50IGluc2lkZSB0aGUgZHJvcGRvd24uXG5cbkBtaXhpbiBkcm9wZG93bi1zdHlsZSB7XG4gIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc7IH1cblxuICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZi1kcm9wZG93bi1yYWRpdXMpOyB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tbGlzdC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkZi1kcm9wZG93bi1mb250LWNvbG9yO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJkcm9wZG93blwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXMge1xuXG4gICAgLyogRm91bmRhdGlvbiBEcm9wZG93bnMgKi9cbiAgICAuZi1kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgYm90dG9tKTtcblxuICAgICAgJi5kcm9wLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0ge1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgfVxuXG4gICAgICAmLmRyb3AtI3skZGVmYXVsdC1mbG9hdH0ge1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSk7XG4gICAgICB9XG5cbiAgICAgICYuZHJvcC10b3Age1xuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgdG9wKTtcbiAgICAgIH1cbiAgICAgIC8vIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgbGkgeyBAaW5jbHVkZSBkcm9wZG93bi1zdHlsZTsgfVxuXG4gICAgICAvLyBZb3UgY2FuIGFsc28gcHV0IGN1c3RvbSBjb250ZW50IGluIHRoZXNlIGRyb3Bkb3duc1xuICAgICAgJi5jb250ZW50IHsgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGNvbnRlbnQsICR0cmlhbmdsZTpmYWxzZSk7IH1cblxuICAgICAgLy8gU2l6ZXNcbiAgICAgICYudGlueSAgICB7IG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAgICYuc21hbGwgICB7IG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAgICYubWVkaXVtICB7IG1heC13aWR0aDogNTAwcHg7IH1cbiAgICAgICYubGFyZ2UgICB7IG1heC13aWR0aDogODAwcHg7IH1cbiAgICAgICYubWVnYSAgICB7XG4gICAgICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi5vcGVue1xuICAgICAgICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgc2l6ZSBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbiRidXR0b24tcGlwLXRueTogcmVtLWNhbGMoNikgIWRlZmF1bHQ7XG4kYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpICFkZWZhdWx0O1xuJGJ1dHRvbi1waXAtbWVkOiByZW0tY2FsYyg5KSAhZGVmYXVsdDtcbiRidXR0b24tcGlwLWxyZzogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGlueSBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTogJGJ1dHRvbi1waXAtdG55ICogMyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6ICgtJGJ1dHRvbi1waXAtdG55IC8gMikgKyByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHNtYWxsIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDogKC0kYnV0dG9uLXBpcC1zbWwgLyAyKSArIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbWVkaXVtIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDYgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDogKC0kYnV0dG9uLXBpcC1tZWQgLyAyKSArIHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGFyZ2UgZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAoLSRidXR0b24tcGlwLWxyZyAvIDIpICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBEcm9wZG93biBCdXR0b24gTWl4aW5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBidWlsZCBvZmYgb2YgdGhlIGJ1dHRvbiBtaXhpbiBhbmQgYWRkIGRyb3Bkb3duIGJ1dHRvbiBzdHlsZXNcbi8vXG4vLyAkcGFkZGluZyAtIERldGVybWluZXMgdGhlIHNpemUgb2YgYnV0dG9uIHlvdSdyZSB3b3JraW5nIHdpdGguIERlZmF1bHQ6IG1lZGl1bS4gT3B0aW9ucyBbdGlueSwgc21hbGwsIG1lZGl1bSwgbGFyZ2VdXG4vLyAkcGlwLWNvbG9yIC0gQ29sb3Igb2YgdGhlIGxpdHRsZSB0cmlhbmdsZSB0aGF0IHBvaW50cyB0byB0aGUgZHJvcGRvd24uIERlZmF1bHQ6ICR3aGl0ZS5cbi8vICRiYXNlLXN0eWxlIC0gQWRkIGluIGJhc2Utc3R5bGVzLiBUaGlzIGNhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6dHJ1ZVxuXG5AbWl4aW4gZHJvcGRvd24tYnV0dG9uKCRwYWRkaW5nOm1lZGl1bSwgJHBpcC1jb2xvcjokZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvciwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIFdlIGFkZCBpbiBiYXNlIHN0eWxlcywgYnV0IHRoZXkgY2FuIGJlIG5lZ2F0ZWQgYnkgc2V0dGluZyB0byAnZmFsc2UnLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFRoaXMgY3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIHRoZSB0cmlhbmdsZSBwaXBcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHRpbnkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gdGlueSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55O1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXRueTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHNtYWxsIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IHNtYWxsIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGRlZmF1bHQgKG1lZGl1bSkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xuICBAaWYgJHBhZGRpbmcgPT0gbWVkaXVtIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDtcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGxhcmdlIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IGxhcmdlIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLWxyZztcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZztcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1scmc7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHBpcCBjb2xvci4gV2UgZGlkbid0IHVzZSBsb2dpYyBpbiB0aGlzIGNhc2UsIGp1c3Qgc2V0IGl0IGFuZCBmb3JnZXQgaXQuXG4gIEBpZiAkcGlwLWNvbG9yIHtcbiAgICAmOjphZnRlciB7IGJvcmRlci1jb2xvcjogJHBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJkcm9wZG93bi1idXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG4gICAgLmRyb3Bkb3duLmJ1dHRvbiwgYnV0dG9uLmRyb3Bkb3duIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uO1xuICAgICAgJi50aW55IHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKHRpbnksICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxuICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbihzbWFsbCwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKGxhcmdlLCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cbiAgICAgICYuc2Vjb25kYXJ5OmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZpZGVvIGNvbnRhaW5lciBwYWRkaW5nIGFuZCBtYXJnaW5zXG4kZmxleC12aWRlby1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpICFkZWZhdWx0O1xuJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b206IDY3LjUlICFkZWZhdWx0O1xuJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdpZGVzY3JlZW4gYm90dG9tIHBhZGRpbmdcbiRmbGV4LXZpZGVvLXdpZGVzY3JlZW4tcGFkZGluZy1ib3R0b206IDU2LjM0JSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiBmbGV4LXZpZGVvLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206ICRmbGV4LXZpZGVvLXBhZGRpbmctYm90dG9tO1xuICBwYWRkaW5nLXRvcDogJGZsZXgtdmlkZW8tcGFkZGluZy10b3A7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLndpZGVzY3JlZW4geyBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTsgfVxuICAmLnZpbWVvIHsgcGFkZGluZy10b3A6IDA7IH1cblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZmxleC12aWRlb1wiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuICAgIC5mbGV4LXZpZGVvIHsgQGluY2x1ZGUgZmxleC12aWRlby1jb250YWluZXI7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xuJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGJsYWNrLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpICFkZWZhdWx0O1xuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I6ICNjY2NjY2MgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kaW5wdXQtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMiUpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTQwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZSAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Q6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGZpZWxkc2V0IGJvcmRlciBhbmQgc3BhY2luZy5cbiRmaWVsZHNldC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGZpZWxkc2V0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsZWdlbmRzIHdoZW4geW91IHVzZSB0aGVtXG4kbGVnZW5kLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBwcmVmaXggYW5kIHBvc3RmaXggaW5wdXQgZWxlbWVudHNcbiRpbnB1dC1wcmVmaXgtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LW92ZXJmbG93OiB2aXNpYmxlICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyBzZXR0aW5nIHRvIHR1cm4gb24vb2ZmIEhUTUw1IG51bWJlciBzcGlubmVycyAodGhlIHVwL2Rvd24gYXJyb3dzKVxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZXMgZm9yIGlucHV0cyBhbmQgbGFiZWxzXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nOiByZW0tY2FsYyg2IDkgOSkgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A6IC0xcHggIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZ2xvd2luZyBlZmZlY3Qgb2YgaW5wdXRzIHdoZW4gZm9jdXNlZFxuJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZTogLjQ1cyAhZGVmYXVsdDtcbiRnbG93aW5nLWVmZmVjdC1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHRyYW5zaXRpb24gd2hlbiBpbnB1dHMgYXJlIGZvY3VzZWQgYW5kIHdoZW4gdGhlIGdsb3dpbmcgZWZmZWN0IGlzIGRpc2FibGVkLlxuJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lOiAwLjE1cyAhZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vIFNlbGVjdCB2YXJpYWJsZXNcbiRzZWxlY3QtYmctY29sb3I6ICRnaG9zdCAhZGVmYXVsdDtcbiRzZWxlY3QtaG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWxlY3QtYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSkgIWRlZmF1bHQ7XG5cbi8vXG4vLyBATUlYSU5TXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBnaXZlIHVzIGZvcm0gc3R5bGVzIGZvciByb3dzIGluc2lkZSBvZiBmb3Jtc1xuQG1peGluIGZvcm0tcm93LWJhc2Uge1xuICAucm93IHsgbWFyZ2luOiAwICgoLSRmb3JtLXNwYWNpbmcpIC8gMik7XG5cbiAgICAuY29sdW1uLFxuICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMCAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XG5cbiAgICAvLyBVc2UgdGhpcyB0byBjb2xsYXBzZSB0aGUgbWFyZ2lucyBvZiBhIGZvcm0gcm93XG4gICAgJi5jb2xsYXBzZSB7IG1hcmdpbjogMDtcblxuICAgICAgLmNvbHVtbixcbiAgICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMDsgfVxuICAgICAgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAwKTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuICBpbnB1dC5jb2x1bW4sXG4gIGlucHV0LmNvbHVtbnMsXG4gIHRleHRhcmVhLmNvbHVtbixcbiAgdGV4dGFyZWEuY29sdW1ucyB7IHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICgkZm9ybS1zcGFjaW5nIC8gMik7IH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyB0aGVpciBzdHlsZVxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1jb2xvcjtcbiAgYm9yZGVyOiB7XG4gICAgc3R5bGU6ICRpbnB1dC1ib3JkZXItc3R5bGU7XG4gICAgd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIH1cbiAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3c7XG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCB7XG4gICAgQGluY2x1ZGUgYmxvY2stZ2xvd2luZy1lZmZlY3QoZm9jdXMsICRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWUsICRnbG93aW5nLWVmZmVjdC1jb2xvcik7XG4gIH1cbiAgLy8gQmFzaWMgZm9jdXMgc3R5bGVzXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAvLyBEaXNhYmxlZCBTdHlsZXNcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGJhY2tncm91bmQgaW5wdXQgYmFja2dyb3VuZCBjb2xvclxuICAmW2Rpc2FibGVkXSxcbiAgJltyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBmb3JtIGxhYmVsc1xuLy9cbi8vICRhbGlnbm1lbnQgLSBBbGlnbm1lbnQgb3B0aW9ucy4gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IFtyaWdodCwgaW5saW5lLCBmYWxzZV1cbi8vICRiYXNlLXN0eWxlIC0gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLiBEZWZhdWx0OiB0cnVlLlxuQG1peGluIGZvcm0tbGFiZWwoJGFsaWdubWVudDpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBjb2xvcjogJGZvcm0tbGFiZWwtZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6ICRmb3JtLWxhYmVsLXBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luO1xuICB9XG5cbiAgLy8gQWxpZ25tZW50IG9wdGlvbnNcbiAgQGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBpbmxpbmUge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpIDA7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXgvcHJlZml4IGZvcm0gTGFiZWxzXG5AbWl4aW4gcHJlZml4LXBvc3RmaXgtYmFzZSB7XG4gIGJvcmRlci1zdHlsZTogJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtcHJlZml4LWJvcmRlci1zaXplO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIGxpbmUtaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgb3ZlcmZsb3c6ICRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcHJlZml4IGxhYmVsIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDokaW5wdXQtcHJlZml4LWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OmZhbHNlXG4vL1xuQG1peGluIHByZWZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogbm9uZTtcblxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXG4gICAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OyB9XG4gIH1cblxuICBAaWYgJGJvcmRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgQGlmICRpcy1idXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcG9zdGZpeCBsYWJlbCBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDogZmFsc2VcbkBtaXhpbiBwb3N0Zml4KCRiZzokaW5wdXQtcHJlZml4LWJnLCAkYm9yZGVyLWxlZnQtaGlkZGVuOmZhbHNlLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYm9yZGVyLWxlZnQtaGlkZGVuIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlICBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cbiAgfVxuXG4gIEBpZiAkYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICBAaWYgJGlzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIGZpZWxkc2V0c1xuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyLXdpZHRoICRmaWVsZHNldC1ib3JkZXItc3R5bGUgJGZpZWxkc2V0LWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcblxuICAvLyBhbmQgbGVnZW5kIHN0eWxlc1xuICBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICRsZWdlbmQtYmc7XG4gICAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiByZW0tY2FsYygtMyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjb250cm9sIGJvcmRlciBhbmQgYmFja2dyb3VuZCBjb2xvciBvZiBlcnJvciBpbnB1dHNcbi8vICRjb2xvciAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbkBtaXhpbiBmb3JtLWVycm9yLWNvbG9yKCRjb2xvcjokYWxlcnQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gR28gYmFjayB0byBub3JtYWwgb24gZm9jdXNcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LWZvY3VzLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBzaW1wbGUgbWl4aW4gdG8gc3R5bGUgbGFiZWxzIGZvciBlcnJvciBpbnB1dHNcbi8vICRjb2xvciAtIERlZmF1bHQ6JGFsZXJ0LWNvbG9yLiBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG5AbWl4aW4gZm9ybS1sYWJlbC1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7IGNvbG9yOiAkY29sb3I7IH1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGVycm9yIG1lc3NhZ2Ugc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiAkYWxlcnQtY29sb3IgKEZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gZm9ybS1lcnJvci1tZXNzYWdlKCRiZzokaW5wdXQtZXJyb3ItbWVzc2FnZS1iZy1jb2xvcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXNpemU7XG4gIGZvbnQtc3R5bGU6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgbWFyZ2luLXRvcDogJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wO1xuICBwYWRkaW5nOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nO1xuXG4gIC8vIFdlIGNhbiBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGJhc2VkIG9uIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBiYWNrZ3JvdW5kLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgYmFja2dyb3VuZDogJGJnO1xuICBAaWYgJGJnLWxpZ2h0bmVzcyA8IDcwJSBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I7IH1cbiAgQGVsc2UgeyBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ7IH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgc2VsZWN0IGVsZW1lbnRzXG5AbWl4aW4gZm9ybS1zZWxlY3QgIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJnLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBUaGUgY3VzdG9tIGFycm93IGhhcyBzb21lIGZha2UgaG9yaXpvbnRhbCBwYWRkaW5nIHNvIHdlIGNhbiBhbGlnbiBpdFxuICAvLyBmcm9tIHRoZSByaWdodCBzaWRlIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgcmVseWluZyBvbiBDU1MzXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VEMGlNVEp3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpSd2VDSWdhR1ZwWjJoMFBTSXpjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJJRE1pSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURZZ015SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTGprNU1pd3dJREl1T1RreUxETWdMVEF1TURBNExEQWdJaTgrUEM5emRtYyspO1xuXG4gIC8vIFdlIGNhbiBzYWZlbHkgdXNlIGxlZnRtb3N0IGFuZCByaWdodG1vc3Qgbm93XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSAncnRsJywgMCUsIDEwMCUpIGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgQGluY2x1ZGUgcmFkaXVzKDApO1xuICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzXG5AbWl4aW4gaHRtbDVudW1iZXIoJGJyb3dzZXIsICRvbjp0cnVlKSB7XG4gIEBpZiAkb249PWZhbHNlIHtcbiAgICAgIEBpZiAkYnJvd3Nlcj09d2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9IEBlbHNlIGlmICRicm93c2VyPT1tb3oge1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZm9ybVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlcyB7XG4gICAgLyogU3RhbmRhcmQgRm9ybXMgKi9cbiAgICBmb3JtIHsgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZzsgfVxuXG4gICAgLyogVXNpbmcgZm9ybXMgd2l0aGluIHJvd3MsIHdlIG5lZWQgdG8gc2V0IHNvbWUgZGVmYXVsdHMgKi9cbiAgICBmb3JtIC5yb3cgeyBAaW5jbHVkZSBmb3JtLXJvdy1iYXNlOyB9XG5cbiAgICAvKiBMYWJlbCBTdHlsZXMgKi9cbiAgICBsYWJlbCB7IEBpbmNsdWRlIGZvcm0tbGFiZWw7XG4gICAgICAmLnJpZ2h0IHsgQGluY2x1ZGUgZm9ybS1sYWJlbChyaWdodCwgZmFsc2UpOyB9XG4gICAgICAmLmlubGluZSB7IEBpbmNsdWRlIGZvcm0tbGFiZWwoaW5saW5lLCBmYWxzZSk7IH1cbiAgICAgIC8qIFN0eWxlcyBmb3IgcmVxdWlyZWQgaW5wdXRzICovXG4gICAgICBzbWFsbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm07XG4gICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZm9ybS1sYWJlbC1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAxNSUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEF0dGFjaCBlbGVtZW50cyB0byB0aGUgYmVnaW5uaW5nIG9yIGVuZCBvZiBhbiBpbnB1dCAqL1xuICAgIC5wcmVmaXgsXG4gICAgLnBvc3RmaXggeyBAaW5jbHVkZSBwcmVmaXgtcG9zdGZpeC1iYXNlOyB9XG5cbiAgICAvKiBBZGp1c3QgcGFkZGluZywgYWxpZ25tZW50IGFuZCByYWRpdXMgaWYgcHJlL3Bvc3QgZWxlbWVudCBpcyBhIGJ1dHRvbiAqL1xuICAgIC5wb3N0Zml4LmJ1dHRvbiB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKGZhbHNlLCBmYWxzZSk7IEBpbmNsdWRlIHBvc3RmaXgoZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuICAgIC5wcmVmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcHJlZml4KGZhbHNlLCBmYWxzZSwgdHJ1ZSk7IH1cblxuICAgIC5wcmVmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgIC5wcmVmaXguYnV0dG9uLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAucG9zdGZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG5cbiAgICAvKiBTZXBhcmF0ZSBwcmVmaXggYW5kIHBvc3RmaXggc3R5bGVzIHdoZW4gb24gc3BhbiBvciBsYWJlbCBzbyBidXR0b25zIGtlZXAgdGhlaXIgb3duICovXG4gICAgc3Bhbi5wcmVmaXgsIGxhYmVsLnByZWZpeCB7IEBpbmNsdWRlIHByZWZpeCgpOyB9XG4gICAgc3Bhbi5wb3N0Zml4LCBsYWJlbC5wb3N0Zml4IHsgQGluY2x1ZGUgcG9zdGZpeCgpOyB9XG5cbiAgICAvKiBXZSB1c2UgdGhpcyB0byBnZXQgYmFzaWMgc3R5bGluZyBvbiBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyAqL1xuICAgICN7dGV4dC1pbnB1dHMoYWxsLCAnaW5wdXQnKX0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAgIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCA9PSBmYWxzZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgfVxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgLnJvdyB7XG4gICAgICAgIC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvKiBSZXNwZWN0IGVuZm9yY2VkIGFtb3VudCBvZiByb3dzIGZvciB0ZXh0YXJlYSAqL1xuICAgIHRleHRhcmVhW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cblx0ICAvKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi9cblx0ICB0ZXh0YXJlYSB7XG5cdCAgICBtYXgtd2lkdGg6IDEwMCU7XG5cdCAgfVxuICAgIFxuICAgIC8vIHN0eWxlIHBsYWNlaG9sZGVyIHRleHQgY3Jvc3MgYnJvd3NlclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjsgIFxuICAgIH1cblxuICAgIDo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjsgIFxuICAgIH1cblxuICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAgXG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yOyAgXG4gICAgfVxuICAgXG5cbiAgICAvKiBBZGQgaGVpZ2h0IHZhbHVlIGZvciBzZWxlY3QgZWxlbWVudHMgdG8gbWF0Y2ggdGV4dCBpbnB1dCBoZWlnaHQgKi9cbiAgICBzZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gICAgICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICAgICAgJlttdWx0aXBsZV0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmb3JtLXNwYWNpbmcgKiAuNTtcbiAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZm9ybS1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC8vbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAvKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuXG4gICAgLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKG1veiwgJGlucHV0LW51bWJlci1zcGlubmVycylcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKHdlYmtpdCwgJGlucHV0LW51bWJlci1zcGlubmVycyk7XG4gICAgfVxuXG4gICAgLyogV2UgYWRkIGJhc2ljIGZpZWxkc2V0IHN0eWxpbmcgKi9cbiAgICBmaWVsZHNldCB7XG4gICAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgICB9XG5cbiAgICAvKiBFcnJvciBIYW5kbGluZyAqL1xuXG4gICAgI3tkYXRhKCdhYmlkZScpfSB7XG4gICAgICAuZXJyb3Igc21hbGwuZXJyb3IsIC5lcnJvciBzcGFuLmVycm9yLCBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cbiAgICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSxcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmdcbiAgICAgIH1cblxuICAgICAgbGFiZWwsXG4gICAgICBsYWJlbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7XG4gICAgICB9XG5cbiAgICAgIHNtYWxsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgICAgfVxuXG4gICAgICA+IGxhYmVsIHtcbiAgICAgICAgPiBzbWFsbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LmVycm9yLFxuICAgIHRleHRhcmVhLmVycm9yLFxuICAgIHNlbGVjdC5lcnJvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBsYWJlbC5lcnJvciB7IEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuXG4vLyBAbmFtZVxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcblxuJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIEB2YXJpYWJsZXNcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBpY29uLWJhciBhbmQgaXRlbXNcbiRpY29uLWJhci1iZzogJG9pbCAhZGVmYXVsdDtcbiRpY29uLWJhci1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcjogJGljb24tYmFyLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGljb24tYmFyLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcjogJGljb24tYmFyLWljb24tY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1zaXplOiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1pbWFnZS13aWR0aDogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItaW1hZ2UtaGVpZ2h0OiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBpY29ucy5cbiRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcbiRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWUgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYmFzZSBzdHlsZXMgZm9yIG91ciBJY29uIGJhciBlbGVtZW50LlxuLy9cbkBtaXhpbiBpY29uLWJhci1iYXNlKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI1JTtcblxuICAgIGksIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAmICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodDtcbiAgICAgIHdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgJi5sYWJlbC1yaWdodCA+ICoge1xuXG4gICAgaSwgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAuMDYyNXJlbSAwIDA7XG5cbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgfVxuXG4gICYudmVydGljYWwubGFiZWwtcmlnaHQgPiAqIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgJi52ZXJ0aWNhbCwgJi5zbWFsbC12ZXJ0aWNhbHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAuaXRlbSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYubWVkaXVtLXZlcnRpY2FsIHtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3IgaWNvbiBiYXJzLlxuQG1peGluIGljb24tYmFyLXNpemUoXG4gICRwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplLFxuICAkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxuICAkaW1hZ2Utd2lkdGg6ICRpY29uLWJhci1pbWFnZS13aWR0aCxcbiAgJGltYWdlLWhlaWdodDogJGljb24tYmFyLWltYWdlLWhlaWdodCkge1xuXG4gID4gKiB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICAgaSwgaW1nIHtcblxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjA2MjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAkaW1hZ2UtaGVpZ2h0O1xuICAgICAgd2lkdGg6ICRpbWFnZS13aWR0aDtcbiAgICB9XG4gIH1cblxufVxuXG5AbWl4aW4gaWNvbi1iYXItc3R5bGUoXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxuICAkYmFyLWZvbnQtY29sb3I6JGljb24tYmFyLWZvbnQtY29sb3IsXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXG4gICRiYXItaWNvbi1jb2xvcjokaWNvbi1iYXItaWNvbi1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxuICAkYmFzZS1zdHlsZTp0cnVlLFxuICAkZGlzYWJsZWQ6ZmFsc2UpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuXG4gICAgYmFja2dyb3VuZDogJGJhci1iZztcblxuICAgID4gKiB7XG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3I7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3I7IH1cbiAgICB9XG5cbiAgICA+IGE6aG92ZXIge1xuXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFyLWhvdmVyLWNvbG9yO1xuXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cbiAgICB9XG5cbiAgICAgICAgPiBhLmFjdGl2ZSB7XG5cbiAgICAgIGJhY2tncm91bmQ6ICRiYXItYWN0aXZlLWNvbG9yO1xuXG4gICAgICBsYWJlbCB7IGNvbG9yOiAkYmFyLWZvbnQtY29sb3ItaG92ZXI7IH1cblxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRkaXNhYmxlZCB7XG4gICAgLml0ZW0uZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiAkaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgID4qIHtcbiAgICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgIGN1cnNvcjogJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBpY29uIGJhcnMgd2l0aCBhIHNpbmdsZSBtaXhpblxuLy8gJGhlaWdodCAtIFRoZSBvdmVyYWxsIGNhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSBpY29uIGJhciAoaG9yaXpvbnRhbClcbi8vICRiYXItYmcgLSB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYmFyXG4vLyAkYmFyLWZvbnQtY29sb3IgLSB0aGUgZm9udCBjb2xvclxuLy8gJGJhci1ob3Zlci1jb2xvciAtIG9rYXkgdGhlc2UgYXJlIHByZXR0eSBvYnZpb3VzIHZhcmlhYmxlc1xuLy8gJGJhci1pY29uLWNvbG9yIC0gbWF5YmUgd2UgY291bGQgc2tpcCBleHBsYWluaW5nIHRoZW0gYWxsPyBPa2F5IHRoaXMgb25lIGRvZXMgY2hhbmdlIGljb24gY29sb3IgaWYgeW91IHVzZSBhbiBpY29uIGZvbnRcbi8vICRiYXItYWN0aXZlLWNvbG9yIC0gdGhlIGNvbG9yIG9mIGFuIGFjdGl2ZSAvIGhvdmVyIHN0YXRlXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuLy8gJGRpc2FibGVkIC0gQWxsb3cgZGlzYWJsZWQgaWNvbnM/IERlZmF1bHQ6IGZhbHNlLlxuXG5AbWl4aW4gaWNvbi1iYXIoXG4gICRiYXItYmc6JGljb24tYmFyLWJnLFxuICAkYmFyLWZvbnQtY29sb3I6JGljb24tYmFyLWZvbnQtY29sb3IsXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcbiAgJGJhci1ob3Zlci1jb2xvcjokaWNvbi1iYXItaG92ZXItY29sb3IsXG4gICRiYXItaWNvbi1jb2xvcjokaWNvbi1iYXItaWNvbi1jb2xvcixcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxuICAkYmFyLWFjdGl2ZS1jb2xvcjokaWNvbi1iYXItYWN0aXZlLWNvbG9yLFxuICAkcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcbiAgJGljb24tc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZSxcbiAgJGltYWdlLXdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGgsXG4gICRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQsXG4gICRiYXNlLXN0eWxlOnRydWUsXG4gICRkaXNhYmxlZDp0cnVlKSB7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItYmFzZSgpO1xuICAgIEBpbmNsdWRlIGljb24tYmFyLXNpemUoJHBhZGRpbmcsICRmb250LXNpemUsICRpY29uLXNpemUsICRpbWFnZS13aWR0aCwgJGltYWdlLWhlaWdodCk7XG4gICAgQGluY2x1ZGUgaWNvbi1iYXItc3R5bGUoJGJhci1iZywgJGJhci1mb250LWNvbG9yLCAkYmFyLWZvbnQtY29sb3ItaG92ZXIsICRiYXItaG92ZXItY29sb3IsICRiYXItaWNvbi1jb2xvciwgJGJhci1pY29uLWNvbG9yLWhvdmVyLCAkYmFyLWFjdGl2ZS1jb2xvciwgJGJhc2Utc3R5bGUsICRkaXNhYmxlZCk7XG5cbiAgLy8gQ291bnRzXG5cbiAgJi50d28tdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnRocmVlLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZvdXItdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDI1JTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZpdmUtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNpeC11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V2ZW4tdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZWlnaHQtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImljb24tYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlcyB7XG4gICAgLmljb24tYmFyIHtcbiAgICAgIEBpbmNsdWRlIGljb24tYmFyO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzIHtcblxuICAvLyB0b29sYmFyIHN0eWxlc1xuXG4gIC5pY29uLWJhciB7XG5cbiAgICAvLyBDb3VudHNcblxuICAgICYudHdvLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYudGhyZWUtdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmZvdXItdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5maXZlLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2l4LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2V2ZW4tdXAge1xuICAgICAgLml0ZW0geyB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmVpZ2h0LXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWFyZ2lucyBhbmQgcGFkZGluZyBvZiB0aGUgaW5saW5lIGxpc3QuXG4kaW5saW5lLWxpc3QtdG9wLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luOiByZW0tY2FsYygtMjIpICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcblxuJGlubGluZS1saXN0LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG92ZXJmbG93IG9mIHRoZSBpbmxpbmUgbGlzdC5cbiRpbmxpbmUtbGlzdC1vdmVyZmxvdzogaGlkZGVuICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYW55IGVsZW1lbnRzIHdpdGhpbiBsaXN0IGl0ZW1zXG4kaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGlubGluZSBsaXN0c1xuQG1peGluIGlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW47XG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luO1xuICBtYXJnaW46ICRpbmxpbmUtbGlzdC10b3AtbWFyZ2luIGF1dG8gJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW4gYXV0bztcbiAgb3ZlcmZsb3c6ICRpbmxpbmUtbGlzdC1vdmVyZmxvdztcbiAgcGFkZGluZzogJGlubGluZS1saXN0LXBhZGRpbmc7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogJGlubGluZS1saXN0LWRpc3BsYXk7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjtcbiAgICA+ICogeyBkaXNwbGF5OiAkaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTsgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJpbmxpbmUtbGlzdFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXMge1xuICAgIC5pbmxpbmUtbGlzdCB7XG4gICAgICBAaW5jbHVkZSBpbmxpbmUtbGlzdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBDb250cm9sbGluZyBkZWZhdWx0IEpveXJpZGUgc3R5bGVzXG4kam95cmlkZS10aXAtYmc6ICRvaWwgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtcGFkZGluZzogcmVtLWNhbGMoMTggMjAgMjQpICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWJvcmRlcjogc29saWQgMXB4ICRjaGFyY29hbCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ6IDIycHggIWRlZmF1bHQ7XG5cbi8vIEhlcmUsIHdlJ3JlIHNldHRpbmcgdGhlIHRpcCBmb250IHN0eWxlc1xuJGpveXJpZGUtdGlwLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gVGhpcyBjaGFuZ2VzIHRoZSBudWIgc2l6ZVxuJGpveXJpZGUtdGlwLW51Yi1zaXplOiAxMHB4ICFkZWZhdWx0O1xuXG4vLyBUaGlzIGFkanVzdHMgdGhlIHN0eWxlcyBmb3IgdGhlIHRpbWVyIHdoZW4gaXRzIGVuYWJsZWRcbiRqb3lyaWRlLXRpcC10aW1lci13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC10aW1lci1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuXG4vLyBUaGlzIGNoYW5nZXMgdXAgdGhlIHN0eWxlcyBmb3IgdGhlIGNsb3NlIGJ1dHRvblxuJGpveXJpZGUtdGlwLWNsb3NlLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1jbG9zZS1zaXplOiAyNHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8gV2hlbiBKb3lyaWRlIGlzIGZpbGxpbmcgdGhlIHNjcmVlbiwgd2UgdXNlIHRoaXMgc3R5bGUgZm9yIHRoZSBiZ1xuJGpveXJpZGUtc2NyZWVuZmlsbDogcmdiYSgwLDAsMCwwLjUpICFkZWZhdWx0O1xuXG5cbi8vIFdlIGRlY2lkZWQgbm90IHRvIG1ha2UgYSBtaXhpbiBmb3IgdGhpcyBiZWNhdXNlIGl0IHJlbGllcyBvblxuLy8gcHJlZGVmaW5lZCBjbGFzc2VzIHRvIHdvcmsgcHJvcGVybHkuXG5AaW5jbHVkZSBleHBvcnRzKFwiam95cmlkZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlcyB7XG5cbiAgICAvKiBGb3VuZGF0aW9uIEpveXJpZGUgKi9cbiAgICAuam95cmlkZS1saXN0IHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLyogRGVmYXVsdCBzdHlsZXMgZm9yIHRoZSBjb250YWluZXIgKi9cbiAgICAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtdGlwLWJnO1xuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogOTUlO1xuICAgICAgei1pbmRleDogMTAxO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDIuNSU7XG4gICAgfVxuXG4gICAgLmx0LWllOSAuam95cmlkZS10aXAtZ3VpZGUge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtNDAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICB9XG5cbiAgICAuam95cmlkZS1jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogJGpveXJpZGUtdGlwLXBhZGRpbmc7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4gICAgICAuam95cmlkZS1wcmV2LXRpcCB7IG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIH1cblxuICAgIC8qIEFkZCBhIGxpdHRsZSBjc3MgdHJpYW5nbGUgcGlwLCBvbGRlciBicm93c2VyIGp1c3QgbWlzcyBvdXQgb24gdGhlIGZhbmNpbmVzcyBvZiBpdCAqL1xuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gICAgICAuam95cmlkZS1udWIge1xuICAgICAgICBib3JkZXI6ICRqb3lyaWRlLXRpcC1udWItc2l6ZSBzb2xpZCAkam95cmlkZS10aXAtYmc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xuXG4gICAgICAgICYudG9wIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZztcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICB0b3A6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICB9XG4gICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvdHRvbTogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJpZ2h0IHsgcmlnaHQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpOyB9XG4gICAgICAgICYubGVmdCB7IGxlZnQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogVHlwb2dyYXBoeSAqL1xuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMSxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDIsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgzLFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNCxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDUsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg2IHtcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuam95cmlkZS10aXAtZ3VpZGUgcCB7XG4gICAgICBmb250LXNpemU6ICRqb3lyaWRlLXRpcC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTggMCk7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtdGltZXItaW5kaWNhdG9yLXdyYXAge1xuICAgICAgYm9yZGVyOiAkam95cmlkZS10aXAtYm9yZGVyO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICBoZWlnaHQ6ICRqb3lyaWRlLXRpcC10aW1lci1oZWlnaHQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogcmVtLWNhbGMoMTcpO1xuICAgIH1cbiAgICAuam95cmlkZS10aW1lci1pbmRpY2F0b3Ige1xuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtdGlwLXRpbWVyLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG5cbiAgICAuam95cmlkZS1jbG9zZS10aXAge1xuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAkam95cmlkZS10aXAtY2xvc2Utc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6IC41ICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMnB4O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkc21va2UgIWltcG9ydGFudDsgfVxuICAgIH1cblxuICAgIC5qb3lyaWRlLW1vZGFsLWJnIHtcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXNjcmVlbmZpbGw7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLWV4cG9zZS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDEwMjtcbiAgICB9XG5cbiAgICAuam95cmlkZS1leHBvc2UtY292ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG5cblxuICAgIC8qIFN0eWxlcyBmb3Igc2NyZWVucyB0aGF0IGFyZSBhdCBsZWFzdCA3NjhweDsgKi9cbiAgICBAbWVkaWEgI3skc21hbGx9IHtcbiAgICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7IHdpZHRoOiAkam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDsgI3skZGVmYXVsdC1mbG9hdH06IGluaGVyaXQ7XG4gICAgICAgIC5qb3lyaWRlLW51YiB7XG4gICAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvdHRvbTogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgICAgfVxuICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICAgICAgdG9wOiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdG9wOiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGVzLlxuJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udC1zaXplOiBpbmhlcml0ICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3I6IC03JSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBrZXlzdHJva2UgcGFkZGluZy5cbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzLlxuJGtleXN0cm9rZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGtleXN0cm9rZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRrZXlzdHJva2UtYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUga2V5c3Ryb2tlIHN0eWxlcy5cbi8vICRiZyAtIERlZmF1bHQ6ICRrZXlzdHJva2UtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG5AbWl4aW4ga2V5c3Ryb2tlKCRiZzoka2V5c3Ryb2tlLWJnKSB7XG4gIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3Rvcik7XG5cbiAgLy8gV2UgYWRqdXN0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBiYWNrZ3JvdW5kLlxuICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSB7IGNvbG9yOiAka2V5c3Ryb2tlLWZvbnQtY29sb3I7IH1cbiAgQGVsc2UgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDsgfVxuXG4gIGJvcmRlci1zdHlsZTogJGtleXN0cm9rZS1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGtleXN0cm9rZS1ib3JkZXItd2lkdGg7XG4gIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJGtleXN0cm9rZS1mb250LXNpemU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwia2V5c3Ryb2tlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwta2V5c3Ryb2tlLWNsYXNzZXMgIHtcbiAgICAua2V5c3Ryb2tlLFxuICAgIGtiZCB7XG4gICAgICBAaW5jbHVkZSBrZXlzdHJva2U7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGtleXN0cm9rZS1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcbiRsYWJlbC1wYWRkaW5nOiByZW0tY2FsYyg0IDggNCkgIWRlZmF1bHQ7XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbCB0ZXh0XG4kbGFiZWwtZm9udC1zaXppbmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgbGFiZWwgYmFzZS5cbkBtaXhpbiBsYWJlbC1iYXNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGxhYmVsLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzaXplIHN0eWxlcy5cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgcGFkZGluZy4gRGVmYXVsdDogJGxhYmVsLXBhZGRpbmcgfHwgcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0XG4vLyAkdGV4dC1zaXplIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgdGV4dC1zaXplLiBEZWZhdWx0OiAkdGV4dC1zaXplIGZvdW5kIGluIHNldHRpbmdzXG5AbWl4aW4gbGFiZWwtc2l6ZSgkcGFkZGluZzokbGFiZWwtcGFkZGluZywgJHRleHQtc2l6ZTokbGFiZWwtZm9udC1zaXppbmcpIHtcbiAgQGlmICRwYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmc7IH1cbiAgQGlmICR0ZXh0LXNpemUgeyBmb250LXNpemU6ICR0ZXh0LXNpemU7IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzdHlsZXMuXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvciAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbi8vICRyYWRpdXMgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZSwgc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gbGFiZWwtc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGNvbWVzIHRocm91Z2hcbiAgQGlmICRiZyB7XG5cbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yLWFsdDsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yOyB9XG4gIH1cblxuICAvLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSByYWRpdXMgb24gbGFiZWxzLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRsYWJlbC1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGNsb3NlIGJ1dHRvbnMgdG8gYWxlcnRzXG4vLyAkcGFkZGluZyAtIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nLFxuLy8gJHRleHQtc2l6ZSAtIERlZmF1bHQ6ICRsYWJlbC1mb250LXNpemluZyxcbi8vICRiZyAtIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUgd2hpY2ggc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gbGFiZWwoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nLCAkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcblxuICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xuICBAaW5jbHVkZSBsYWJlbC1zaXplKCRwYWRkaW5nLCAkdGV4dC1zaXplKTtcbiAgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGJnLCAkcmFkaXVzKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImxhYmVsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlcyB7XG4gICAgLmxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGxhYmVsLWJhc2U7XG4gICAgICBAaW5jbHVkZSBsYWJlbC1zaXplO1xuICAgICAgQGluY2x1ZGUgbGFiZWwtc3R5bGU7XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsIHRydWUpOyB9XG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsICRyYWRpdXM6MTAwMHB4KTsgfVxuXG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRhbGVydC1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkaW5mby1jb2xvcik7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1tYWdlbGxhbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRtYWdlbGxhbi1iZzogJHdoaXRlICFkZWZhdWx0O1xuJG1hZ2VsbGFuLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJtYWdlbGxhblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1hZ2VsbGFuLWNsYXNzZXMge1xuXG4gICAgI3tkYXRhKCdtYWdlbGxhbi1leHBlZGl0aW9uJyl9LCAje2RhdGEoJ21hZ2VsbGFuLWV4cGVkaXRpb24tY2xvbmUnKX0ge1xuICAgICAgYmFja2dyb3VuZDogJG1hZ2VsbGFuLWJnO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogJG1hZ2VsbGFuLXBhZGRpbmc7XG4gICAgICB6LWluZGV4OiA1MDtcblxuICAgICAgLnN1Yi1uYXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBkZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXG4kb3JiaXQtY29udGFpbmVyLWJnOiBub25lICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIC44KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tcG9zaXRpb246IFwiYm90dG9tXCIgIWRlZmF1bHQ7IC8vIFN1cHBvcnRlZCB2YWx1ZXM6IFwiYm90dG9tXCIsIFwidW5kZXJcIlxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogcmVtLWNhbGMoMTAgMTQpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24taGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGVmdC9yaWdodCBuYXYgc3R5bGVzXG4kb3JiaXQtbmF2LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYmctaG92ZXI6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYXJyb3ctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xuJG9yYml0LXRpbWVyLWJnOiByZ2JhKDI1NSwyNTUsMjU1LDAuMykgIWRlZmF1bHQ7XG4kb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBidWxsZXQgbmF2IHN0eWxlc1xuJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kb3JiaXQtYnVsbGV0LXJhZGl1czogcmVtLWNhbGMoOSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xuJG9yYml0LXNsaWRlLW51bWJlci1iZzogcmdiYSgwLDAsMCwwKSAhZGVmYXVsdDtcbiRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcblxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcbiR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCIgIWRlZmF1bHQ7XG4kcHJlbG9hZGVyLWNsYXNzOiBcInByZWxvYWRlclwiICFkZWZhdWx0O1xuXG4vLyBIaWRlIGNvbnRyb2xzIG9uIHNtYWxsXG4kb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsOiB0cnVlICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcbiRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcblxuXG5AaW5jbHVkZSBleHBvcnRzKFwib3JiaXRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzIHtcblxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGUge1xuICAgICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgICAgZnJvbSB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIHRvIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogT3JiaXQgR3JhY2VmdWwgTG9hZGluZyAqL1xuICAgIC4jeyR3cmFwcGVyLWNsYXNzfSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgLy8gUHJldmVudCBidWxsZXRzIHNob3dpbmcgYmVmb3JlIC5vcmJpdC1jb250YWluZXIgaXMgbG9hZGVkXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC8vIEhpZGUgYWxsIGxpc3QgaXRlbXNcbiAgICAgICAgbGksXG4gICAgICAgIGxpIC5vcmJpdC1jYXB0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC8vIC4uLmV4Y2VwdCBmb3IgdGhlIGZpcnN0IG9uZVxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC1jb250YWluZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBTaG93IGltYWdlcyB3aGVuIC5vcmJpdC1jb250YWluZXIgaXMgbG9hZGVkXG4gICAgICAgIGxpIHsgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAub3JiaXQtY2FwdGlvbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIH1cbiAgICAgICAgLm9yYml0LWJ1bGxldHMgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPcmJpdCBwcmVsb2FkZXJcbiAgICAgIC4jeyRwcmVsb2FkZXItY2xhc3N9IHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGU7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hhcmNvYWwgJHdoaXRlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDNweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9yYml0LWNvbnRhaW5lci1iZztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAvLyBQcmV2ZW50cyBpbWFnZXMgKGFuZCBjYXB0aW9ucykgZnJvbSBkaXNhcHBlYXJpbmcgYWZ0ZXIgZmlyc3Qgcm90YXRpb24gb24gQ2hyb21lIGZvciBBbmRyb2lkXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgICAgaW1nIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHtcbiAgICAgICAgICAgIEBpZiAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbiA9PSBcImJvdHRvbVwiIHtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uID09IFwidW5kZXJcIiB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmc7XG4gICAgICAgICAgICBjb2xvcjogJG9yYml0LWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG9yYml0LWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgICAgICAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtc2xpZGUtbnVtYmVyIHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1zbGlkZS1udW1iZXItYmc7XG4gICAgICAgIGNvbG9yOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBzcGFuIHsgZm9udC13ZWlnaHQ6IDcwMDsgcGFkZGluZzogJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nO31cbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgIH1cblxuICAgICAgLm9yYml0LXRpbWVyIHtcbiAgICAgICAgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgXG5cbiAgICAgICAgLm9yYml0LXByb2dyZXNzIHtcbiAgICAgICAgICBAaWYgJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LXRpbWVyLWJnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQbGF5IGJ1dHRvblxuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQYXVzZSBidXR0b25cbiAgICAgICAgJi5wYXVzZWQge1xuICAgICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCA4cHg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC00cHg7XG5cbiAgICAgICAgICAgICYuZGFyayB7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkb2lsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuICAgICAgJjpob3ZlciAub3JiaXQtdGltZXIgPiBzcGFuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICAgLy8gTGV0J3MgZ2V0IHRob3NlIGNvbnRyb2xzIHRvIGJlIHJpZ2h0IGluIHRoZSBjZW50ZXIgb24gZWFjaCBzaWRlXG4gICAgICAub3JiaXQtcHJldixcbiAgICAgIC5vcmJpdC1uZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LW5hdi1iZztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDQ1JTtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1uYXYtYmctaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBpbnNldCAxMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5vcmJpdC1wcmV2IHsgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5vcmJpdC1uZXh0IHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3I7XG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC00cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5vcmJpdC1idWxsZXRzLWNvbnRhaW5lciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5vcmJpdC1idWxsZXRzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiAxMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LXJhZGl1cztcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDZweDtcbiAgICAgICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtcmFkaXVzO1xuXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50b3VjaCB7XG4gICAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgICAgLm9yYml0LXByZXYsXG4gICAgICAgIC5vcmJpdC1uZXh0IHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcblxuICAgICAgLnRvdWNoIHtcbiAgICAgICAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgICAgICAgLm9yYml0LXByZXYsXG4gICAgICAgICAgLm9yYml0LW5leHQgeyBkaXNwbGF5OiBpbmhlcml0OyB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIHtcbiAgICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIge2hlaWdodDogYXV0byAhaW1wb3J0YW50O31cbiAgICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIgPiAqIHtcbiAgICAgICAgICBtYXJnaW46MCAgIWltcG9ydGFudDtcbiAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yYml0LXNsaWRlLW51bWJlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJG9yYml0LXRpbWVyLWhpZGUtZm9yLXNtYWxsIHtcbiAgICAgICAgIC5vcmJpdC10aW1lcntkaXNwbGF5OiBub25lO31cbiAgICAgIH1cbiAgICAgIEBpZiAkb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsIHtcbiAgICAgICAgIC5vcmJpdC1uZXh0LC5vcmJpdC1wcmV2e2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgfVxuICAgICAgQGlmICRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGwge1xuICAgICAgICAgLm9yYml0LWJ1bGxldHN7ZGlzcGxheTogbm9uZTt9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcGFnaW5hdGlvbiBjb250YWluZXJcbiRwYWdpbmF0aW9uLWhlaWdodDogcmVtLWNhbGMoMjQpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luOiByZW0tY2FsYygtNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGxpc3QtaXRlbSBwcm9wZXJ0aWVzXG4kcGFnaW5hdGlvbi1saS1mbG9hdDogJGRlZmF1bHQtZmxvYXQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpLW1hcmdpbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgdGhlIHBhZ2luYXRpb24gYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLXBhZDogcmVtLWNhbGMoMSAxMCAxKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1hY3RpdmUtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgZGlzYWJsZWQgYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWN1cnNvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGN1cnJlbnRseSBzZWxlY3RlZCBhbmNob3IgbGlua3NcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gU3R5bGUgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyLiBDdXJyZW50bHkgb25seSB1c2VkIHdoZW4gY2VudGVyaW5nIGVsZW1lbnRzLlxuLy8gJGNlbnRlciAtIERlZmF1bHQ6IGZhbHNlLCBPcHRpb25zOiB0cnVlXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIoJGNlbnRlcjpmYWxzZSkge1xuICBAaWYgJGNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxufVxuXG4vLyBAbWl4aW5zXG4vLyBTdHlsZSB1bmF2YWlsYWJsZSBsaXN0IGl0ZW1zXG5AbWl4aW4gcGFnaW5hdGlvbi11bmF2YWlsYWJsZS1pdGVtIHtcbiAgYSwgYnV0dG9uIHtcbiAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I7XG4gIH1cbiAgJjpob3ZlciBhLFxuICAmIGE6Zm9jdXMsXG5cbiAgJjpob3ZlciBidXR0b24sXG4gICYgYnV0dG9uOmZvY3VzXG4gIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU7IH1cbn1cbi8vIEBtaXhpbnNcbi8vIFN0eWxlIHRoZSBjdXJyZW50IGxpc3QgaXRlbS4gRG8gbm90IGFzc3VtZSB0aGF0IHRoZSBjdXJyZW50IGl0ZW0gaGFzXG4vLyBhbiBhbmNob3IgPGE+IGVsZW1lbnQuXG4vLyAkaGFzLWFuY2hvciAtIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG5AbWl4aW4gcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW0oJGhhcy1hbmNob3I6IHRydWUpIHtcbiAgQGlmICRoYXMtYW5jaG9yIHtcbiAgICBhLCBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I7XG4gICAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I7XG4gICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24tbGluay1wYWQ7XG4gICAgQGluY2x1ZGUgcmFkaXVzO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzsgfVxuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzZXQgdGhlIHByb3BlcnRpZXMgZm9yIHRoZSBjcmVhdGluZyBGb3VuZGF0aW9uIHBhZ2luYXRpb25cbi8vICRjZW50ZXIgLSBMZWZ0IG9yIGNlbnRlciBhbGlnbiB0aGUgbGkgZWxlbWVudHMuIERlZmF1bHQ6IGZhbHNlXG4vLyAkYmFzZS1zdHlsZSAtIFNldHMgYmFzZSBzdHlsZXMgZm9yIHBhZ2luYXRpb24uIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkdXNlLWRlZmF1bHQtY2xhc3NlcyAtIE1ha2VzIHVuYXZhaWxhYmxlICYgY3VycmVudCBjbGFzc2VzIGF2YWlsYWJsZSBmb3IgdXNlLiBEZWZhdWx0OiB0cnVlXG5AbWl4aW4gcGFnaW5hdGlvbigkY2VudGVyOmZhbHNlLCAkYmFzZS1zdHlsZTp0cnVlLCAkdXNlLWRlZmF1bHQtY2xhc3Nlczp0cnVlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLW1hcmdpbjtcbiAgICBtaW4taGVpZ2h0OiAkcGFnaW5hdGlvbi1oZWlnaHQ7XG5cbiAgICBsaSB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tbGktZm9udC1zaXplO1xuICAgICAgaGVpZ2h0OiAkcGFnaW5hdGlvbi1saS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLWxpLW1hcmdpbjtcblxuICAgICAgYSwgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xuICAgICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogJHBhZ2luYXRpb24tbGluay1wYWQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgYSxcbiAgICAgIGE6Zm9jdXMsXG4gICAgICAmOmhvdmVyIGJ1dHRvbixcbiAgICAgIGJ1dHRvbjpmb2N1c1xuICAgICAgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzsgfVxuXG4gICAgICBAaWYgJHVzZS1kZWZhdWx0LWNsYXNzZXMge1xuICAgICAgICAmLnVuYXZhaWxhYmxlIHsgQGluY2x1ZGUgcGFnaW5hdGlvbi11bmF2YWlsYWJsZS1pdGVtKCk7IH1cbiAgICAgICAgJi5jdXJyZW50IHsgQGluY2x1ZGUgcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW0oKTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50c1xuICBsaSB7XG4gICAgQGlmICRjZW50ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfSBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiAkcGFnaW5hdGlvbi1saS1mbG9hdDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInBhZ2luYXRpb25cIikge1xuICBAaWYgJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzIHtcbiAgICB1bC5wYWdpbmF0aW9uIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb247XG4gICAgfVxuXG4gICAgLyogUGFnaW5hdGlvbiBjZW50cmVkIHdyYXBwZXIgKi9cbiAgICAucGFnaW5hdGlvbi1jZW50ZXJlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcih0cnVlKTtcblxuICAgICAgdWwucGFnaW5hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24odHJ1ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXNcbiRwYW5lbC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWJnOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogOTQlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcbiRwYW5lbC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwYW5lbC1iZywgJGxpZ2h0bmVzczogLTExJSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBpbm5lciBwYWRkaW5nIGFuZCBib3R0b20gbWFyZ2luXG4kcGFuZWwtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhbmVsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGZvbnQgY29sb3JzXG4kcGFuZWwtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRwYW5lbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xuXG4kcGFuZWwtaGVhZGVyLWFkanVzdDogdHJ1ZSAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwYW5lbHMuXG4vLyAkYmcgLSBTZXRzIHRoZSBwYW5lbCBiYWNrZ3JvdW5kIGNvbG9yLiBEZWZhdWx0OiAkcGFuZWwtcGcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0XG4vLyAkcGFkZGluZyAtIFNldHMgdGhlIHBhbmVsIHBhZGRpbmcgYW1vdW50LiBEZWZhdWx0OiAkcGFuZWwtcGFkZGluZyB8fCByZW0tY2FsYygyMClcbi8vICRhZGp1c3QgLSBTZXRzIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcgJiByZXNldHMgaGVhZGVyIGxpbmUtaGVpZ2h0cyBmb3IgcGFuZWxzLiBEZWZhdWx0OiAkcGFuZWwtaGVhZGVyLWFkanVzdCB8fCB0cnVlXG5AbWl4aW4gcGFuZWwoJGJnOiRwYW5lbC1iZywgJHBhZGRpbmc6JHBhbmVsLXBhZGRpbmcsICRhZGp1c3Q6JHBhbmVsLWhlYWRlci1hZGp1c3QsICRib3JkZXI6dHJ1ZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gICAgQGlmICRib3JkZXIge1xuICAgICAgYm9yZGVyLXN0eWxlOiAkcGFuZWwtYm9yZGVyLXN0eWxlO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcGFuZWwtYm9yZGVyLXNpemU7XG4gICAgICBib3JkZXItY29sb3I6ICRwYW5lbC1ib3JkZXItY29sb3I7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgbWFyZ2luLWJvdHRvbTogJHBhbmVsLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgQGlmICRiZy1saWdodG5lc3MgPj0gNTAlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3ItYWx0OyB9XG5cbiAgICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICAgID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICAgID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgICBAaWYgJGFkanVzdCB7XG4gICAgICAvLyBXZSBzZXQgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gdGhlIGRhcmtuZXNzIG9mIHRoZSBiZy5cbiAgICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7XG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCBkbCB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvcjsgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgZGwgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3ItYWx0OyB9XG4gICAgICB9XG5cbiAgICAgIC8vIHJlc2V0IGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVsc1xuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgLyAyO1xuICAgICAgICAmLnN1YmhlYWRlciB7IGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInBhbmVsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlcyB7XG5cbiAgICAvKiBQYW5lbHMgKi9cbiAgICAucGFuZWwgeyBAaW5jbHVkZSBwYW5lbDtcblxuICAgICAgJi5jYWxsb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgcGFuZWwoJGNhbGxvdXQtcGFuZWwtYmcpO1xuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgY29sb3I6ICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I7XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm9yZGVyIGNvbG9yXG4kcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgcHJpY2luZyB0YWJsZVxuJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpdGxlIHN0eWxlc1xuJHByaWNlLXRpdGxlLWJnOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLWNvbG9yOiAkc21va2UgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwcmljZSBzdHlsZXNcbiRwcmljZS1tb25leS1iZzogJHZhcG9yICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1zaXplOiByZW0tY2FsYygzMikgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXNcbiRwcmljZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJHByaWNlLWRlc2Mtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbSBzdHlsZXNcbiRwcmljZS1pdGVtLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0td2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgQ1RBIGFyZWEgc3R5bGVzXG4kcHJpY2UtY3RhLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJpY2UtY3RhLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtY3RhLXBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDApICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjb250YWluZXIgZWxlbWVudCBmb3IgdGhlIHByaWNpbmcgdGFibGVzXG5AbWl4aW4gcHJpY2luZy10YWJsZS1jb250YWluZXIge1xuICBib3JkZXI6ICRwcmljZS10YWJsZS1ib3JkZXI7XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b207XG5cbiAgJiAqIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBwcmljaW5nIHRhYmxlIHRpdGxlIHN0eWxlc1xuQG1peGluIHByaWNpbmctdGFibGUtdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtdGl0bGUtYmc7XG4gIGNvbG9yOiAkcHJpY2UtdGl0bGUtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJHByaWNlLXRpdGxlLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtdGl0bGUtd2VpZ2h0O1xuICBwYWRkaW5nOiAkcHJpY2UtdGl0bGUtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLXRpdGxlLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCB0aGUgcHJpY2luZyB0YWJsZSBwcmljZSBzdHlsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLXByaWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLW1vbmV5LWJnO1xuICBjb2xvcjogJHByaWNlLW1vbmV5LWNvbG9yO1xuICBmb250LWZhbWlseTogJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRwcmljZS1tb25leS1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLW1vbmV5LXdlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLW1vbmV5LXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1tb25leS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgZGVzY3JpcHRpb24gc3R5bGVzIGZvciB0aGUgcHJpY2luZyB0YWJsZVxuQG1peGluIHByaWNpbmctdGFibGUtZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI7XG4gIGNvbG9yOiAkcHJpY2UtZGVzYy1jb2xvcjtcbiAgZm9udC1zaXplOiAkcHJpY2UtZGVzYy1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtZGVzYy13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkcHJpY2UtZGVzYy1saW5lLWhlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLWRlc2MtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLWRlc2MtYWxpZ247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSB0aGUgYnVsbGV0IGl0ZW1zIGluIHRoZSBwcmljaW5nIHRhYmxlXG5AbWl4aW4gcHJpY2luZy10YWJsZS1idWxsZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI7XG4gIGNvbG9yOiAkcHJpY2UtaXRlbS1jb2xvcjtcbiAgZm9udC1zaXplOiAkcHJpY2UtaXRlbS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtaXRlbS13ZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1pdGVtLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1pdGVtLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgdGhlIENUQSBhcmVhIG9mIHRoZSBwcmljaW5nIHRhYmxlc1xuQG1peGluIHByaWNpbmctdGFibGUtY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWN0YS1iZztcbiAgcGFkZGluZzogJHByaWNlLWN0YS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtY3RhLWFsaWduO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicHJpY2luZy10YWJsZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlcyB7XG5cbiAgICAvKiBQcmljaW5nIFRhYmxlcyAqL1xuICAgIC5wcmljaW5nLXRhYmxlIHtcbiAgICAgIEBpbmNsdWRlIHByaWNpbmctdGFibGUtY29udGFpbmVyO1xuXG4gICAgICAudGl0bGUgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXRpdGxlOyB9XG4gICAgICAucHJpY2UgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXByaWNlOyB9XG4gICAgICAuZGVzY3JpcHRpb24geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWRlc2NyaXB0aW9uOyB9XG4gICAgICAuYnVsbGV0LWl0ZW0geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWJ1bGxldDsgfVxuICAgICAgLmN0YS1idXR0b24geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWN0YTsgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIHByb2dyZXNzIGJhciBoZWlnaHRcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAkdmFwb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAyMCUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcbiRwcm9ncmVzcy1iYXItcGFkOiByZW0tY2FsYygyKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBtZXRlciBjb2xvcnNcbiRwcm9ncmVzcy1tZXRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdXAgdGhlIHByb2dyZXNzIGJhciBjb250YWluZXJcbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBib3JkZXI6ICRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemUgJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGUgJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I7XG4gIGhlaWdodDogJHByb2dyZXNzLWJhci1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZzogJHByb2dyZXNzLWJhci1wYWQ7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJvZ3Jlc3MtbWV0ZXItY29sb3IgfHwgJHByaW1hcnktY29sb3JcbkBtaXhpbiBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwicHJvZ3Jlc3MtYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG5cbiAgICAvKiBQcm9ncmVzcyBCYXIgKi9cbiAgICAucHJvZ3Jlc3Mge1xuICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgICAvLyBNZXRlclxuICAgICAgLm1ldGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gICAgICB9XG4gICAgICAmLnNlY29uZGFyeSAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0IC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3IpOyB9XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cygkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXMgLSAxKTsgfVxuICAgICAgfVxuXG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cyg5OTlweCk7IH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3JhbmdlLXNsaWRlci5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgdmFyaWFiZWxzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcbiRyYW5nZS1zbGlkZXItYmFyLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0OiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50LWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMSUpICFkZWZhdWx0O1xuXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXG4kcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci13aWR0aDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0OiByZW0tY2FsYygyMDApICFkZWZhdWx0O1xuXG4vLyBUaGVzZSB2YXJpYWJlbHMgZGVmaW5lIHRoZSBzbGlkZXIgaGFuZGxlIHN0eWxlc1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg6IHJlbS1jYWxjKDMyKSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcG9zaXRpb24tdG9wOiByZW0tY2FsYygtNSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I6IG5vbmUgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTEyJSkgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG5cbiRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLWJhc2UoJHZlcnRpY2FsOiBmYWxzZSkge1xuICBib3JkZXI6ICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItc3R5bGUgJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci1oZWlnaHQ7XG4gICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDtcbiAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1iYXItd2lkdGg7XG4gIH1cbn1cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLXN0eWxlKFxuICAkYmc6IHRydWUsXG4gICRyYWRpdXM6IGZhbHNlLFxuICAkcm91bmQ6IGZhbHNlLFxuICAkZGlzYWJsZWQ6IGZhbHNlKSB7XG4gIEBpZiAkYmcgPT0gdHJ1ZSB7IGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOyB9XG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yYWRpdXMpOyB9XG4gIEBpZiAkcm91bmQgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJvdW5kKTsgfVxuICBAaWYgJGRpc2FibGVkID09IHRydWUge1xuICAgIGN1cnNvcjogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I7XG4gICAgb3BhY2l0eTogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyKFxuICAkYmc6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZTtcbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZSgpIHtcbiAgYm9yZGVyOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGggJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvcjtcbiAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A7XG4gIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgei1pbmRleDogMTtcblxuICAvLyBUaGlzIHJlbW92ZXMgdGhlIDMwMG1zIHRvdWNoIGRlbGF5IG9uIFdpbmRvd3MgOFxuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZShcbiAgJGJnOiB0cnVlLFxuICAkcmFkaXVzOiBmYWxzZSxcbiAgJHJvdW5kOiBmYWxzZSxcbiAgJGRpc2FibGVkOiBmYWxzZSkge1xuICBAaWYgJGJnID09IHRydWUgeyBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjsgfVxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcmFkaXVzKTsgfVxuICBAaWYgJHJvdW5kID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7IH1cbiAgQGlmICRkaXNhYmxlZCA9PSB0cnVlIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICBvcGFjaXR5OiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I7XG4gIH1cbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUoKSB7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZTtcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZTtcbn1cblxuLy8gQ1NTIEdlbmVyYXRpb25cbkBpbmNsdWRlIGV4cG9ydHMoXCJyYW5nZS1zbGlkZXItYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXMge1xuICAgIC5yYW5nZS1zbGlkZXIge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czpmYWxzZSk7XG4gICAgICAmLnZlcnRpY2FsLXJhbmdlIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlKCR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgICBib3R0b206IC0oJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0IC0gJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGgpO1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSgkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aCAvIDQpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICAgIC5yYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5pdGlhbDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQgLSByZW0tY2FsYygoc3RyaXAtdW5pdCgkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGgpICogMikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJHJhZGl1czp0cnVlKTtcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRyYWRpdXM6IHRydWUpOyB9XG4gICAgICB9XG4gICAgICAmLnJvdW5kIHtcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkcm91bmQ6dHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHsgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkcm91bmQ6IHRydWUpOyB9XG4gICAgICB9XG4gICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJGRpc2FibGVkOnRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJGRpc2FibGVkOiB0cnVlKTsgfVxuICAgICAgfVxuICAgIH1cbiAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czogZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuXG4vL1xuLy8gQG5hbWUgX3JldmVhbC5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxuJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCRibGFjaywgLjQ1KSAhZGVmYXVsdDtcbiRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXG4kcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcmV2ZWFsLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoMTAwKSAhZGVmYXVsdDtcbiRyZXZlYWwtZGVmYXVsdC13aWR0aDogODAlICFkZWZhdWx0O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRyb3ctd2lkdGggIWRlZmF1bHQ7XG4kcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcbiRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cbiRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYyg0MCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtb2RhbCBib3JkZXJcbiRyZXZlYWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyZXZlYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmV2ZWFsLWJvcmRlci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuXG4kcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiICFkZWZhdWx0O1xuJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcblxuLy8gU2V0IGJhc2Ugei1pbmRleFxuJHotaW5kZXgtYmFzZTogMTAwNTtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgcmV2ZWFsIGJhY2tncm91bmQgb3ZlcmxheSBzdHlsZXNcbkBtaXhpbiByZXZlYWwtYmcoICRpbmNsdWRlLXotaW5kZXgtdmFsdWU6IHRydWUgKSB7XG4gIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gYWxsb3dzIG1vZGFsIGJhY2tncm91bmQgdG8gZXh0ZW5kIGJleW9uZCB3aW5kb3cgcG9zaXRpb25cbiAgYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJnLW9sZDsgLy8gQXV0b3ByZWZpeGVyIHNob3VsZCBiZSB1c2VkIHRvIGF2b2lkIHN1Y2ggdmFyaWFibGVzIG5lZWRlZCB3aGVuIEZvdW5kYXRpb24gZm9yIFNpdGVzIGNhbiBkbyBzbyBpbiB0aGUgbmVhciBmdXR1cmUuXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZztcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IGlmKCAkaW5jbHVkZS16LWluZGV4LXZhbHVlLCAkei1pbmRleC1iYXNlIC0gMSwgYXV0byApO1xuICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzdHJ1Y3R1cmUgb2YgYSByZXZlYWwgbW9kYWxcbi8vXG4vLyAkYmFzZS1zdHlsZSAtIFByb3ZpZGVzIHJldmVhbCBiYXNlIHN0eWxlcywgY2FuIGJlIHNldCB0byBmYWxzZSB0byBvdmVycmlkZS4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICR3aWR0aCAtIFNldHMgcmV2ZWFsIHdpZHRoIERlZmF1bHQ6ICRyZXZlYWwtZGVmYXVsdC13aWR0aCB8fCA4MCVcbi8vXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2UoICRiYXNlLXN0eWxlOiB0cnVlLCAkd2lkdGg6JHJldmVhbC1kZWZhdWx0LXdpZHRoLCAkbWF4LXdpZHRoOiRyZXZlYWwtbWF4LXdpZHRoLCAkYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXMpIHtcbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogJHotaW5kZXgtYmFzZTtcbiAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHsgbWluLXdpZHRoOiAwOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIG1hcmdpbiBmcm9tIGZpcnN0IGFuZCBsYXN0IGVsZW1lbnQgaW5zaWRlIG1vZGFsXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG5cbiAgQGlmICR3aWR0aCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgcmV2ZWFsIG1vZGFsIGRlZmF1bHRzXG4vL1xuLy8gJGJnIC0gU2V0cyBiYWNrZ3JvdW5kIGNvbG9yIG9mIHJldmVhbCBtb2RhbC4gRGVmYXVsdDogJHJldmVhbC1tb2RhbC1iZyB8fCAkd2hpdGVcbi8vICRwYWRkaW5nIC0gUGFkZGluZyB0byBhcHBseSB0byByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtcGFkZGluZy5cbi8vICRib3JkZXIgLSBDaG9vc2Ugd2hldGhlciByZXZlYWwgdXNlcyBhIGJvcmRlci4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRib3JkZXItc3R5bGUgLSBTZXQgcmV2ZWFsIGJvcmRlciBzdHlsZS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItc3R5bGUgfHwgc29saWRcbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgKGkuZS4gMXB4KS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItd2lkdGguXG4vLyAkYm9yZGVyLWNvbG9yIC0gQ29sb3Igb2YgYm9yZGVyLiBEZWZhdWx0OiAkcmV2ZWFsLWJvcmRlci1jb2xvci5cbi8vICRib3gtc2hhZG93IC0gQ2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGRlZmF1bHQgYm94LXNoYWRvdy4gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2Vcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gbW9kYWwgcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJHRvcC1vZmZzZXQgLSBEZWZhdWx0OiAkcmV2ZWFsLXBvc2l0aW9uLXRvcCB8fCA1MHB4XG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAkYmc6ZmFsc2UsXG4gICRwYWRkaW5nOmZhbHNlLFxuICAkYm9yZGVyOmZhbHNlLFxuICAkYm9yZGVyLXN0eWxlOiRyZXZlYWwtYm9yZGVyLXN0eWxlLFxuICAkYm9yZGVyLXdpZHRoOiRyZXZlYWwtYm9yZGVyLXdpZHRoLFxuICAkYm9yZGVyLWNvbG9yOiRyZXZlYWwtYm9yZGVyLWNvbG9yLFxuICAkYm94LXNoYWRvdzpmYWxzZSxcbiAgJHJhZGl1czpmYWxzZSxcbiAgJHRvcC1vZmZzZXQ6ZmFsc2UpIHtcblxuICBAaWYgJGJnIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIEBpZiAkcGFkZGluZyAhPSBmYWxzZSB7IHBhZGRpbmc6ICRwYWRkaW5nOyB9XG5cbiAgQGlmICRib3JkZXIgeyBib3JkZXI6ICRib3JkZXItc3R5bGUgJGJvcmRlci13aWR0aCAkYm9yZGVyLWNvbG9yOyB9XG5cbiAgLy8gV2UgY2FuIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuXG4gIEBpZiAkYm94LXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogJHJldmVhbC1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggcmFkaXVzIGlzIHVzZWQgb24gdGhlIG1vZGFsXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJldmVhbC1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxuICBAaWYgJHRvcC1vZmZzZXQge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIHRvcDogJHRvcC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBhIGNsb3NlIGJ1dHRvbiBmb3IgdGhlIHJldmVhbCBtb2RhbFxuLy9cbi8vICRjb2xvciAtIERlZmF1bHQ6ICRyZXZlYWwtY2xvc2UtY29sb3IgfHwgJGJhc2VcbkBtaXhpbiByZXZlYWwtY2xvc2UoJGNvbG9yOiRyZXZlYWwtY2xvc2UtY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gIGZvbnQtc2l6ZTogJHJldmVhbC1jbG9zZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcmV2ZWFsLWNsb3NlLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmV2ZWFsLWNsb3NlLXRvcDtcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHJldmVhbC1jbG9zZS1zaWRlO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicmV2ZWFsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXMge1xuXG4gICAgLy8gUmV2ZWFsIE1vZGFsc1xuICAgIC5yZXZlYWwtbW9kYWwtYmcgeyBAaW5jbHVkZSByZXZlYWwtYmc7IH1cblxuICAgIC4jeyRyZXZlYWwtbW9kYWwtY2xhc3N9IHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAgICAgICAkYmc6JHJldmVhbC1tb2RhbC1iZyxcbiAgICAgICAgJHBhZGRpbmc6JHJldmVhbC1tb2RhbC1wYWRkaW5nLFxuICAgICAgICAkYm9yZGVyOnRydWUsXG4gICAgICAgICRib3gtc2hhZG93OnRydWUsXG4gICAgICAgICRyYWRpdXM6ZmFsc2UsXG4gICAgICAgICR0b3Atb2Zmc2V0OiRyZXZlYWwtcG9zaXRpb24tdG9wXG4gICAgICApO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOiRyZXZlYWwtcm91bmQpOyB9XG4gICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRwYWRkaW5nOjApOyB9XG4gICAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDMwJSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNDAlKTsgfVxuICAgICAgJi5tZWRpdW0gIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDYwJSk7IH1cbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNzAlKTsgfVxuICAgICAgJi54bGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgOTUlKTsgfVxuICAgICAgJi5mdWxsIHtcbiAgICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDEwMCUpO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICAgICAgdG9wOjA7XG4gICAgICB9XG5cbiAgICAgIC8vIE1vZGFscyBwdXNoZWQgdG8gYmFja1xuICAgICAgJi50b2JhY2sge1xuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlIC0gMjtcbiAgICAgIH1cblxuICAgICAgLiN7JGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzc30geyBAaW5jbHVkZSByZXZlYWwtY2xvc2U7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgcGFkZGluZy5cbiRzaWRlLW5hdi1wYWRkaW5nOiByZW0tY2FsYygxNCAwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGlzdCBzdHlsZXMuXG4kc2lkZS1uYXYtbGlzdC10eXBlOiBub25lICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpc3QtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDAgMCA3IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaW5rIHN0eWxlcy5cbiRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLWNvbG9yLWFjdGl2ZTogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHNpZGUtbmF2LWxpbmstY29sb3IsICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGluay1iZy1ob3ZlcjogaHNsYSgwLCAwLCAwLCAuMDI1KSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDcgMTQpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1mb250LWZhbWlseS1hY3RpdmU6ICRzaWRlLW5hdi1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGluZyBzdHlsZXMuXG4kc2lkZS1uYXYtaGVhZGluZy1jb2xvcjogJHNpZGUtbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU6ICRzaWRlLW5hdi1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcbiRzaWRlLW5hdi1kaXZpZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBzaWRlLW5hdlxuLy9cbi8vICRkaXZpZGVyLWNvbG9yIC0gQm9yZGVyIGNvbG9yIG9mIGRpdmlkZXIuIERlZmF1bHQ6ICRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yLlxuLy8gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBvZiBuYXYgaXRlbXMuIERlZmF1bHQ6ICRzaWRlLW5hdi1mb250LXNpemUuXG4vLyAkbGluay1jb2xvciAtIENvbG9yIG9mIG5hdmlnYXRpb24gbGlua3MuIERlZmF1bHQ6ICRzaWRlLW5hdi1saW5rLWNvbG9yLlxuLy8gJGxpbmstY29sb3ItaG92ZXIgLSBDb2xvciBvZiBuYXZpZ2F0aW9uIGxpbmtzIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXIuXG5AbWl4aW4gc2lkZS1uYXYoXG4gICRkaXZpZGVyLWNvbG9yOiRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yLFxuICAkZm9udC1zaXplOiRzaWRlLW5hdi1mb250LXNpemUsXG4gICRsaW5rLWNvbG9yOiRzaWRlLW5hdi1saW5rLWNvbG9yLFxuICAkbGluay1jb2xvci1hY3RpdmU6JHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlLFxuICAkbGluay1jb2xvci1ob3Zlcjokc2lkZS1uYXYtbGluay1jb2xvci1ob3ZlcixcbiAgJGxpbmstYmctaG92ZXI6JHNpZGUtbmF2LWxpbmstYmctaG92ZXIpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHk7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRzaWRlLW5hdi1saXN0LXBvc2l0aW9uO1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzaWRlLW5hdi1saXN0LXR5cGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogJHNpZGUtbmF2LXBhZGRpbmc7XG5cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbjogJHNpZGUtbmF2LWxpc3QtbWFyZ2luO1xuXG4gICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46ICRzaWRlLW5hdi1saW5rLW1hcmdpbjtcbiAgICAgIHBhZGRpbmc6ICRzaWRlLW5hdi1saW5rLXBhZGRpbmc7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaW5rLWJnLWhvdmVyO1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvci1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgPiBhOmZpcnN0LWNoaWxkOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgZm9udC1mYW1pbHk6ICRzaWRlLW5hdi1mb250LWZhbWlseS1hY3RpdmU7XG4gICAgICBmb250LXdlaWdodDogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmRpdmlkZXIge1xuICAgICAgYm9yZGVyLXRvcDogJHNpZGUtbmF2LWRpdmlkZXItc2l6ZSAkc2lkZS1uYXYtZGl2aWRlci1zdHlsZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGRpdmlkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiAkc2lkZS1uYXYtaGVhZGluZy1jb2xvcjtcbiAgICAgIGZvbnQ6IHtcbiAgICAgICAgc2l6ZTogJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplO1xuICAgICAgICB3ZWlnaHQ6ICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xuICAgICAgfVxuICAgICAgdGV4dC10cmFuc2Zvcm06ICRzaWRlLW5hdi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic2lkZS1uYXZcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XG4gICAgLnNpZGUtbmF2IHtAaW5jbHVkZSBzaWRlLW5hdjt9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdidXR0b25zJztcbkBpbXBvcnQgJ2Ryb3Bkb3duLWJ1dHRvbnMnO1xuXG4vL1xuLy8gQG5hbWUgX3NwbGl0LWJ1dHRvbnMuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfYnV0dG9ucy5zY3NzLCBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGRpZmZlcmVudCBzaGFyZWQgc3R5bGVzIGZvciBTcGxpdCBCdXR0b25zXG4kc3BsaXQtYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogMTAlICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tYWN0aXZlLWJnLXRpbnQ6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGlueSBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiAxMCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk6ICRidXR0b24tcGlwLXRueSAqIDYgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXRueTogJGJ1dHRvbi1waXAtdG55ICogMiAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtdG55OiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHNtYWxsIHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEwICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDogJGJ1dHRvbi1waXAtc21sICogNiAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWwgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3Atc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxLjUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtZWRpdW0gc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogOSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDUuNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDEuNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbWVkOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxhcmdlIHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDggIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA1ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLWxyZzogJGJ1dHRvbi1waXAtbHJnICsgcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LWxyZzogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgc3BsaXQgYnV0dG9ucyB0aGF0IGJ1aWxkIHVwb24gdGhlIGJ1dHRvbiBtaXhpbnNcbi8vXG4vLyAkcGFkZGluZyAtIFR5cGUgb2YgcGFkZGluZyB0byBhcHBseS4gRGVmYXVsdDogbWVkaXVtLiBPcHRpb25zOiB0aW55LCBzbWFsbCwgbWVkaXVtLCBsYXJnZS5cbi8vICRwaXAtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuIERlZmF1bHQ6ICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLlxuLy8gJHNwYW4tYm9yZGVyIC0gQm9yZGVyIGNvbG9yIG9mIGJ1dHRvbiBkaXZpZGVyLiBEZWZhdWx0OiAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlIHRvIHNwbGl0IGJ1dHRvbi4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzcGxpdC1idXR0b24oXG4gICRwYWRkaW5nOm1lZGl1bSxcbiAgJHBpcC1jb2xvcjokc3BsaXQtYnV0dG9uLXBpcC1jb2xvciwgXG4gICRzcGFuLWJvcmRlcjokc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIFdpdGggdGhpcywgd2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBTdHlsaW5nIGZvciB0aGUgc3BsaXQgYXJyb3cgY2xpY2thYmxlIGFyZWFcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogc29saWQgMXB4O1xuXG4gICAgICAvLyBCdWlsZGluZyB0aGUgdHJpYW5nbGUgcGlwIGluZGljYXRvclxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1zdHlsZTogaW5zZXQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzcGxpdC1idXR0b24tYWN0aXZlLWJnLXRpbnQ7IH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250cm9sIHRoZSBib3JkZXIgY29sb3IgZm9yIHRoZSBzcGFuIGFyZWEgb2YgdGhlIHNwbGl0IGJ1dHRvblxuICBAaWYgJHNwYW4tYm9yZGVyIHtcbiAgICBzcGFuIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJHNwYW4tYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciB0aW55IHNpemVzXG4gIEBpZiAkcGFkZGluZyA9PSB0aW55IHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy10bnk7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBzbWFsbCBzaXplc1xuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBzbWFsbCB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sO1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtc21sO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtc21sO1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sO1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgZGVmYXVsdCAobWVkaXVtKSBzaXplc1xuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBtZWRpdW0ge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDtcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDtcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIGxhcmdlIHNpemVzXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IGxhcmdlIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1scmc7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbnRyb2wgdGhlIGNvbG9yIG9mIHRoZSB0cmlhbmdsZSBwaXBcbiAgQGlmICRwaXAtY29sb3Ige1xuICAgIHNwYW46YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRwaXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic3BsaXQtYnV0dG9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuXG4gICAgLnNwbGl0LmJ1dHRvbiB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbjtcblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cbiAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsIGZhbHNlLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cbiAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgZmFsc2UsICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIGZhbHNlKTsgfVxuXG4gICAgICAmLnRpbnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24odGlueSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oc21hbGwsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyB9XG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGxhcmdlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxuICAgICAgJi5leHBhbmQgeyBwYWRkaW5nLWxlZnQ6IDJyZW07IH1cblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdCwgZmFsc2UsIGZhbHNlKTsgfVxuXG4gICAgICAmLnJhZGl1cyBzcGFuIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAmLnJvdW5kIHNwYW4geyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAxMDAwcHgpOyB9XG4gICAgICAmLm5vLXBpcHtcbiAgICAgICAgc3BhbjpiZWZvcmV7IGJvcmRlci1zdHlsZTpub25lOyB9XG4gICAgICAgIHNwYW46YWZ0ZXJ7IGJvcmRlci1zdHlsZTpub25lOyB9XG4gICAgICAgIHNwYW4+aXtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjI4ODg5ZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuNDg4ODllbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF9zdWItbmF2LnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtYXJnaW4gYW5kIHBhZGRpbmdcbiRzdWItbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygtNCAwIDE4KSAhZGVmYXVsdDtcbiRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkZWZpbml0aW9uXG4kc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHN1Yi1uYXYtcGFkZGluZzogcmVtLWNhbGMoMyAxNikgIWRlZmF1bHQ7XG4kc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjUlKSAhZGVmYXVsdDtcblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYWN0aXZlIGl0ZW0gc3R5bGVzXG5cbiRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWFjdGl2ZS1iZywgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nOiAkc3ViLW5hdi1wYWRkaW5nICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWN1cnNvcjogZGVmYXVsdCAhZGVmYXVsdDtcblxuJHN1Yi1uYXYtaXRlbS1kaXZpZGVyOiBcIlwiICFkZWZhdWx0O1xuJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuXG4vLyBDcmVhdGUgYSBzdWItbmF2IGl0ZW1cbi8vXG4vLyAkZm9udC1jb2xvciAtIEZvbnQgY29sb3IuIERlZmF1bHQ6ICRzdWItbmF2LWZvbnQtY29sb3IuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LXNpemUuXG4vLyAkYWN0aXZlLWJnIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0uIERlZmF1bHQ6ICRzdWItbmF2LWFjdGl2ZS1iZy5cbi8vICRhY3RpdmUtYmctaG92ZXIgLSBCYWNrZ3JvdW5kIG9mIGFjdGl2ZSBuYXYgaXRlbSwgd2hlbiBob3ZlcmVkLiBEZWZhdWx0OiAkc3ViLW5hdi1hY3RpdmUtYmctaG92ZXIuXG5AbWl4aW4gc3ViLW5hdihcbiAgJGZvbnQtY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3IsXG4gICRmb250LXNpemU6ICRzdWItbmF2LWZvbnQtc2l6ZSxcbiAgJGFjdGl2ZS1iZzogJHN1Yi1uYXYtYWN0aXZlLWJnLFxuICAkYWN0aXZlLWJnLWhvdmVyOiAkc3ViLW5hdi1hY3RpdmUtYmctaG92ZXIpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHN1Yi1uYXYtbGlzdC1tYXJnaW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAkc3ViLW5hdi1saXN0LXBhZGRpbmctdG9wO1xuICB3aWR0aDogYXV0bztcblxuICBkdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIGR0LFxuICBkZCxcbiAgbGkge1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgZm9udC1mYW1pbHk6ICRzdWItbmF2LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHN1Yi1uYXYtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiByZW0tY2FsYygxNik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3I7XG4gICAgICBwYWRkaW5nOiAkc3ViLW5hdi1wYWRkaW5nO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkc3ViLW5hdi10ZXh0LWRlY29yYXRpb247XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSBhIHtcbiAgICAgIEBpbmNsdWRlIHJhZGl1cygkc3ViLW5hdi1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XG4gICAgICBjb2xvcjogJHN1Yi1uYXYtYWN0aXZlLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkc3ViLW5hdi1hY3RpdmUtY3Vyc29yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDtcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZy1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHN1Yi1uYXYtaXRlbS1kaXZpZGVyICE9IFwiXCIge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiI3skc3ViLW5hdi1pdGVtLWRpdmlkZXJ9XCI7XG4gICAgICAgIG1hcmdpbjogMCAkc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInN1Yi1uYXZcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XG4gICAgLnN1Yi1uYXYgeyBAaW5jbHVkZSBzdWItbmF2OyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZVxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBDb250cm9sbGluZyBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lclxuJHN3aXRjaC1iZzogJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN3aXRjaCBoZWlnaHRzIGZvciBvdXIgZGVmYXVsdCBjbGFzc2VzXG4kc3dpdGNoLWhlaWdodC10bnk6IDEuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LXNtbDogMS43NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LW1lZDogMnJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LWxyZzogMi41cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1ib3R0b20tbWFyZ2luOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgc3dpdGNoLXBhZGRsZVxuJHN3aXRjaC1wYWRkbGUtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQ6IC4xNXMgIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2U6IGVhc2Utb3V0ICFkZWZhdWx0O1xuJHN3aXRjaC1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJhc2Ugc3R5bGVzIGZvciBvdXIgc3dpdGNoIGVsZW1lbnQuXG4vL1xuLy8gJHRyYW5zaXRpb24tc3BlZWQgLSBUaW1lIGluIG1zIGZvciBzd2l0Y2ggdG8gdG9nZ2xlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLlxuLy8gJHRyYW5zaXRpb24tZWFzZSAtIEVhc2luZyBmdW5jdGlvbiB0byB1c2UgZm9yIGFuaW1hdGlvbiAoaS5lLiBlYXNlLW91dCkuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZS5cbkBtaXhpbiBzd2l0Y2gtYmFzZShcbiAgJHRyYW5zaXRpb24tc3BlZWQ6JHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZCxcbiAgJHRyYW5zaXRpb24tZWFzZTokc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UpIHtcblxuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtYm90dG9tLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIERlZmF1bHQgbGFiZWwgc3R5bGVzIGZvciB0eXBlIGFuZCB0cmFuc2l0aW9uXG4gIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJnO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRzd2l0Y2gtaGVpZ2h0LW1lZCAvIDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkICogMjsgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQ7XG5cbiAgICAvLyBUcmFuc2l0aW9uIGZvciB0aGUgc3dpdGNoIGxhYmVsIHRvIGZvbGxvdyBwYWRkbGVcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihsZWZ0LCAkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XG4gIH1cblxuICAvLyBTbyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gcmVjcmVhdGUgdGhlIGZvcm0gd2l0aCBhbnkgSlMsIHdlIHVzZSB0aGVcbiAgLy8gZXhpc3RpbmcgY2hlY2tib3ggb3IgcmFkaW8gYnV0dG9uLCBidXQgd2UgY2xldmVybHkgcG9zaXRpb24gYW5kIGhpZGUgaXQuXG4gIGlucHV0IHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzowO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDlweDtcblxuICAgICYgKyBsYWJlbCB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgZm9yIHRoZSBzd2l0Y2ggaXMgY3JlYXRlZCBmcm9tIGFuIGFmdGVyIHBzdWVkb2NsYXNzXG4gIC8vIGNvbnRlbnQgZWxlbWVudC4gVGhpcyBpcyBzaXplZCBhbmQgcG9zaXRpb25lZCwgYW5kIHJlYWN0cyB0b1xuICAvLyB0aGUgc3RhdGUgb2YgdGhlIGlucHV0LlxuXG4gIGxhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iZztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkIC0gLjVyZW07XG4gICAgbGVmdDogLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC4yNXJlbTtcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkIC0gLjVyZW07XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi1zcGVlZCAkdHJhbnNpdGlvbi1lYXNlO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1hY3RpdmUtY29sb3I7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCArIC4yNXJlbTtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIHNpemUgc3R5bGVzIGZvciBzd2l0Y2hlcy5cbi8vXG4vLyAkaGVpZ2h0IC0gSGVpZ2h0IChpbiBweCkgb2YgdGhlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1oZWlnaHQtbWVkLlxuLy8gJGZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBvZiB0ZXh0IGluIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1mb250LXNpemUtbWVkLlxuLy8gJGxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgb2Ygc3dpdGNoLiBEZWZhdWx0OiAyLjNyZW0uXG5AbWl4aW4gc3dpdGNoLXNpemUoJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkKSB7XG5cbiAgbGFiZWwge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB3aWR0aDogJGhlaWdodCAqIDI7XG4gIH1cblxuICBsYWJlbDphZnRlciB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gLjVyZW07XG4gICAgd2lkdGg6ICRoZWlnaHQgLSAuNXJlbTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbGVmdDogJGhlaWdodCArIC4yNXJlbTtcbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBjb2xvciBhbmQgb3RoZXIgZmFuY2luZXNzIHRvIHRoZSBzd2l0Y2hlcy5cbi8vXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cbi8vICRhY3RpdmUtY29sb3IgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBvc2l0aXZlIHNpZGUgb2Ygc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLXBvc2l0aXZlLWNvbG9yLlxuLy8gJG5lZ2F0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBuZWdhdGl2ZSBzaWRlIG9mIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1uZWdhdGl2ZS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZXM/IERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gc3dpdGNoLXN0eWxlKFxuICAkcGFkZGxlLWJnOiRzd2l0Y2gtcGFkZGxlLWJnLFxuICAkYWN0aXZlLWNvbG9yOiRzd2l0Y2gtYWN0aXZlLWNvbG9yLFxuICAkcmFkaXVzOmZhbHNlLFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcblxuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmc7XG4gICAgfVxuXG4gICAgbGFiZWw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHBhZGRsZS1iZztcbiAgICB9XG5cbiAgICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBTZXR0aW5nIHVwIHRoZSByYWRpdXMgZm9yIHN3aXRjaGVzXG4gIEBpZiAkcmFkaXVzID09IHRydWUge1xuICAgIGxhYmVsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgfVxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyYWRpdXMge1xuICAgIGxhYmVsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgfVxuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgc3dpdGNoZXMgd2l0aCBhIHNpbmdsZSBtaXhpblxuLy9cbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cbi8vICR0cmFuc2l0aW9uLWVhc2UgLSBFYXNpbmcgZnVuY3Rpb24gdG8gdXNlIGZvciBhbmltYXRpb24gKGkuZS4gZWFzZS1vdXQpLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UuXG4vLyAkaGVpZ2h0IC0gSGVpZ2h0IChpbiBweCkgb2YgdGhlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1oZWlnaHQtbWVkLlxuLy8gJHBhZGRsZS1iZyAtIEJhY2tncm91bmQgb2Ygc3dpdGNoIHBhZGRsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtYmcuXG4vLyAkYWN0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWFjdGl2ZS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYmFzZSBzdHlsZXM/IERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gc3dpdGNoKFxuICAkdHJhbnNpdGlvbi1zcGVlZDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZCxcbiAgJHRyYW5zaXRpb24tZWFzZTogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLFxuICAkaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQsXG4gICRwYWRkbGUtYmc6ICRzd2l0Y2gtcGFkZGxlLWJnLFxuICAkYWN0aXZlLWNvbG9yOiAkc3dpdGNoLWFjdGl2ZS1jb2xvcixcbiAgJHJhZGl1czpmYWxzZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1iYXNlKCR0cmFuc2l0aW9uLXNwZWVkLCAkdHJhbnNpdGlvbi1lYXNlKTtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkaGVpZ2h0KTtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc3R5bGUoJHBhZGRsZS1iZywgJGFjdGl2ZS1jb2xvciwgJHJhZGl1cywgJGJhc2Utc3R5bGUpO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic3dpdGNoXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzIHtcbiAgICAgIC5zd2l0Y2gge1xuICAgICAgICBAaW5jbHVkZSBzd2l0Y2g7XG5cbiAgICAgICAgLy8gTGFyZ2UgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LWxyZyk7IH1cblxuICAgICAgICAvLyBTbWFsbCByYWRpbyBzd2l0Y2hlc1xuICAgICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtc21sKTsgfVxuXG4gICAgICAgIC8vIFRpbnkgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi50aW55IHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtdG55KTsgfVxuXG4gICAgICAgIC8vIEFkZCBhIHJhZGl1cyB0byB0aGUgc3dpdGNoXG4gICAgICAgICYucmFkaXVzIHtcbiAgICAgICAgICBsYWJlbCB7IEBpbmNsdWRlIHJhZGl1cyg0cHgpOyB9XG4gICAgICAgICAgbGFiZWw6YWZ0ZXIgeyBAaW5jbHVkZSByYWRpdXMoM3B4KTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFrZSB0aGUgc3dpdGNoIGNvbXBsZXRlbHkgcm91bmQsIGxpa2UgYSBwaWxsXG4gICAgICAgICYucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcbiAgICAgICAgICBsYWJlbCB7IEBpbmNsdWRlIHJhZGl1cygycmVtKTsgfVxuICAgICAgICAgIGxhYmVsOmFmdGVyIHsgQGluY2x1ZGUgcmFkaXVzKDJyZW0pOyB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3RhYmxlcy5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFibGUgYW5kIGV2ZW4gcm93c1xuJHRhYmxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZXZlbi1yb3ctYmc6ICRzbm93ICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBjZWxsIGJvcmRlciBzdHlsZVxuJHRhYmxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGhlYWQgc3R5bGVzXG4kdGFibGUtaGVhZC1iZzogJHdoaXRlLXNtb2tlICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGZvb3Qgc3R5bGVzXG4kdGFibGUtZm9vdC1iZzogJHRhYmxlLWhlYWQtYmcgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LXNpemU6ICR0YWJsZS1oZWFkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1wYWRkaW5nOiAkdGFibGUtaGVhZC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSBjYXB0aW9uXG4kdGFibGUtY2FwdGlvbi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgcm93IHBhZGRpbmcgYW5kIGZvbnQgc3R5bGVzXG4kdGFibGUtcm93LXBhZGRpbmc6IHJlbS1jYWxjKDkgMTApICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiR0YWJsZS1saW5lLWhlaWdodDogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBhcmUgZm9yIGNvbnRyb2xsaW5nIHRoZSBsYXlvdXQsIGRpc3BsYXkgYW5kIG1hcmdpbiBvZiB0YWJsZXNcbiR0YWJsZS1sYXlvdXQ6IGF1dG8gIWRlZmF1bHQ7XG4kdGFibGUtZGlzcGxheTogdGFibGUtY2VsbCAhZGVmYXVsdDtcbiR0YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiB0YWJsZSB7XG4gIGJhY2tncm91bmQ6ICR0YWJsZS1iZztcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXN0eWxlICR0YWJsZS1ib3JkZXItc2l6ZSAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICBtYXJnaW4tYm90dG9tOiAkdGFibGUtbWFyZ2luLWJvdHRvbTtcbiAgdGFibGUtbGF5b3V0OiAkdGFibGUtbGF5b3V0O1xuXG4gIGNhcHRpb24ge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1jYXB0aW9uLWJnO1xuICAgIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1mb250LWNvbG9yO1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6ICR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIHdlaWdodDogJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJnO1xuXG4gICAgdHIge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICR0YWJsZS1oZWFkLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtaGVhZC1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iZztcblxuICAgIHRyIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtZm9vdC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtZm9vdC1mb250LXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWZvb3QtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ciB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgY29sb3I6ICR0YWJsZS1yb3ctZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLXJvdy1mb250LXNpemU7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcm93LXBhZGRpbmc7XG4gICAgICB0ZXh0LWFsaWduOiAkZGVmYXVsdC1mbG9hdDtcbiAgICB9XG5cbiAgICAmLmV2ZW4sXG4gICAgJi5hbHQsXG4gICAgJjpudGgtb2YtdHlwZShldmVuKSB7IGJhY2tncm91bmQ6ICR0YWJsZS1ldmVuLXJvdy1iZzsgfVxuICB9XG5cbiAgdGhlYWQgdHIgdGgsXG4gIHRmb290IHRyIHRoLFxuICB0Zm9vdCB0ciB0ZCxcbiAgdGJvZHkgdHIgdGgsXG4gIHRib2R5IHRyIHRkLFxuICB0ciB0ZCB7IGRpc3BsYXk6ICR0YWJsZS1kaXNwbGF5OyBsaW5lLWhlaWdodDogJHRhYmxlLWxpbmUtaGVpZ2h0OyB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYmxlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlcyB7XG4gICAgdGFibGUge1xuICAgICAgQGluY2x1ZGUgdGFibGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZ3JpZCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXIgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTYlKSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvciAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuJHRhYnMtY29udGVudC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XG4kdGFicy1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKSAhZGVmYXVsdDtcblxuJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tOiAxLjI1cmVtICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBleHBvcnRzKFwidGFiXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzIHtcbiAgICAudGFicyB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICBkZCxcbiAgICAgIC50YWItdGl0bGUge1xuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU7XG4gICAgICAgICAgcGFkZGluZzogJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZyAqIDI7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBkZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnRhYjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBkZCxcbiAgICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmcgMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYuY29udGFpbmVkIHtcbiAgICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgID4gLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRhYnMtY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgLnRhYnMge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1heC13aWR0aDogMjAlO1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRhYnMtY29udGVudCB7XG4gICAgICAgICYudmVydGljYWwge1xuICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC0xcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMXJlbTtcbiAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vLWpzIHtcbiAgICAgIC50YWJzLWNvbnRlbnQgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfdGh1bWJzLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbHMuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4kdGh1bWItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiR0aHVtYi1ib3JkZXItd2lkdGg6IDRweCAhZGVmYXVsdDtcbiR0aHVtYi1ib3JkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0aHVtYi1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xuJHRodW1iLWJveC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsMC41KSAhZGVmYXVsdDtcblxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcbiR0aHVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHRodW1iLXRyYW5zaXRpb24tc3BlZWQ6IDIwMG1zICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGltYWdlIHRodW1ibmFpbCBzdHlsZXMuXG4vL1xuLy8gJGJvcmRlci13aWR0aCAtIFdpZHRoIG9mIGJvcmRlciBhcm91bmQgdGh1bWJuYWlsLiBEZWZhdWx0OiAkdGh1bWItYm9yZGVyLXdpZHRoLlxuLy8gJGJveC1zaGFkb3cgLSBCb3ggc2hhZG93IHRvIGFwcGx5IHRvIHRodW1ibmFpbC4gRGVmYXVsdDogJHRodW1iLWJveC1zaGFkb3cuXG4vLyAkYm94LXNoYWRvdy1ob3ZlciAtIEJveCBzaGFkb3cgdG8gYXBwbHkgb24gaG92ZXIuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LWhvdmVyLlxuQG1peGluIHRodW1iKFxuICAkYm9yZGVyLXdpZHRoOiR0aHVtYi1ib3JkZXItd2lkdGgsXG4gICRib3gtc2hhZG93OiR0aHVtYi1ib3gtc2hhZG93LFxuICAkYm94LXNoYWRvdy1ob3ZlcjokdGh1bWItYm94LXNoYWRvdy1ob3Zlcikge1xuICBib3JkZXI6ICR0aHVtYi1ib3JkZXItc3R5bGUgJGJvcmRlci13aWR0aCAkdGh1bWItYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWhvdmVyO1xuICB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRodW1iXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG5cbiAgICAvKiBJbWFnZSBUaHVtYm5haWxzICovXG4gICAgLnRoIHtcbiAgICAgIEBpbmNsdWRlIHRodW1iO1xuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYWxsLCAkdGh1bWItdHJhbnNpdGlvbi1zcGVlZCwgZWFzZS1vdXQpO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkdGh1bWItcmFkaXVzKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIFRvb2x0aXAgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkaXJvbiAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyOiBkb3R0ZWQgMXB4IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNTUlKSAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGhhcy10aXAtY3Vyc29yLXR5cGU6IGhlbHAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjogJG1vbnNvb24gIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemUtc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtcm91bmRlZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuJHRvb2x0aXAtcGlwLXNpemU6IDVweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0b29sdGlwXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdG9vbHRpcC1jbGFzc2VzIHtcblxuICAgIC8qIFRvb2x0aXBzICovXG4gICAgLmhhcy10aXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3ItdHlwZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyO1xuICAgICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgIH1cblxuICAgICAgJi50aXAtbGVmdCxcbiAgICAgICYudGlwLXJpZ2h0IHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIH1cblxuICAgIC50b29sdGlwIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJnO1xuICAgICAgY29sb3I6ICR0b29sdGlwLWZvbnQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJHRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwMDY7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuXG4gICAgICA+IC5udWIge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IHNvbGlkICR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkdG9vbHRpcC1waXAtc2l6ZTtcblxuICAgICAgICAmLnJ0bCB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkdG9vbHRpcC1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgJi5yb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygkdG9vbHRpcC1yb3VuZGVkKTtcbiAgICAgICAgPiAubnViIHtcbiAgICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbmVkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YXAtdG8tY2xvc2Uge1xuICAgICAgY29sb3I6ICR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtY2xvc2UtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbH0ge1xuICAgICAgLnRvb2x0aXAge1xuICAgICAgICA+IC5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgIH1cbiAgICAgICAgJi50aXAtdG9wPi5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm90dG9tOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50aXAtbGVmdCxcbiAgICAgICAgJi50aXAtcmlnaHQgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgJi50aXAtbGVmdD4ubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICAgIHJpZ2h0OiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgJi50aXAtcmlnaHQ+Lm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBsZWZ0OiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5AaW1wb3J0ICdmb3Jtcyc7XG5cbi8vXG4vLyBUb3AgQmFyIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXG4kdG9wYmFyLWJnLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1iZzogJHRvcGJhci1iZy1jb2xvciAhZGVmYXVsdDtcblxuLy8gSGVpZ2h0IGFuZCBtYXJnaW5cbiR0b3BiYXItaGVpZ2h0OiByZW0tY2FsYyg0NSkgIWRlZmF1bHQ7XG4kdG9wYmFyLW1hcmdpbi1ib3R0b206IDAgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xsaW5nIHRoZSBzdHlsZXMgZm9yIHRoZSB0aXRsZSBpbiB0aGUgdG9wIGJhclxuJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcbiR0b3BiYXItbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWhvdmVyLWxpZ2h0bmVzczogLTEwJSAhZGVmYXVsdDsgLy8gRGFya2VuIGJ5IDEwJVxuJHRvcGJhci1saW5rLWJnOiAkdG9wYmFyLWJnICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWhvdmVyOiAkamV0ICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyOiAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstcGFkZGluZzogKCR0b3BiYXItaGVpZ2h0IC8gMykgIWRlZmF1bHQ7XG4kdG9wYmFyLWJhY2stbGluay1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHRvcGJhci1idXR0b24tZm9udC1zaXplOiAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9wYmFyLWJ1dHRvbi10b3A6IDdweCAhZGVmYXVsdDtcblxuLy8gU3R5bGUgdGhlIHRvcCBiYXIgZHJvcGRvd24gZWxlbWVudHNcbiR0b3BiYXItZHJvcGRvd24tYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyOiAkamV0ICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemU6IDVweCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYTogLjQgIWRlZmF1bHQ7XG5cbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbCAhZGVmYXVsdDtcblxuLy8gVG9wIG1lbnUgaWNvbiBzdHlsZXNcbiR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbjogJG9wcG9zaXRlLWRpcmVjdGlvbiAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvICRkZWZhdWx0LWZsb2F0IGZvciBhIGxlZnQgbWVudSBpY29uXG5cbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xuJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcbi8vIFVzaW5nIHJlbS1jYWxjIGZvciB0aGUgYmVsb3cgYnJlYWtwb2ludCBjYXVzZXMgaXNzdWVzIHdpdGggdG9wIGJhclxuJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcbiR0b3BiYXItbWVkaWEtcXVlcnk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR0b3BiYXItYnJlYWtwb2ludCl9KVwiO1xuXG4vLyBUb3AtYmFyIGlucHV0IHN0eWxlc1xuJHRvcGJhci1pbnB1dC1oZWlnaHQ6IHJlbS1jYWxjKDI4KSAhZGVmYXVsdDtcblxuLy8gRGl2aWRlciBTdHlsZXNcbiR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogMTMlKSAhZGVmYXVsdDtcbiR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUwJSkgIWRlZmF1bHQ7XG5cbi8vIFN0aWNreSBDbGFzc1xuJHRvcGJhci1zdGlja3ktY2xhc3M6IFwiLnN0aWNreVwiICFkZWZhdWx0O1xuJHRvcGJhci1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cbiR0b3BiYXItZHJvcGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0OyAvL1NldCBmYWxzZSB0byByZW1vdmUgdGhlIFxcMDBiYiA+PiB0ZXh0IGZyb20gZHJvcGRvd24gc3VibmF2aWdhdGlvbiBsaVxuXG4vLyBBY2Nlc3NpYmlsaXR5IG1peGlucyBmb3IgaGlkaW5nIGFuZCBzaG93aW5nIHRoZSBtZW51IGRyb3Bkb3duIGl0ZW1zXG5AbWl4aW4gdG9wYmFyLWhpZGUtZHJvcGRvd24ge1xuICAvLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiBieSBkZWZhdWx0LCBidXQgdmlzaWJsZSB3aGVuIGZvY3VzZWQuXG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlKCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWl4aW4gdG9wYmFyLXNob3ctZHJvcGRvd24ge1xuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmYoKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyAvLyBSZXNldCB0aGUgcG9zaXRpb24gZnJvbSBzdGF0aWMgdG8gYWJzb2x1dGVcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRvcC1iYXJcIikge1xuXG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlcyB7XG5cbiAgICAvLyBVc2VkIHRvIHByb3ZpZGUgbWVkaWEgcXVlcnkgdmFsdWVzIGZvciBqYXZhc2NyaXB0IGNvbXBvbmVudHMuXG4gICAgLy8gVGhpcyBjbGFzcyBpcyBnZW5lcmF0ZWQgZGVzcGl0ZSB0aGUgdmFsdWUgb2YgJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXNcbiAgICAvLyB0byBlbnN1cmUgd2lkdGggY2FsY3VsYXRpb25zIHdvcmsgY29ycmVjdGx5LlxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS10b3BiYXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkdG9wYmFyLW1lZGlhLXF1ZXJ5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6ICR0b3BiYXItYnJlYWtwb2ludDtcbiAgICB9XG5cbiAgICAvKiBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBjb250YWluIHRvIGdyaWQgd2lkdGggKi9cbiAgICAuY29udGFpbi10by1ncmlkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcblxuICAgICAgLnRvcC1iYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gbWFrZSBpdCBzdGljayB0byB0aGUgdG9wXG4gICAgLmZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgJi5leHBhbmRlZDpub3QoLnRvcC1iYXIpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5zdXJlIHlvdSBjYW4gc2Nyb2xsIHRoZSBtZW51IG9uIHNtYWxsIHNjcmVlbnNcbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgei1pbmRleDogOTg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIFRvcGJhciBHbG9iYWwgbGlzdCBTdHlsZXNcbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgZm9ybSxcbiAgICAgIGlucHV0LCBcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0LCBcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1idXR0b24tZm9udC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uLCBidXR0b24ge1xuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbSArIHJlbS1jYWxjKDEpO1xuICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtICsgcmVtLWNhbGMoMSk7XG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gdG9wOiAtMXB4O1xuXG4gICAgICAgIC8vIENvcnJlY3RzIGEgc2xpZ2h0IG1pc2FsaWdubWVudCB3aGVuIHB1dCBuZXh0IHRvIGFuIGlucHV0IGZpZWxkXG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaXRsZSBBcmVhXG4gICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xuICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIHAsIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItdGl0bGUtd2VpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE1lbnUgdG9nZ2xlIGJ1dHRvbiBvbiBzbWFsbCBkZXZpY2VzXG4gICAgICAudG9nZ2xlLXRvcGJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgI3skdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbn06IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1tZW51LWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLW1lbnUtbGluay13ZWlnaHQ7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZGluZyB0aGUgY2xhc3MgXCJtZW51LWljb25cIiB3aWxsIGFkZCB0aGUgMy1saW5lIGljb24gcGVvcGxlIGxvdmUgYW5kIGFkb3JlLlxuICAgICAgICAmLm1lbnUtaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigxNnB4LCBmYWxzZSwgMCwgMXB4LCA2cHgsICR0b3BiYXItbWVudS1pY29uLWNvbG9yLCBcIlwiLCBmYWxzZSk7XG5cbiAgICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC01OHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbWVudS1saW5rLWNvbG9yO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nK3JlbS1jYWxjKDI1KSAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBDaGFuZ2UgdGhpbmdzIHVwIHdoZW4gdGhlIHRvcC1iYXIgaXMgZXhwYW5kZWRcbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIC50aXRsZS1hcmVhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbWVudS1saW5rLWNvbG9yLXRvZ2dsZWQ7XG5cbiAgICAgICAgICAgIHNwYW46OmFmdGVyIHtcbiAgICAgICAgICAgICAgLy8gU2hoLCBkb24ndCB0ZWxsLCBidXQgYm94LXNoYWRvd3MgY3JlYXRlIHRoZSBtZW51IGljb24gOilcbiAgICAgICAgICAgICAgLy8gQ2hhbmdlIHRoZSBjb2xvciBvZiB0aGUgYmFycyB3aGVuIHRoZSBtZW51IGlzIGV4cGFuZGVkLCB1c2luZyBnaXZlbiB0aGlja25lc3MgZnJvbSBoYW1idXJnZXIoKSBhYm92ZVxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCA3cHggMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAxNHB4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRml4ZXMgYW4gaXNzdWUgd2l0aCBEZXNrdG9wIGFuZCBNb2JpbGUgU2FmYXJpIHdoZXJlIGRlZXBseS1uZXN0ZWQgbWVudXMgZG9uJ3QgYXBwZWFyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICAgICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICAgICAgLmhhcy1kcm9wZG93bi5tb3ZlZCA+IC5kcm9wZG93bixcbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIGNsaXA6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRoaXMgd2FzIG5lZWRlZCBhcyBwYXJlbnQgdWwncyBoYWQgcGFkZGluZywgYW5kIHRoZSBjbGlwOiB3YXMgYWxsb3dpbmcgY29udGVudCB0byBwZWFrIHRocm91Z2hcbiAgICAgICAgICAgIC5oYXMtZHJvcGRvd246bm90KC5tb3ZlZCkgPiB1bCB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmlnaHQgYW5kIExlZnQgTmF2aWdhdGlvbiB0aGF0IHN0YWNrZWQgYnkgZGVmYXVsdFxuICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKCRkZWZhdWx0LWZsb2F0LCAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQpO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZGl2aWRlcixcbiAgICAgIFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIHVsIGxpIHtcbiAgICAgICAgXG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdG9wYmFyLWxpbmstZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWxpbmstd2VpZ2h0O1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLWxpbmstdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmJ1dHRvbi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHRoZSBob3ZlciBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgJjpob3Zlcjpub3QoLmhhcy1mb3JtKSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuXG4gICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSB0aGUgYWN0aXZlIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQWRkIHNvbWUgZXh0cmEgcGFkZGluZyBmb3IgbGlzdCBpdGVtcyBjb250YWlucyBidXR0b25zXG4gICAgICAuaGFzLWZvcm0ge1xuICAgICAgICBwYWRkaW5nOiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgLy8gU3R5bGluZyBmb3IgbGlzdCBpdGVtcyB0aGF0IGhhdmUgYSBkcm9wZG93biB3aXRoaW4gdGhlbS5cbiAgICAgIC5oYXMtZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpZiAoJHRvcGJhci1hcnJvd3MpIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgJGRlZmF1bHQtZmxvYXQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUgLyAyKSAtIDI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tb3ZlZCB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gU3R5bGluZyBlbGVtZW50cyBpbnNpZGUgb2YgZHJvcGRvd25zXG4gICAgICAuZHJvcGRvd24ge1xuICAgICAgICBAaW5jbHVkZSB0b3BiYXItaGlkZS1kcm9wZG93bigpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstd2VpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgJi5wYXJlbnQtbGluayB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWxpbmstd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYudGl0bGUgaDUsXG4gICAgICAgICAgJi5wYXJlbnQtbGluayB7XG4gICAgICAgICAgICAvLyBCYWNrIEJ1dHRvblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYmFjay1saW5rLXNpemU7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgLy8gbGluZS1oZWlnaHQ6ICgkdG9wYmFyLWhlaWdodCAvIDIpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgJjpob3ZlciB7IGJhY2tncm91bmQ6bm9uZTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaGFzLWZvcm0ge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idXR0b24sXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZyAycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4gICAgLy8gVG9wIEJhciBzdHlsZXMgaW50ZW5kZWQgZm9yIHNjcmVlbiBzaXplcyBhYm92ZSB0aGUgYnJlYWtwb2ludC5cbiAgICBAbWVkaWEgI3skdG9wYmFyLW1lZGlhLXF1ZXJ5fSB7XG4gICAgICAudG9wLWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAudG9nZ2xlLXRvcGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAudGl0bGUtYXJlYSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgICAgICAubmFtZSBoMSBhLFxuICAgICAgICAubmFtZSBoMiBhLFxuICAgICAgICAubmFtZSBoMyBhLFxuICAgICAgICAubmFtZSBoNCBhLFxuICAgICAgICAubmFtZSBoNSBhLFxuICAgICAgICAubmFtZSBoNiBhIHsgd2lkdGg6IGF1dG87IH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgc2VsZWN0LFxuICAgICAgICAuYnV0dG9uLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogKCgkdG9wYmFyLWhlaWdodCAtICR0b3BiYXItaW5wdXQtaGVpZ2h0KSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGFpbi10by1ncmlkIC50b3AtYmFyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obm9uZSwwLDApO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZTpub3QoLmhhcy1mb3JtKSB7XG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICBAaWYgJHRvcGJhci1hcnJvd3Mge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZyArICR0b3BiYXItbGluay1kcm9wZG93bi1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplLCByZ2JhKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yLCAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYSksIHRvcCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplIC8gMik7XG4gICAgICAgICAgICAgICAgdG9wOiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYubW92ZWQgeyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1oaWRlLWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5ob3ZlciwgJi5ub3QtY2xpY2s6aG92ZXIge1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kcm9wZG93biBsaS5oYXMtZHJvcGRvd24ge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWRyb3Bkb3duLWFycm93cykge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXDAwYmJcIjtcbiAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMyk7XG5cbiAgICAgICAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICB0b3A6IGF1dG87XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnO1xuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5oYXMtZm9ybSk6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1saW5rLWJnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmhvdmVyID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIEBpZiAoJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZztcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2Vjb25kIExldmVsIERyb3Bkb3duc1xuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsID4gLmRpdmlkZXIsXG4gICAgICAgID4gdWwgPiBbcm9sZT1cInNlcGFyYXRvclwiXSB7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1mb3JtIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmc7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb24gb3ZlcnJpZGVzIGZvciB1bC5yaWdodCBhbmQgdWwubGVmdFxuICAgICAgICAuI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSB7XG4gICAgICAgICAgbGkgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcblxuICAgICAgICAgICAgbGkgLmRyb3Bkb3duIHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuI3skZGVmYXVsdC1mbG9hdH0ge1xuICAgICAgICAgIGxpIC5kcm9wZG93biB7XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xuICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICAgICAgICAgIGxpIC5kcm9wZG93biB7ICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIERlZ3JhZGUgZ3JhY2VmdWxseSB3aGVuIEphdmFzY3JpcHQgaXMgZGlzYWJsZWQuIERpc3BsYXlzIGRyb3Bkb3duIGFuZCBjaGFuZ2VzXG4gICAgICAvLyBiYWNrZ3JvdW5kICYgdGV4dCBjb2xvciBvbiBob3Zlci5cbiAgICAgIC5uby1qcyAudG9wLWJhci1zZWN0aW9uIHtcbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgIC8vIEFwcGx5IHRoZSBob3ZlciBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgICAmOmhvdmVyID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XG4gICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEFwcGx5IHRoZSBhY3RpdmUgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXG4gICAgICAgICAgJjphY3RpdmUgPiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6Zm9jdXMgKyAuZHJvcGRvd24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbiRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHN0eWxlc1xuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcbiRoMS1mb250LXNpemU6IHJlbS1jYWxjKDQ0KSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDM3KSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDI3KSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IHJlbS1jYWxjKDIzKSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBzaXplIHJlZHVjdGlvbiBvbiBzbWFsbCBzY3JlZW5zXG4kaDEtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRoMi1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRoNC1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kaDUtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG4kaDYtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgaG93IHN1YmhlYWRlcnMgYXJlIHN0eWxlZC5cbiRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4kc21hbGwtZm9udC1zaXplOiA2MCUgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzUgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXG4kY29kZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA3MCUpICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjb2RlLWJhY2tncm91bmQtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMikgcmVtLWNhbGMoNSkgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuJGFuY2hvci1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcbiRoci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRoci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGhyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxpc3RzXG4kbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsaXN0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGlzdC1saW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMXJlbSAhZGVmYXVsdDtcbiRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW46IDEuNHJlbSAhZGVmYXVsdDtcbiRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDogMCAhZGVmYXVsdDtcbiRsaXN0LW5lc3RlZC1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcblxuLy8gQWNyb255bSBzdHlsZXNcbiRhY3JvbnltLXVuZGVybGluZTogMXB4IGRvdHRlZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBwYWRkaW5nIGFuZCBtYXJnaW5cbiRtaWNyb2Zvcm1hdC1wYWRkaW5nOiByZW0tY2FsYygxMCAxMikgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtbWFyZ2luOiByZW0tY2FsYygwIDAgMjAgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4kbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGZ1bGwgbmFtZSBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xuJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIGZvbnQgc3R5bGVzXG4kbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIFRleHQgYWxpZ25tZW50IGNsYXNzIG5hbWVzXG4kYWxpZ24tY2xhc3MtbmFtZXM6XG4gIHNtYWxsLW9ubHksXG4gIHNtYWxsLFxuICBtZWRpdW0tb25seSxcbiAgbWVkaXVtLFxuICBsYXJnZS1vbmx5LFxuICBsYXJnZSxcbiAgeGxhcmdlLW9ubHksXG4gIHhsYXJnZSxcbiAgeHhsYXJnZS1vbmx5LFxuICB4eGxhcmdlO1xuXG4vLyBUZXh0IGFsaWdubWVudCBicmVha3BvaW50c1xuJGFsaWduLWNsYXNzLWJyZWFrcG9pbnRzOlxuICAkc21hbGwtb25seSxcbiAgJHNtYWxsLXVwLFxuICAkbWVkaXVtLW9ubHksXG4gICRtZWRpdW0tdXAsXG4gICRsYXJnZS1vbmx5LFxuICAkbGFyZ2UtdXAsXG4gICR4bGFyZ2Utb25seSxcbiAgJHhsYXJnZS11cCxcbiAgJHh4bGFyZ2Utb25seSxcbiAgJHh4bGFyZ2UtdXA7XG5cbi8vIEdlbmVyYXRlcyB0ZXh0IGFsaWduIGFuZCBqdXN0aWZ5IGNsYXNzZXNcbkBtaXhpbiBhbGlnbi1jbGFzc2Vze1xuICAudGV4dC1sZWZ0ICAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAudGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGFsaWduLWNsYXNzLW5hbWVzKSB7XG4gICAgQG1lZGlhICN7KG50aCgkYWxpZ24tY2xhc3MtYnJlYWtwb2ludHMsICRpKSl9IHtcbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFR5cG9ncmFwaHkgUGxhY2Vob2xkZXJzXG4vL1xuXG4vLyBUaGVzZSB3aWxsIHRocm93IGEgZGVwcmVjYXRpb24gd2FybmluZyBpZiB1c2VkIHdpdGhpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGxlYWQge1xuICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgcmVtLWNhbGMoMy41KTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuQG1peGluIHN1YmhlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHN1YmhlYWRlci1mb250LWNvbG9yO1xuICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci10b3AtbWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW47XG59XG5AaW5jbHVkZSBleHBvcnRzKFwidHlwZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlcyB7XG4gICAgLy8gUmVzcG9uc2l2ZSBUZXh0IGFsaWdubWVudFxuICAgIEBpbmNsdWRlIGFsaWduLWNsYXNzZXM7XG5cbiAgICAvKiBUeXBvZ3JhcGh5IHJlc2V0cyAqL1xuICAgIGRpdixcbiAgICBkbCxcbiAgICBkdCxcbiAgICBkZCxcbiAgICB1bCxcbiAgICBvbCxcbiAgICBsaSxcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICBwcmUsXG4gICAgZm9ybSxcbiAgICBwLFxuICAgIGJsb2NrcXVvdGUsXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBMaW5rIFN0eWxlcyAqL1xuICAgIGEge1xuICAgICAgY29sb3I6ICRhbmNob3ItZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICBcdHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHsgYm9yZGVyOm5vbmU7IH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IHBhcmFncmFwaCBzdHlsZXMgKi9cbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcblxuICAgICAgJi5sZWFkIHsgQGluY2x1ZGUgbGVhZDsgfVxuXG4gICAgICAmIGFzaWRlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1zdHlsZTogJHBhcmFncmFwaC1hc2lkZS1mb250LXN0eWxlO1xuICAgICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi9cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLWZvbnQtY29sb3I7XG4gICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLWJvdHRvbS1tYXJnaW47XG4gICAgICBtYXJnaW4tdG9wOiAkaGVhZGVyLXRvcC1tYXJnaW47XG4gICAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgICAgc21hbGwge1xuICAgICAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemUgLSAkaDEtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZSAtICRoMi1mb250LXJlZHVjdGlvbjsgfVxuICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplIC0gJGgzLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemUgLSAkaDQtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZSAtICRoNS1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplIC0gJGg2LWZvbnQtcmVkdWN0aW9uOyB9XG5cbiAgICAuc3ViaGVhZGVyIHsgQGluY2x1ZGUgc3ViaGVhZGVyOyB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXI6ICRoci1ib3JkZXItc3R5bGUgJGhyLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogJGhyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogJGhyLW1hcmdpbiAwICgkaHItbWFyZ2luIC0gcmVtLWNhbGMoJGhyLWJvcmRlci13aWR0aCkpO1xuICAgIH1cblxuICAgIC8qIEhlbHBmdWwgVHlwb2dyYXBoeSBEZWZhdWx0cyAqL1xuICAgIGVtLFxuICAgIGkge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgc3Ryb25nLFxuICAgIGIge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29kZS1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItc3R5bGU6ICRjb2RlLWJvcmRlci1zdHlsZTtcbiAgICAgIGJvcmRlci13aWR0aDogJGNvZGUtYm9yZGVyLXNpemU7XG4gICAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8qIExpc3RzICovXG4gICAgdWwsXG4gICAgb2wsXG4gICAgZGwge1xuICAgICAgZm9udC1mYW1pbHk6ICRsaXN0LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkbGlzdC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZS1oZWlnaHQ7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICAgICYubm8tYnVsbGV0IHtcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICB1bCxcbiAgICAgICAgICBvbCB7XG4gICAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW5lc3RlZC1tYXJnaW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBVbm9yZGVyZWQgTGlzdHMgKi9cbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc3F1YXJlLFxuICAgICAgJi5jaXJjbGUsXG4gICAgICAmLmRpc2Mge1xuICAgICAgICBsaSB1bCB7IGxpc3Qtc3R5bGU6IGluaGVyaXQ7IH1cbiAgICAgIH1cblxuICAgICAgJi5zcXVhcmUgeyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgICAmLmNpcmNsZSB7IGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cbiAgICAgICYuZGlzYyB7IGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgICAmLm5vLWJ1bGxldCB7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAvKiBPcmRlcmVkIExpc3RzICovXG4gICAgb2wge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luO1xuICAgICAgbGkge1xuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVmaW5pdGlvbiBMaXN0cyAqL1xuICAgIGRsIHtcbiAgICAgIGR0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDtcbiAgICAgIH1cbiAgICAgIGRkIHsgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOyB9XG4gICAgfVxuXG4gICAgLyogQWJicmV2aWF0aW9ucyAqL1xuICAgIGFiYnIsXG4gICAgYWNyb255bSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1oZWxwLXZhbHVlO1xuICAgIH1cbiAgICBhYmJyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgJlt0aXRsZV0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYWNyb255bS11bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogTWljcm9mb3JtYXRzICovXG4gICAgLnZjYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogJG1pY3JvZm9ybWF0LW1hcmdpbjtcbiAgICAgIGJvcmRlcjogJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aCAkbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I7XG4gICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtcGFkZGluZztcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52ZXZlbnQge1xuICAgICAgLnN1bW1hcnkgeyBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ7IH1cblxuICAgICAgYWJiciB7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7IH1cbiAgICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XG4gICAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxuICAgICAgaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemU7IH1cbiAgICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XG4gICAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxuICAgICAgaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemU7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICd0eXBlJztcblxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIFZhcmlhYmxlc1xuJGluY2x1ZGUtaHRtbC1vZmYtY2FudmFzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJHRhYmJhci1iZzogJG9pbCAhZGVmYXVsdDtcbiR0YWJiYXItaGVpZ2h0OiByZW0tY2FsYyg0NSkgIWRlZmF1bHQ7XG4kdGFiYmFyLWljb24td2lkdGg6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFiYmFyLW1pZGRsZS1wYWRkaW5nOiAwIHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBEaXZpZGVyIFN0eWxlc1xuJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTUwJSkgIWRlZmF1bHQ7XG4kdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XG5cblxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIEhlYWRlcnNcbiR0YWJiYXItaGVhZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1oZWFkZXItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgVmFyaWFibGVzXG4kb2ZmLWNhbnZhcy13aWR0aDogcmVtLWNhbGMoMjUwKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJnOiAkb2lsICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmctYWN0aXZlOiBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IExpc3QgVmFyaWFibGVzXG4kb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nOiAuM3JlbSByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtYmc6ICR0dWF0YXJhICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTogbm9uZSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjowICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGluay1wYWRkaW5nOiByZW0tY2FsYygxMCwgMTUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGluay1jb2xvcjogcmdiYSgkd2hpdGUsIC43KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJnLCAkbGlnaHRuZXNzOiAtMjUlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2stYmc6ICM0NDQgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A6ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3AgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b20gIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJnOiBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1iYWNrLWJnLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tOiBub25lICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgSWNvbiBWYXJpYWJsZXNcbiR0YWJiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi1ob3Zlcjogc2NhbGUtY29sb3IoJHRhYmJhci1tZW51LWljb24tY29sb3IsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuXG4kdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDogcmVtLWNhbGMoMzUpICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24td2lkdGg6ICR0YWJiYXItaWNvbi13aWR0aCAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi10b3A6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3M6IDFweCAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwOiA2cHggIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgQmFjay1MaW5rIE92ZXJsYXlcbiRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgkYmxhY2ssIC41KSwgNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMikgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuXG4vLyBUcmFuc2l0aW9uIFZhcmlhYmxlc1xuJG1lbnUtc2xpZGU6IFwidHJhbnNmb3JtIDUwMG1zIGVhc2VcIiAhZGVmYXVsdDtcblxuXG4vLyBNSVhJTlNcbi8vIFJlbW92ZSB0cmFuc2l0aW9uIGZsaWNrZXIgb24gcGhvbmVzXG5AbWl4aW4ga2lsbC1mbGlja2VyIHtcbiAgLy8gLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHgpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gQmFzaWMgcHJvcGVydGllcyBmb3IgdGhlIGNvbnRlbnQgd3JhcHNcbkBtaXhpbiB3cmFwLWJhc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkdHgsICR0eSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eilcbn1cblxuLy8gYmFzaWMgc3R5bGVzIGZvciBvZmYtY2FudmFzIG1lbnUgY29udGFpbmVyXG5AbWl4aW4gb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gICogeyBAaW5jbHVkZSBraWxsLWZsaWNrZXI7IH1cbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmc7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlIDBzO1xuICB3aWR0aDogJG9mZi1jYW52YXMtd2lkdGg7XG4gIHotaW5kZXg6IDEwMDE7XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5cbi8vIE9GRiBDQU5WQVMgV1JBUFxuLy8gV3JhcCB2aXNpYmxlIGNvbnRlbnQgYW5kIHByZXZlbnQgc2Nyb2xsIGJhcnNcbkBtaXhpbiBvZmYtY2FudmFzLXdyYXAge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gIEBpbmNsdWRlIHdyYXAtYmFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJi5tb3ZlLXJpZ2h0LFxuICAmLm1vdmUtbGVmdCB7IG1pbi1oZWlnaHQ6IDEwMCU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxufVxuXG4vLyBJTk5FUiBXUkFQXG4vLyBNYWluIGNvbnRlbnQgYXJlYSB0aGF0IG1vdmVzIHRvIHJldmVhbCB0aGUgb2ZmLWNhbnZhcyBuYXZcbkBtaXhpbiBpbm5lci13cmFwIHtcbiAgLy8gQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICAvLyByZW1vdmVkIGZvciBub3cgdGlsbCBjaHJvbWUgZml4ZXMgYmFja2ZhY2UgaXNzdWVcbiAgQGluY2x1ZGUgd3JhcC1iYXNlO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LSN7JG1lbnUtc2xpZGV9O1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otI3skbWVudS1zbGlkZX07XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XG4gIC1vLXRyYW5zaXRpb246IC1vLSN7JG1lbnUtc2xpZGV9O1xuICB0cmFuc2l0aW9uOiAjeyRtZW51LXNsaWRlfTtcbn1cblxuLy8gVEFCIEJBUlxuLy8gVGhpcyBpcyB0aGUgdGFiIGJhciBiYXNlXG5AbWl4aW4gdGFiLWJhci1iYXNlIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuXG4gIC8vIGJhc2Ugc3R5bGVzXG4gIGJhY2tncm91bmQ6ICR0YWJiYXItYmc7XG4gIGNvbG9yOiAkdGFiYmFyLWNvbG9yO1xuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuICBsaW5lLWhlaWdodDogJHRhYmJhci1saW5lLWhlaWdodDtcblxuICAvLyBtYWtlIHN1cmUgaXQncyBiZWxvdyB0aGUgLmV4aXQtb2ZmLWNhbnZhcyBsaW5rXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gei1pbmRleDogOTk5O1xuXG4gIC8vIFR5cG9ncmFwaHlcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICR0YWJiYXItaGVhZGVyLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFiYmFyLWhlYWRlci13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbjogJHRhYmJhci1oZWFkZXItbWFyZ2luO1xuICB9XG4gIGgxLCBoMiwgaDMsIGg0IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XG59XG5cbi8vIFNNQUxMIFNFQ1RJT05TXG4vLyBUaGVzZSBhcmUgc21hbGwgc2VjdGlvbnMgb24gdGhlIGxlZnQgYW5kIHJpZ2h0IHRoYXQgY29udGFpbiB0aGUgb2ZmLWNhbnZhcyB0b2dnbGUgYnV0dG9ucztcbkBtaXhpbiB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb24pIHtcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkdGFiYmFyLWljb24td2lkdGg7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XG4gICAgLy8gYm94LXNoYWRvdzogMXB4IDAgMCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAxMyUpO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgYm9yZGVyLWxlZnQ6ICR0YWJiYXItcmlnaHQtc2VjdGlvbi1ib3JkZXI7XG4gICAgLy8gYm94LXNoYWRvdzogLTFweCAwIDAgc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTUwJSk7XG4gICAgcmlnaHQ6MDtcbiAgfVxufVxuXG5AbWl4aW4gdGFiLWJhci1zZWN0aW9uIHtcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbiAgcGFkZGluZzogJHRhYmJhci1taWRkbGUtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgICAmLmxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgJi5yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cblxuICAvLyBzdGlsbCBuZWVkIHRvIG1ha2UgdGhlc2Ugbm9uLXByZXNlbnRhdGlvbmFsXG4gICYubGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogJHRhYmJhci1pY29uLXdpZHRoO1xuICB9XG4gICYucmlnaHQge1xuICAgIGxlZnQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgICByaWdodDogMDtcbiAgfVxuICAmLm1pZGRsZSB7XG4gICAgbGVmdDogJHRhYmJhci1pY29uLXdpZHRoO1xuICAgIHJpZ2h0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gIH1cbn1cblxuLy8gT0ZGIENBTlZBUyBMSVNUXG4vLyBUaGlzIGlzIHRoZSBsaXN0IG9mIGxpbmtzIGluIHRoZSBvZmYtY2FudmFzIG1lbnVcbkBtaXhpbiBvZmYtY2FudmFzLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjowO1xuICBwYWRkaW5nOjA7XG5cbiAgbGkge1xuICAgIGxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWxhYmVsLWJnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTtcbiAgICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A7XG4gICAgICBjb2xvcjogJG9mZi1jYW52YXMtbGFiZWwtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogJG9mZi1jYW52YXMtbGFiZWwtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgbWFyZ2luOiAkb2ZmLWNhbnZhcy1sYWJlbC1tYXJnaW47XG4gICAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nO1xuICAgICAgdGV4dC10cmFuc2Zvcm06ICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTtcbiAgICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1saW5rLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmctaG92ZXI7XG4gICAgICB9XG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBCQUNLIExJTktcbi8vIFRoaXMgaXMgYW4gb3ZlcmxheSB0aGF0LCB3aGVuIGNsaWNrZWQsIHdpbGwgdG9nZ2xlIG9mZiB0aGUgb2ZmIGNhbnZhcyBtZW51XG5AbWl4aW4gYmFjay1saW5rIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuXG4gIGJveC1zaGFkb3c6ICRvZmYtY2FudmFzLW92ZXJsYXktYm94LXNoYWRvdztcbiAgY3Vyc29yOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjtcbiAgdHJhbnNpdGlvbjogJG9mZi1jYW52YXMtb3ZlcmxheS10cmFuc2l0aW9uO1xuXG4gIC8vIGZpbGwgdGhlIHNjcmVlblxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAyO1xuXG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIE9mZi1DYW52YXMgU3VibWVudSBDbGFzc2VzXG4vL1xuQG1peGluIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICAqIHsgQGluY2x1ZGUga2lsbC1mbGlja2VyOyB9XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmc7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6ICRvZmYtY2FudmFzLXdpZHRoO1xuICB6LWluZGV4OiAxMDAyO1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG4gICAgbGVmdDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LSN7JG1lbnUtc2xpZGV9O1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otI3skbWVudS1zbGlkZX07XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XG4gIC1vLXRyYW5zaXRpb246IC1vLSN7JG1lbnUtc2xpZGV9O1xuICB0cmFuc2l0aW9uOiAjeyRtZW51LXNsaWRlfTtcblxuICAvL2JhY2sgYnV0dG9uIHN0eWxlIGxpa2UgbGFiZWxcbiAgLmJhY2sgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iYWNrLWJnO1xuICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLWJvdHRvbTtcbiAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A7XG4gICAgY29sb3I6ICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDtcbiAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLWJvdHRvbTtcbiAgICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDtcbiAgICB9XG5cbiAgICBtYXJnaW46ICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjtcbiAgICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy9MZWZ0IGRvdWJsZSBhbmdsZSBxdW90ZSBvciBSaWdodCBkb3VibGUgYW5nbGUgcXVvdGUgY2hhcnNcbkBtaXhpbiBpY29uLWRvdWJsZS1hcnJvd3MgKCRwb3NpdGlvbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGNvbnRlbnQ6IFwiXFxBQlwiO1xuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgfVxuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGNvbnRlbnQ6IFwiXFxCQlwiO1xuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgfVxuICB9XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLy9cbi8vIERFRkFVTFQgQ0xBU1NFU1xuLy9cbkBpbmNsdWRlIGV4cG9ydHMoXCJvZmZjYW52YXNcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1vZmYtY2FudmFzLWNsYXNzZXMge1xuXG4gICAgLm9mZi1jYW52YXMtd3JhcCB7IEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcDsgfVxuICAgIC5pbm5lci13cmFwIHsgQGluY2x1ZGUgaW5uZXItd3JhcDsgfVxuXG4gICAgLnRhYi1iYXIgeyBAaW5jbHVkZSB0YWItYmFyLWJhc2U7IH1cblxuICAgIC5sZWZ0LXNtYWxsIHsgQGluY2x1ZGUgdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uOiBsZWZ0KTsgfVxuICAgIC5yaWdodC1zbWFsbCB7IEBpbmNsdWRlIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbjogcmlnaHQpOyB9XG5cbiAgICAudGFiLWJhci1zZWN0aW9uIHsgQGluY2x1ZGUgdGFiLWJhci1zZWN0aW9uOyB9XG5cbiAgICAvLyBNRU5VIEJVVFRPTlxuICAgIC8vIFRoaXMgaXMgYSBsaXR0bGUgYm9udXMuIFlvdSBkb24ndCBuZWVkIGl0IGZvciBvZmYgY2FudmFzIHRvIHdvcmsuIE1peGlucyB0byBiZSB3cml0dGVuIGluIHRoZSBmdXR1cmUuXG4gICAgLnRhYi1iYXIgLm1lbnUtaWNvbiB7XG4gICAgICBjb2xvcjogJHRhYmJhci1tZW51LWljb24tY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogJHRhYmJhci1tZW51LWljb24taGVpZ2h0O1xuICAgICAgcGFkZGluZzogJHRhYmJhci1tZW51LWljb24tcGFkZGluZztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtaW5kZW50OiAkdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgd2lkdGg6ICR0YWJiYXItbWVudS1pY29uLXdpZHRoO1xuXG4gICAgICAvLyBAaW5jbHVkZSBmb3IgdGhlIGhhbWJ1cmdlciBtZW51LWljb25cbiAgICAgIC8vXG4gICAgICAvLyBBcmd1bWVudHMgYXMgZm9sbG93czogKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yKVxuICAgICAgLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtIERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGguXG4gICAgICAvLyAkbGVmdCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbSBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ9IEZhbHNlXG4gICAgICAvLyAkdG9wIC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCB2ZXJ0aWNhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbSBEZWZhdWx0OiA9IEZhbHNlXG4gICAgICAvLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHggRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3MgPSAxcHhcbiAgICAgIC8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHggRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXAgPSA2cHhcbiAgICAgIC8vICRjb2xvciAtIGljb24gY29sb3IgRGVmYXVsdDogJHRhYmJhci1tZW51LWljb24tY29sb3JcbiAgICAgIC8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3Igd2hlbiBob3ZlcmVkIERlZmF1bHQ6ICR0YWJiYXItbWVudS1pY29uLWhvdmVyXG4gICAgICAvLyAkb2ZmY2FudmFzIC0gU2V0IHRvIHRydWVcbiAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdG9wLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzcywgJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXAsICR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkdGFiYmFyLW1lbnUtaWNvbi1ob3ZlciwgdHJ1ZSlcbiAgICB9XG5cbiAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiBsZWZ0KTsgfVxuICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiByaWdodCk7IH1cblxuICAgIHVsLm9mZi1jYW52YXMtbGlzdCB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbGlzdDsgfVxuXG5cbiAgICAvLyBBTklNQVRJT04gQ0xBU1NFU1xuICAgIC8vIFRoZXNlIGNsYXNzZXMgYXJlIGFkZGVkIHdpdGggSlMgYW5kIHRyaWdnZXIgdGhlIGFjdHVhbCBhbmltYXRpb24uXG4gICAgLm1vdmUtcmlnaHQge1xuICAgICAgPiAuaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKCRvZmYtY2FudmFzLXdpZHRoLDAsMCk7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rO31cbiAgICB9XG5cbiAgICAubW92ZS1sZWZ0IHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtKCRvZmYtY2FudmFzLXdpZHRoKSwwLDApO1xuXG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUsIC5yaWdodC1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtbGVmdCB7XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuXG4gICAgLy8gT2xkZXIgYnJvd3NlcnNcbiAgICAubm8tY3NzdHJhbnNmb3JtcyB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgeyBsZWZ0OiAtKCRvZmYtY2FudmFzLXdpZHRoKTsgfVxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7IHJpZ2h0OiAtKCRvZmYtY2FudmFzLXdpZHRoKTsgfVxuXG4gICAgICAubW92ZS1sZWZ0ID4gLmlubmVyLXdyYXAgeyByaWdodDogJG9mZi1jYW52YXMtd2lkdGg7IH1cbiAgICAgIC5tb3ZlLXJpZ2h0ID4gLmlubmVyLXdyYXAgeyBsZWZ0OiAkb2ZmLWNhbnZhcy13aWR0aDsgfVxuICAgIH1cblxuICAgIC5sZWZ0LXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICAmLm1vdmUtcmlnaHQsICYub2ZmY2FudmFzLW92ZXJsYXAtcmlnaHQsICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwJSwwLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodC1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICYubW92ZS1sZWZ0LCAmLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQsICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwJSwwLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgfVxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICB9XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBGb3VuZGF0aW9uIFZpc2liaWxpdHkgQ2xhc3Nlc1xuLy9cbiRpbmNsdWRlLWh0bWwtdmlzaWJpbGl0eS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG4kaW5jbHVkZS1hY2Nlc3NpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS10YWJsZS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuXG4vL1xuLy8gTWVkaWEgQ2xhc3MgTmFtZXNcbi8vXG4vLyBWaXNpYmlsaXR5IEJyZWFrcG9pbnRzXG4kdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzOlxuICBzbWFsbCxcbiAgbWVkaXVtLFxuICBsYXJnZSxcbiAgeGxhcmdlLFxuICB4eGxhcmdlO1xuXG4kdmlzaWJpbGl0eS1icmVha3BvaW50LXF1ZXJpZXM6XG4gIHVucXVvdGUoJHNtYWxsLXVwKSxcbiAgdW5xdW90ZSgkbWVkaXVtLXVwKSxcbiAgdW5xdW90ZSgkbGFyZ2UtdXApLFxuICB1bnF1b3RlKCR4bGFyZ2UtdXApLFxuICB1bnF1b3RlKCR4eGxhcmdlLXVwKTtcblxuQG1peGluIHZpc2liaWxpdHktbG9vcCB7XG4gIEBlYWNoICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCBpbiAkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzIHtcbiAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogKCk7XG5cbiAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiAoKTtcblxuICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogKCk7XG5cbiAgICBAZWFjaCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XG4gICAgICBAaWYgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSA8IGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCkge1xuICAgICAgICAvLyBTbWFsbGVyIHRoYW4gY3VycmVudCBicmVha3BvaW50XG5cbiAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcblxuICAgICAgICAvLyBGb3VuZGF0aW9uIDQgY29tcGF0aWJpbGl0eTpcbiAgICAgICAgLy8gSW5jbHVkZSAuc2hvdy9oaWRlLWZvci1bc2l6ZV0gYW5kIC5zaG93L2hpZGUtZm9yLVtzaXplXS1kb3duIGNsYXNzZXNcbiAgICAgICAgLy8gZm9yIHNtYWxsLCBtZWRpdW0sIGFuZCBsYXJnZSBicmVha3BvaW50cyBvbmx5XG4gICAgICAgIEBpZiAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzIGFuZCBpbmRleCgoc21hbGwsIG1lZGl1bSwgbGFyZ2UpLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpICE9IGZhbHNlIHtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24sIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgfVxuXG4gICAgICB9IEBlbHNlIGlmIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgPiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gTGFyZ2VyIHRoYW4gY3VycmVudCBicmVha3BvaW50XG5cbiAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcblxuICAgICAgICAvLyBGb3VuZGF0aW9uIDQgY29tcGF0aWJpbGl0eTpcbiAgICAgICAgLy8gSW5jbHVkZSAuc2hvdy9oaWRlLWZvci1bc2l6ZV0gYW5kIC5zaG93L2hpZGUtZm9yLVtzaXplXS1kb3duIGNsYXNzZXNcbiAgICAgICAgLy8gZm9yIHNtYWxsLCBtZWRpdW0sIGFuZCBsYXJnZSBicmVha3BvaW50cyBvbmx5XG4gICAgICAgIEBpZiAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzIGFuZCBpbmRleCgoc21hbGwsIG1lZGl1bSwgbGFyZ2UpLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpICE9IGZhbHNlIHtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgfVxuXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQ3VycmVudCBicmVha3BvaW50XG5cbiAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3Rib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcblxuICAgICAgICAvLyBGb3VuZGF0aW9uIDQgY29tcGF0aWJpbGl0eTpcbiAgICAgICAgLy8gSW5jbHVkZSAuc2hvdy9oaWRlLWZvci1bc2l6ZV0gYW5kIC5zaG93L2hpZGUtZm9yLVtzaXplXS1kb3duIGNsYXNzZXNcbiAgICAgICAgLy8gZm9yIHNtYWxsLCBtZWRpdW0sIGFuZCBsYXJnZSBicmVha3BvaW50cyBvbmx5XG4gICAgICAgIEBpZiAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzIGFuZCBpbmRleCgoc21hbGwsIG1lZGl1bSwgbGFyZ2UpLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpICE9IGZhbHNlIHtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qICN7JGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50fSBkaXNwbGF5cyAqL1xuICAgIEBtZWRpYSAje250aCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXF1ZXJpZXMsIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludCkpfSB7XG4gICAgICAjeyR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdH0ge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAjeyR2aXNpYmlsaXR5LW5vbmUtbGlzdH0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBAaWYgJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzICE9IGZhbHNlIHtcbiAgICAgICAgI3skdmlzaWJpbGl0eS12aXNpYmxlLWxpc3R9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS1oaWRkZW4tbGlzdH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaWYgJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzICE9IGZhbHNlIHtcbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZpc2liaWxpdHlcIil7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG5cbiAgQGluY2x1ZGUgdmlzaWJpbGl0eS1sb29wO1xuXG4gIC8qIE9yaWVudGF0aW9uIHRhcmdldGluZyAqL1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB9XG4gIHRoZWFkIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0Ym9keSB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdHIge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB9XG4gIHRkLFxuICB0aCB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB9XG5cbiAgQG1lZGlhICN7JGxhbmRzY2FwZX0ge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICAgIHRhYmxlIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdHIge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICN7JHBvcnRyYWl0fSB7XG4gICAgLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQsXG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gICAgdGFibGUge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0aGVhZCB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0Ym9keSB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0ciB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICAvKiBUb3VjaC1lbmFibGVkIGRldmljZSB0YXJnZXRpbmcgKi9cbiAgLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudG91Y2ggLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgdGFibGUuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0YWJsZS5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGhlYWQuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0Ym9keS5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRyLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0aC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNjcmVlbiByZWFkZXItc3BlY2lmaWMgY2xhc3NlcyAqL1xuICAuc2hvdy1mb3Itc3Ige1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9ubHkgaW5jbHVkZSB0aGVzZSBzdHlsZXMgaWYgeW91IHdhbnQgdGhlbS5cbiAgICBAaWYgJGluY2x1ZGUtcHJpbnQtc3R5bGVzIHtcbiAgICAgIC8qXG4gICAgICAgKiBQcmludCBzdHlsZXMuXG4gICAgICAgKlxuICAgICAgICogSW5saW5lZCB0byBhdm9pZCByZXF1aXJlZCBIVFRQIGNvbm5lY3Rpb246IHd3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4gICAgICAgKiBDcmVkaXQgdG8gUGF1bCBJcmlzaCBhbmQgSFRNTDUgQm9pbGVycGxhdGUgKGh0bWw1Ym9pbGVycGxhdGUuY29tKVxuICAgICAgKi9cbiAgICAgIC5wcmludC1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAqIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3MgKi9cbiAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICBhLFxuICAgICAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuXG4gICAgICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG5cbiAgICAgICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgaW1hZ2VzLCBvciBqYXZhc2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgICAgIC5pciBhOmFmdGVyLFxuICAgICAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxuXG4gICAgICAgIHByZSB7XG4gICAgICAgICAgcGFkZGluZzogMjVweCAwcHggMjVweCA1MHB4O1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICAgIGNvbG9yOiAjNDA4Q0ZGO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvKiBoNWJwLmNvbS90ICovIH1cblxuICAgICAgICB0cixcbiAgICAgICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICAgICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICBAcGFnZSB7IG1hcmdpbjogLjVjbTsgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyB7XG4gICAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgICB3aWRvd3M6IDM7XG4gICAgICAgIH1cblxuICAgICAgICBoMixcbiAgICAgICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgICAgIC5oaWRlLW9uLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5wcmludC1vbmx5IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgICAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgICB9XG4gICAgfVxuXG4gIC8qIFByaW50IHZpc2liaWxpdHkgKi9cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB9XG5cbiAgICBAbWVkaWEgbm90IHByaW50e1xuICAgICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiAgdXJsKCcuLi9pY29tb29uL2ZvbnRzL2ljb21vb24uZW90PzMwdGR2OScpO1xuICBzcmM6ICB1cmwoJy4uL2ljb21vb24vZm9udHMvaWNvbW9vbi5lb3Q/MzB0ZHY5I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vaWNvbW9vbi9mb250cy9pY29tb29uLnR0Zj8zMHRkdjknKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcuLi9pY29tb29uL2ZvbnRzL2ljb21vb24ud29mZj8zMHRkdjknKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ljb21vb24vZm9udHMvaWNvbW9vbi5zdmc/MzB0ZHY5I2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLWVtYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEyXCI7XG59XG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTFcIjtcbn1cbi5pY29uLWNhcnJvdF9sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG4uaWNvbi1jYXJyb3RfdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cbi5pY29uLWNhcnJvdF9yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZlwiO1xufVxuLmljb24taWNvbl9ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG4uaWNvbi1tYXJrZXRzX2FjYWRlbWljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNvbi1tYXJrZXRzX2F2aWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG59XG4uaWNvbi1tYXJrZXRzX2NpdmljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNvbi1tYXJrZXRzX2NvbW1lcmNpYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cbi5pY29uLW1hcmtldHNfZGVzaWduX2J1aWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNvbi1tYXJrZXRzX2hpc3RvcmljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvbi1tYXJrZXRzX2ludGVyaW9yX2Rlc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuLmljb24tbWFya2V0c19uZXRfcG9zaXRpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cbi5pY29uLXNvY2lhbF9mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYVwiO1xufVxuLmljb24tc29jaWFsX2luc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYlwiO1xufVxuLmljb24tc29jaWFsX2xpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG4uaWNvbi1zb2NpYWxfdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cbiIsIiRibGFjazogIzIzMWYyMDtcbiRibGFjay10cnVlOiAjMDAwMDAwO1xuJG9yYW5nZTogI2ZhNDYxNjtcbiRibHVlOiAjNDA4Y2ZmO1xuXG4vLyBOZXcgY29sb3JzXG4kZ3JheS0xOiAjNjM2NDY2O1xuJGdyYXktMjogIzlkOWZhMTtcbiRncmF5LTM6ICNkYmRjZGU7XG4kZ3JheS00OiAjZjFmMWYyO1xuJGdyYXktNTogIzRkNGQ0ZDtcbiR3aGl0ZTogI2ZmZmZmZjtcblxuLy8gT2xkIGdyYXlzXG4kZ3JheTogIzZiNmI2YjtcbiRsaWdodC1ncmF5OiAjYTFhMWExO1xuXG4vL1NwYWNpbmcgdW5pdHNcbiRzcC0xOiByZW0tY2FsYyg4KTtcbiRzcC0yOiByZW0tY2FsYygxNik7XG4kc3AtMzogcmVtLWNhbGMoMjQpO1xuJHNwLTQ6IHJlbS1jYWxjKDMyKTtcbiRzcC01OiByZW0tY2FsYyg0OCk7XG4kc3AtNjogcmVtLWNhbGMoNTYpO1xuJHNwLTc6IHJlbS1jYWxjKDgwKTtcbiRzcC04OiByZW0tY2FsYygxMjgpO1xuXG4vLyBGb250IEZhbWlseSBkZWZpbml0aW9uc1xuLy8gVXNpbmcgdHlwZWtpdCBub3dcbi8vQGZvbnQtZmFjZSB7XG4vLyAgZm9udC1mYW1pbHk6IFwiRkYgTWV0YVwiO1xuLy8gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICBmb250LXdlaWdodDogNDAwO1xuLy8gIHNyYzogdXJsKCcuLi9mb250cy9NZXRhV2ViLU5vcm1hbF9zdWJzZXQud29mZicpO1xuLy99XG4vL1xuLy9AZm9udC1mYWNlIHtcbi8vICBmb250LWZhbWlseTogXCJGRiBNZXRhXCI7XG4vLyAgZm9udC1zdHlsZTogaXRhbGljO1xuLy8gIGZvbnQtd2VpZ2h0OiA0MDA7XG4vLyAgc3JjOiB1cmwoJy4uL2ZvbnRzL01ldGFXZWItTm9ybWFsSXRhLndvZmYnKTtcbi8vfVxuLy9cbi8vXG4vL0Bmb250LWZhY2Uge1xuLy8gIGZvbnQtZmFtaWx5OiBcIkZGIE1ldGFcIjtcbi8vICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgZm9udC13ZWlnaHQ6IDcwMDtcbi8vICBzcmM6IHVybCgnLi4vZm9udHMvTWV0YVdlYi1Cb2xkLndvZmYnKTtcbi8vfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGRiBNZXRhJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnLi4vZm9udHMvbWV0YV9ub3JtYWxfbGZfcm9tYW4td2ViZm9udC53b2ZmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZGIE1ldGEnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLi9mb250cy9tZXRhX25vcm1hbF9sZl9pdGFsaWMtd2ViZm9udC53b2ZmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZGIE1ldGEnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHNyYzogdXJsKCcuLi9mb250cy9tZXRhX21lZGl1bV9sZl9yb21hbi13ZWJmb250LndvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRkYgTWV0YSc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL21ldGFfbWVkaXVtX2xmX2l0YWxpYy13ZWJmb250LndvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRkYgTWV0YSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL21ldGFfYm9sZF9sZl9yb21hbi13ZWJmb250LndvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRkYgTWV0YSc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL21ldGFfYm9sZF9sZl9pdGFsaWMtd2ViZm9udC53b2ZmJyk7XG59XG5cbi8vIFR5cGVraXQgdXNhZ2Vcbi8vJG1haW4tZm9udDogZmYtbWV0YS13ZWItcHJvLCBIZWx2ZXRpY2FOZXVlLUxpZ2h0LCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4kbWFpbi1mb250OiAnRkYgTWV0YScsIEhlbHZldGljYU5ldWUtTGlnaHQsICdIZWx2ZXRpY2EgTmV1ZSBMaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjtcbiIsIi8vIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gRm9yIHRlc3RpbmcgaWYgLnRvdWNoIGNsYXNzZXMgYXJlIHRha2luZyBhZmZlY3Rcbi8vIC50b3VjaCB7XG4vLyBcdGJvcmRlcjogM3B4IHNvbGlkIHJlZDtcbi8vIH1cblxuKiB7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvKiBDaHJvbWUsIFNhZmFyaSAqL1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvKiBGaXJlZm94ICovXG59XG5cbnAge1xuXHRmb250LWZhbWlseTogJG1haW4tZm9udDtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0bGluZS1oZWlnaHQ6IDEuNjtcblx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdH1cblxuXHQmLnNtYWxsIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdH1cblx0fVxuXHQmLmludHJvIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXHRcdH1cblx0fVxufVxuXG5zcGFuLndvcmQtaGlnaGxpZ2h0IHtcblx0Zm9udC1zaXplOiA4OCU7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmRsLCBvbCwgdWwge1xuXHRmb250LWZhbWlseTogJG1haW4tZm9udDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHR9XG59XG5cbmE6bm90KC5idXR0b24pIHtcblx0Zm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdC5uby10b3VjaCAmIHtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQ7XG5cdH1cblx0JjpsaW5rLFxuXHQmOnZpc2l0ZWQge1xuXHRcdGNvbG9yOiAkb3JhbmdlO1xuXHR9XG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlIHtcblx0XHRjb2xvcjogJGdyYXktMTtcblx0fVxufVxuXG5hW2Rpc2FibGVkPVwiZGlzYWJsZWRcIl06bm90KC5idXR0b24pIHtcblx0Y29sb3I6ICRncmF5LTI7XG59XG5cbmEuZmFuY3ktbGluayB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xuXHQmOmFmdGVyIHtcblx0XHR0cmFuc2l0aW9uOiByaWdodCAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC01MCUsMCk7XG5cdFx0dG9wOiA1MCU7XG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDQpO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHRmb250LWZhbWlseTogJ2ljb21vb24nO1xuXHRcdGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRncmF5LTE7XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbiNib2R5IGJsb2NrcXVvdGUge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgI0NFQ0VDRTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRUNFQ0U7XG5cdG1hcmdpbjogMnJlbSAwO1xuXHRwYWRkaW5nOiAyNXB4O1xuXG5cdD5wIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE5KSAhaW1wb3J0YW50O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRjb2xvcjogJGJsdWU7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdGJvcmRlci10b3AtY29sb3I6ICNDRUNFQ0U7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogI0NFQ0VDRTtcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cdGNpdGUsXG5cdGNpdGUgcCxcblx0cC5jaXRlIHtcblx0XHRjb2xvcjogJGJsdWU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdG1hcmdpbi10b3A6IC43NXJlbTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdH1cblx0fVxufVxuXG5oMSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuXHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDU1KTtcblx0fVxuXHQmLnBhZ2UtdGl0bGV7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcblx0XHR9XG5cdH1cblx0Ji5wcm9qZWN0LXRpdGxlIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR9XG59XG5cbmgyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcblx0fVxuXHQmLnBhZ2UtdGl0bGUge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdC8vIE5vdGU6IHdlIG1heSByZS11c2UgdGhpcyBsYXRlclxuXHRcdC8vY29sb3I6ICRvcmFuZ2U7XG5cdFx0Ly90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdC8vdGV4dC1hbGlnbjogbGVmdDtcblx0XHQvL21heC13aWR0aDogcmVtLWNhbGMoOTc1KTtcblx0XHQvL21hcmdpbjogMCBhdXRvO1xuXHRcdC8vcGFkZGluZzogcmVtLWNhbGMoNTApIHJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCkgMDtcblx0XHQvL0BtZWRpYSAjeyRsYXJnZS11cH0ge1xuXHRcdC8vXHRmb250LXNpemU6IHJlbS1jYWxjKDQ1KTtcblx0XHQvL1x0cGFkZGluZzogcmVtLWNhbGMoNTApIHJlbS1jYWxjKDIwKSAwIDA7XG5cdFx0Ly99XG5cdH1cbn1cblxuaDMge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcblx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cdH1cbn1cblxuaDQge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cdH1cbn1cblxuaDUge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdH1cbn1cblxuaDYge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNyk7XG5cdH1cbn1cblxuaDEsaDIsaDMsaDQsaDUsaDYge1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogJGJsYWNrO1xuXHRmb250LWZhbWlseTogJG1haW4tZm9udDtcblx0bWFyZ2luOiAuNzVyZW0gMCAuMjVyZW07XG5cdCYuY2VudGVyIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuLmhlYWRpbmctdXBwZXJjYXNlIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmhvbWUtcGFnZS10aXRsZSB7XG5cdGZvbnQtc2l6ZTogNzVweDtcblx0Ly9jb2xvcjogJG9yYW5nZTtcbn1cbiIsIi8qIEZvdW5kYXRpb24gT3ZlcnJpZGVzICovXG4ucmV2ZWFsLW1vZGFsIHtcbiAgbWluLWhlaWdodDpub25lO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJvcmRlcjogMHB4IHNvbGlkICM2NjY7XG4gIC5mbGV4LXZpZGVvIHtcbiAgICBtYXJnaW46MDtcbiAgfVxuICAuY2xvc2UtcmV2ZWFsLW1vZGFsIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgfVxufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuIiwiLy8gY29tcGVuc2F0ZSBmb3IgZml4ZWQgbmF2XG5ib2R5IHtcbiAgbWFyZ2luLXRvcDogOTBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICBib2R5IHtcbiAgICBtYXJnaW4tdG9wOiA3MnB4O1xuICB9XG59XG5cbi8vIGdlbmVyYWwgcGFnZSBuYXYgYmFyXG4jc2l0ZV9oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDsgLyogT0xEIC0gaU9TIDYtLCBTYWZhcmkgMy4xLTYgKi9cbiAgZGlzcGxheTogLW1vei1ib3g7IC8qIE9MRCAtIEZpcmVmb3ggMTktIChidWdneSBidXQgbW9zdGx5IHdvcmtzKSAqL1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLyogVFdFRU5FUiAtIElFIDEwICovXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDsgLyogTkVXIC0gQ2hyb21lICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogcmVtLWNhbGMoODApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgcGFkZGluZzogMCByZW0tY2FsYygxNik7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC8vIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAvLyAtbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgLy8gLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAvLyB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgfVxuICAmLnNjcm9sbCB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg2Nik7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDcyKTtcbiAgICB9XG4gIH1cbiAgLnNpdGUtbG9nbyB7XG4gICAgbGluZS1oZWlnaHQ6IDAuNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjA7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbiAgICAjbG9nbyB7XG4gICAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBmaWxsOiAjZmZmO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDMuMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgI25hdl9ob21lIHtcbiAgICAgIGhlaWdodDogMS43MjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgZmlsbDogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbiAgLm5hdi10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMjQpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTcpO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMXJlbTtcbiAgICBib3R0b206IC0zMHB4O1xuICAgIGJhY2tncm91bmQ6IDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB6LWluZGV4OiAyMDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJvdHRvbTogLTlweDtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICByaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgICBzcGFuLFxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgYmFja2dyb3VuZDogIzIzMWYyMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzNSwgMzEsIDMyLCAwLjgyKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwYWRkaW5nOiA2cmVtIDEuNzI1cmVtO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBwYWRkaW5nOiA2cmVtIDMuNXJlbTtcbiAgICB9XG4gICAgLm1lbnUge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgJiA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS42MjVyZW0gMDtcbiAgICAgIH1cbiAgICAgIC51bmNsaWNrYWJsZSA+IGE6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC50b3VjaCAmIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgICAvLyBib3JkZXI6IHRoaW4gc29saWQgb3JhbmdlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHkubmF2LW9wZW4ge1xuICAjc2l0ZV9oZWFkZXIge1xuICAgIC5zaXRlLWxvZ28ge1xuICAgICAgI2xvZ28ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgI25hdl9ob21lIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgLm5hdi10b2dnbGUge1xuICAgICAgc3BhbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZykgdHJhbnNsYXRlM2QoNXB4LCA1cHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKSB0cmFuc2xhdGUzZCg1cHgsIDVweCwgMCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZykgdHJhbnNsYXRlM2QoNXB4LCAtNXB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpIHRyYW5zbGF0ZTNkKDVweCwgLTVweCwgMCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vcGFnZSBiYW5uZXJzXG4ucGFnZS0tYmFubmVyIHtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDcwKTtcbn1cblxuLm5hdi1zZWFyY2gtZm9ybSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3JlbTtcbiAgYm90dG9tOiA3cHg7XG4gIGxlZnQ6IGF1dG87XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICByaWdodDogNC4yNXJlbTtcbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBib3R0b206IDBweDtcbiAgfVxuXG4gIC5zZWFyY2gtc3VibWl0LFxuICAuc2VhcmNoLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJvdHRvbTogMTRweDtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIH1cbiAgfVxuICAuc2VhcmNoZmllbGQsXG4gIC5zZWFyY2gtc3VibWl0IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgI25hdnNlYXJjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB3aWR0aDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC5zZWFyY2hmaWVsZCB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHBhZGRpbmc6IDdweCA4cHg7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAvLyBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMCk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBib3JkZXI6IHNvbGlkIDAgdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5ib2R5LnNlYXJjaC1vcGVuIHtcbiAgI3NpdGVfaGVhZGVyIC5zaXRlLWxvZ28ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbiAgLm5hdi1zZWFyY2gtZm9ybSB7XG4gICAgei1pbmRleDogOTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgI25hdnNlYXJjaCB7XG4gICAgd2lkdGg6IDIyNXB4O1xuICAgIG1heC13aWR0aDogOTElO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIHdpZHRoOiAyODBweDtcbiAgICB9XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgd2lkdGg6IDMxMHB4O1xuICAgIH1cbiAgfVxuICAuc2VhcmNoLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5pY29uLXNlYXJjaCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAkY29sdW1uLWd1dHRlci1zbTtcbiAgcGFkZGluZy1yaWdodDogJGNvbHVtbi1ndXR0ZXItc207XG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2x1bW4tZ3V0dGVyLW1kO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjb2x1bW4tZ3V0dGVyLW1kO1xuICB9XG4gIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgIHBhZGRpbmctbGVmdDogJGNvbHVtbi1ndXR0ZXItbGc7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbHVtbi1ndXR0ZXItbGc7XG4gIH1cbn0iLCIuYnV0dG9uIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWF4LXdpZHRoOiA2MDBweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IHNvbGlkIDJweCAkYmxhY2s7XG4gIGNvbG9yOiAkYmxhY2s7XG5cblxuICBmb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gIG1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICBwYWRkaW5nOiByZW0tY2FsYygxMykgcmVtLWNhbGMoMzApIHJlbS1jYWxjKDE0KTtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMjQpIGF1dG8gMDtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggJG9yYW5nZTtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgfVxuXG4gICYuZGlzY292ZXItbW9yZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgfVxuXG4gICYudmlldy1hbGwge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwMCk7XG4gIH1cblxuICAmLmludmVydGVkIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xuXG4gICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogc29saWQgMnB4ICRvcmFuZ2U7XG4gICAgfVxuICB9XG5cbiAgJi5maWxsZWQge1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZTtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiBzb2xpZCAycHggJGdyYXktMTtcbiAgICAgIGNvbG9yOndoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYubWVkaXVtIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMSkgcmVtLWNhbGMoMjYpIHJlbS1jYWxjKDEyKTtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAmLnNwYWNpbmctc21hbGwge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgYXV0bztcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMikgYXV0byAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygyNCkgcmVtLWNhbGMoMTEpO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIH1cbiAgfVxuXG4gICYubWF4LXdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICB9XG59XG5ib2R5LmVycm9yNDA0IHtcbiAgaDIucGFnZS10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgLy8gbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIC5zZWFyY2hmb3JtIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IC43NXJlbSAxLjVyZW07XG4gIH1cbn1cbmEge1xuICBjb2xvcjogJGdyYXk7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuICB9XG59XG5cbnAgYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi5jb250ZW50LXNlY3Rpb24ge1xuICAgIGZpZ3VyZS5hbGlnbmxlZnQsXG4gICAgaW1nLmFsaWdubGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmaWd1cmUuYWxpZ25yaWdodCxcbiAgICBpbWcuYWxpZ25yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmaWd1cmUuYWxpZ25jZW50ZXIsXG4gICAgaW1nLmFsaWduY2VudGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgaW1nLmFsaWduY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIGltZy5hbGlnbmNlbnRlcixcbiAgICBmaWd1cmUuYWxpZ25jZW50ZXIud3AtY2FwdGlvbixcbiAgICBmaWd1cmUuYWxpZ25jZW50ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICBpbWcuYWxpZ25jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIucGFnZSB7XG4gIC5yc0RlZmF1bHRJbnYsIC5yc0RlZmF1bHRJbnYgLnJzT3ZlcmZsb3csIC5yc0RlZmF1bHRJbnYgLnJzU2xpZGUsIC5yc0RlZmF1bHRJbnYgLnJzVmlkZW9GcmFtZUhvbGRlciwgLnJzRGVmYXVsdEludiAucnNUaHVtYnMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuIiwiLy9TbW9vdGhib3ggUGx1Z2luXG5cbmJvZHksIGh0bWwge1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCU7XG59XG4vKiB3cmFwcGVyICovXG4uc21vb3RoYm94IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIGJhY2tncm91bmQ6cmdiKDAsMCwwKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJTtcbiAgICB6LWluZGV4OiA5OTk5O1xufVxuLyogZmF1eCB2ZXJ0aWNhbCBjZW50ZXJpbmcgKi9cbi5zbW9vdGhib3gtdGFibGUge1xuICAgIHRvcDowO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgZGlzcGxheTp0YWJsZTtcbn1cbi5zbW9vdGhib3gtY2VudGVyaW5nIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlO1xufVxuXG4vKiBob3Jpem9udGFsIGNlbnRlcmluZyAmIHNpemluZyAqL1xuLnNtb290aGJveC1zaXppbmcge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMHB4O1xuICAgIHdpZHRoOiA4MCU7XG59XG4vKiBpdGVtIHdyYXBwZXIgKi9cbi5zYi1pdGVtcyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5zYi1pdGVtczphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAwO1xufVxuLyogaXRlbXMgKi9cbi5zYi1pdGVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDowO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDgwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6b29tOiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAvLyBib3gtc2hhZG93OiAwcHggMHB4IDBweCA1cHggcmdiYSgwLCAwLCAwLCAxKSwgMHB4IDBweCAwcHggNnB4ICMwMDA7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjphbGwgLjRzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1vdXQ7XG59XG5cbi5uby10cmFucyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOm5vbmU7XG4gICAgLW1vei10cmFuc2l0aW9uOm5vbmU7XG4gICAgdHJhbnNpdGlvbjpub25lO1xufVxuXG4uc2ItaXRlbSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4vKiBmb3J3YXJkIGFuaW1hdGlvbiAqL1xuLnNiLWl0ZW0tYW5pIHtcbiAgICAvLyB0b3A6IDQwMHB4O1xuICAgIG9wYWNpdHk6MDtcbiAgICAvLyAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNSlyb3RhdGUoMjVkZWcpO1xuICAgIC8vIC1tb3otdHJhbnNmb3JtOnNjYWxlKC41KXJvdGF0ZSgyNWRlZyk7XG4gICAgLy8gdHJhbnNmb3JtOnNjYWxlKC41KXJvdGF0ZSgyNWRlZyk7XG59XG4vKiBiYWNrIGFuaW1hdGlvbiAqL1xuLnNiLWl0ZW0tYW5pMiB7XG4gICAgLy8gdG9wOjQwMHB4O1xuICAgIC8vIC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC41KSByb3RhdGUoMjVkZWcpO1xuICAgIC8vIC1tb3otdHJhbnNmb3JtOnNjYWxlKC41KSByb3RhdGUoMjVkZWcpO1xuICAgIC8vIHRyYW5zZm9ybTpzY2FsZSguNSkgcm90YXRlKDI1ZGVnKTtcbiAgICBvcGFjaXR5OjA7XG59XG4uc2ItY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6cmdiKDAsMCwwKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgY29sb3I6ICNDQ0M7XG4gICAgZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIiwgRnJ1dGlnZXIsIFwiRnJ1dGlnZXIgTGlub3R5cGVcIiwgXCJEZWphdnUgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKVwiO1xufVxuLyogYnV0dG9ucyAqL1xuLnNiLW5hdiB7XG4gICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTUwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjE1cyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246YWxsIC4xNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjphbGwgLjE1cyBlYXNlLW91dDtcbiAgICB6b29tOjE7XG59XG4uc2ItbmF2OmhvdmVyIHtcbiAgICBvcGFjaXR5OjE7XG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApXCI7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5zYi1wcmV2LCAuc2ItbmV4dCwgLnNiLWNhbmNlbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHpvb206MTtcbiAgICBvdXRsaW5lOm5vbmU7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMCkgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMzMlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMTVzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjphbGwgLjE1cyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOmFsbCAuMTVzIGVhc2Utb3V0O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuICAgICAgfVxuICAgIH1cbn1cbi5zYi1wcmV2LFxuLnNiLW5leHQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0b3A6IDQ1JTtcbiAgcGFkZGluZy10b3A6IDUlO1xuICBwYWRkaW5nLWJvdHRvbTogNSU7XG59XG5cbi5zYi1wcmV2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGxlZnQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwKTtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICc8JztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG4uc2ItbmV4dCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcmlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMCk7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnPic7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbi5zYi1jYW5jZWwge1xuICBkaXNwbGF5OiBub25lO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICB3aWR0aDogNDBweDtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICd4JztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwwMDNjXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwwMDNlXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1saXN0IHtcblx0LnNsaWNrLWxvYWRpbmcgJiB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdH1cbn1cblxuXG4vKiBBcnJvd3MgKi9cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRsaW5lLWhlaWdodDogMHB4O1xuXHRmb250LXNpemU6IDBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHR0b3A6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcblx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuXHRcdH1cblx0fVxuXHQmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG5cdFx0b3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0Zm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Y29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcblx0XHRvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuXHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRcdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdH1cbn1cblxuLnNsaWNrLXByZXYge1xuXHRsZWZ0OiAyNXB4O1xuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogc2xpY2staW1hZ2UtdXJsKFwiYXJyb3ctbGVmdC5zdmdcIik7XG5cdH1cbn1cblxuLnNsaWNrLW5leHQge1xuXHRyaWdodDogMjVweDtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IHNsaWNrLWltYWdlLXVybChcImFycm93LXJpZ2h0LnN2Z1wiKTtcblx0fVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAyNXB4O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRsaSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0bWFyZ2luOiAwIDVweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRidXR0b24ge1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgd2hpdGU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGhlaWdodDogNXB4O1xuXHRcdFx0d2lkdGg6IDVweDtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRsaW5lLWhlaWdodDogMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAwcHg7XG5cdFx0XHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuXHRcdFx0Y29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHQvLyBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuXHRcdH1cblx0fVxufSIsInVsLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tdG9wOiAkc3AtMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBzcGFuLFxuICAgIGEge1xuICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICY6bm90KC5idXR0b24pOmFjdGl2ZSxcbiAgICAgICY6bm90KC5idXR0b24pOmxpbmssXG4gICAgICAmOm5vdCguYnV0dG9uKTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZzogMC4wNjI1cmVtIHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmN1cnJlbnQge1xuICAgICAgbWFyZ2luOiAwLjA2MjVyZW0gMC42MjVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZhNDYxNjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIENvb2wgVGltZWxpbmUgNC41LjYgKi9cbmJvZHkgLmN0bC13cmFwcGVyIC5jdGwtaG9yaXpvbnRhbC10aW1lbGluZS5jdGwtZGVzaWduLTIgIHtcbiAgICAtLWN0dy1pYngtc2l6ZTogNDhweDtcbiAgICAtLWN0dy1pYngtcmFkaXVzOiA1MDtcbiAgICAtLWN0dy1jYngtbWFpbi10aXRsZS1mb250LWZhbWlseTogJG1haW4tZm9udDtcbiAgICAtLWN0dy1jYngtdGl0bGUtZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgLS1jdHctY2J4LWRlc2MtZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgLS1jdHctY2J4LWRhdGUtZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgLS1jdHctY2J4LWltZy1wYWRkaW5nOiAwO1xuICAgIC0tY3R3LWNieC1yYWRpdXM6IDhweCA4cHggNXB4IDVweDtcbiAgICAtLWN0dy1sYmwtYmlnLXNpemU6IDZweDtcbiAgICAtLWN0dy1sYmwtc21hbGwtc2l6ZTogNnB4O1xuICAgIC0tY3R3LWNieC1zcGFjZTogMDsgICAgXG4gICAgLS1jdHctY2J4LXRpdGxlLXBhZGRpbmc6IDE4cHggMTVweDtcbiAgICAtLWN0dy1jYngtZGVzLXBhZGRpbmc6IDE0cHg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAuY3RsLWljb25kb3Qge1xuICAgICAgICB0b3A6IGNhbGModmFyKC0tY3R3LWlieC1zaXplKSogLjc1IC0gdmFyKC0tY3R3LWlieC1zaXplKSogMik7XG4gICAgfVxuXG4gICAgLmN0bC1sYWJlbHMge1xuICAgICAgICB0b3A6IGNhbGMoMHB4IC0gKHZhcigtLWN0dy1sYmwtYmlnLXNpemUpICsgdmFyKC0tY3R3LWxibC1zbWFsbC1zaXplKSArIHZhcigtLWN0dy1sYmwtZ2FwKSkgLSB2YXIoLS1jdHctaWJ4LXNpemUpICogMiArIDRweCk7XG4gICAgfVxuXG4gICAgLmN0bC1oLWxpbmUge1xuICAgICAgICAvL2JvcmRlcjogMnB4IHNvbGlkICRncmF5LTU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWN0dy1saW5lLWJnKTtcbiAgICAgICAgdG9wOiBjYWxjKDBweCArIHZhcigtLWN0dy1sYmwtYmlnLXNpemUpICsgdmFyKC0tY3R3LWxibC1zbWFsbC1zaXplKSArIHZhcigtLWN0dy1sYmwtZ2FwKSArIDBweCArIHZhcigtLWN0dy1pYngtc2l6ZSkgLSB2YXIoLS1jdHctbGluZS13aWR0aCkgKiAuNSArIHZhcigtLWxibC1iZC13aWR0aCkqMikhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jdGwtYXJyb3cge1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgIH1cblxuICAgIC5jdGwtc3Rvcnkge1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWN0dy1pYngtc2l6ZSkgKiAyICsgdmFyKC0tY3R3LWxibC1iaWctc2l6ZSkgKyB2YXIoLS1jdHctbGJsLXNtYWxsLXNpemUpICsgMHB4ICsgdmFyKC0tY3R3LWxibC1nYXApICsgdmFyKC0tbGJsLWJkLXdpZHRoKSoyKSFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgPi5jdGwtYnV0dG9uLXByZXYsXG4gICAgPi5jdGwtYnV0dG9uLW5leHQge1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRvcDogY2FsYyhjYWxjKDBweCArIHZhcigtLWN0dy1sYmwtYmlnLXNpemUpICsgdmFyKC0tY3R3LWxibC1zbWFsbC1zaXplKSArIHZhcigtLWN0dy1sYmwtZ2FwKSArIDBweCArIHZhcigtLWN0dy1pYngtc2l6ZSkgLSB2YXIoLS1uYXYtaWNvbi1oZWlnaHQpICogLjUgKyB2YXIoLS1sYmwtYmQtd2lkdGgpKjIpKTtcbiAgICAgICAgXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAvL2ZpbGw6ICRncmF5LTU7XG4gICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tbmF2LWljb24tY29sb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAvL2JvcmRlci1sZWZ0OiA0cHggc29saWQgJGdyYXktNTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLW5hdi1pY29uLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGdyYXktNTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gLmN0bC1idXR0b24tcHJldiB7XG4gICAgICAgIGxlZnQ6IC00cHg7XG5cbiAgICAgICAgJi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgICAgICAgIGxlZnQ6IC0wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiAuY3RsLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC00cHg7XG5cbiAgICAgICAgJi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGwtY29udGVudCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWN0dy1jYngtcmFkaXVzKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgfVxuXG4gICAgLmN0bC1tZWRpYSBhOmhvdmVyIHtcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMik7XG4gICAgfVxuXG4gICAgLnJlYWRfbW9yZV93cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICB9XG5cbiAgICBhLmZhbmN5LWxpbmsge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB9XG59XG5cbi8qIENvb2wgVGltZWxpbmUgNC40LjQgKi9cbmJvZHkgLmNvb2wtdGltZWxpbmUtaG9yaXpvbnRhbCB7XG4gICAgLmNsdF9jYXJvdXNlbF9zbGlkZXIsXG4gICAgLndycC1kZXNnaW4tNCB7XG4gICAgICAgIHVsLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCBsaSBzcGFuLmN0bC1zdG9yeS10aW1lIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAgICAgICB9XG4gICAgfSBcblxuICAgIC5jbHRfY2Fyb3VzZWxfc2xpZGVyIHVsLmN0bF9oX25hdiB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsdF9jYXJvdXNlbF9zbGlkZXIgdWwuc2xpY2stc2xpZGVyIC5zbGljay1saXN0IGxpIC5jdGwtc3RvcnktdGltZTphZnRlciB7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgICAgIGxlZnQ6IC1tb3otY2FsYyg1MCUgLSAxMnB4KTtcbiAgICAgICAgbGVmdDogLXdlYmtpdC1jYWxjKDUwJSAtIDEycHgpO1xuICAgICAgICBsZWZ0OiAtby1jYWxjKDUwJSAtIDEycHgpO1xuICAgIH1cblxuICAgICYud2hpdGUtdGltZWxpbmUge1xuICAgICAgICAuY2x0X2NhcnVfc2xpZGVyIHVsLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCBsaS5zbGljay1zbGlkZSAudGltZWxpbmUtcG9zdCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDVweCA1cHg7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIGgyLmNvbnRlbnQtdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVhZF9tb3JlX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEuZmFuY3ktbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYS5jdGxfcmVhZF9tb3JlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwOyBcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAvKmRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1JTsqL1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIC8qdHJhbnNpdGlvbjogcmlnaHQgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsqL1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxlOTAwJztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbiAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS0xO1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qcmlnaHQ6IDA7Ki9cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAuMjVyZW0gKyA4cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdGwtc2xpY2stcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAtMTlweDtcbiAgICAgICAgICAgIGk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDUzJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmLmN0bC1zbGljay1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTlweDtcbiAgICAgICAgICAgIGk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDU0JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICAgICAgJi5jdGwtc2xpY2stcHJldixcbiAgICAgICAgICAgICYuY3RsLXNsaWNrLW5leHQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGdyYXktNTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogTGlnaHRib3ggKi9cbmJvZHkgLmdsaWdodGJveC1jb250YWluZXIge1xuICAgIC5jdGxfZ2xpZ2h0Ym94X2NvbnRhaW5lciB7XG4gICAgICAgIC5nZGVzYy1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkuZ2xpZ2h0Ym94LW1vYmlsZSAuZ2xpZ2h0Ym94LWNvbnRhaW5lciB7XG4gICAgLmN0bF9nbGlnaHRib3hfY29udGFpbmVyIC5nc2xpZGU6bm90KC56b29tZWQpIC5nc2xpZGUtaW5uZXItY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5naW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAmLmRlc2MtYm90dG9tICB7XG4gICAgICAgICAgICAuZ3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5nc2xpZGUtZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwICAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5nZGVzYy1pbm5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdzbGlkZS10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2stdHJ1ZTtcbiAgICB9XG59XG5cbi5nbGlnaHRib3gtb3BlbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufSIsIiNtYXN0aGVhZCB7XG5cdGJhY2tncm91bmQ6ICNjY2M7XG59XG5cbi5zaXRlLWJyYW5kaW5nIHtcblx0bWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLnNpdGUtdGl0bGUge1xuXHRmb250LXNpemU6IDNyZW07XG5cdG1hcmdpbjogMDtcbn1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW46IDA7XG59XG5cbi5tYWluLW5hdmlnYXRpb24ge1xuXHRiYWNrZ3JvdW5kOiAjMzMzO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIHtcblx0bWFyZ2luOiAwO1xufVxuIiwiI2NvbG9waG9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwIGF1dG8gMDtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgaHIge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWVlO1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgICBhLFxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgfVxuICAuY29weXJpZ2h0LFxuICAudGV4dHdpZGdldCxcbiAgYSxcbiAgcCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG4gIC5pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbiAgLnNpdGUtZm9vdGVyX19pbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBhcnRpY2xlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmLnNvY2lhbC1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaW5mby1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgLy8gd2lkdGg6NzUlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgLnNvY2lhbC1saW5rLWNvbC13aWR0aCB7XG4gICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC53aWRnZXQtYWRkcmVzcyB7XG4gICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAuc29jaWFsLWxpbmstY29sLXdpZHRoIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLndpZGdldC1hZGRyZXNzIHtcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgbWFyZ2luOiAwIC0wLjkzNzVyZW07XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgICBkaXYjdGV4dC02LFxuICAgICAgICBkaXYjdGV4dC05LFxuICAgICAgICBkaXYjdGV4dC0xMCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMzJweDsgLy8gMzJweDtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYjdGV4dC0zLFxuICAgICAgICBkaXYjdGV4dC0yIHtcbiAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAwIC0ycHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBAbWVkaWEgI3tsYXJnZS1vbmx5fSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm5vLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zb2NpYWwtbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDUzcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZmlsbDogIzZiNmI2YjtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIGZpbGw6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm5lZWRtb3JlLWxpbmsge1xuICAgIH1cbiAgICAuZm9vdGVyLWNvbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgQG1lZGlhICN7bGFyZ2Utb25seX0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmc6IDJyZW0gMTVweCAxcmVtIDE1cHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsgLyogQWRkZWQgKi9cbiAgfVxufVxuXG4uZm9vdGVyLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiAxMCUgIWltcG9ydGFudDtcbn1cblxuI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgYXJ0aWNsZS5pbmZvLWNvbCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG59XG5cbiNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIGFydGljbGUuaW5mby1jb2wgLnJvdyB7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG59XG5cbiNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIC5mb290ZXItY29sIHtcbiAgd2lkdGg6IDI1JTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZvb3Rlci1jb250ZW50IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLndpZGdldF90ZXh0IHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgI2NvbG9waG9uIC5zaXRlLWZvb3Rlcl9faW5uZXIgLmZvb3Rlci1jb2wsXG4gIC5mb290ZXItY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICNjb2xvcGhvbiAuc2l0ZS1mb290ZXJfX2lubmVyIC5mb290ZXItY29sLFxuICAuZm9vdGVyLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAjY29sb3Bob24gLnNpdGUtZm9vdGVyX19pbm5lciBhcnRpY2xlLmluZm8tY29sIC5yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbiIsIi5jb21tZW50LWNvbnRlbnQgcCB7XG5cdG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59IiwiI3NlY29uZGFyeSBoMSB7XG5cdGZvbnQtc2l6ZTogMS41cmVtO1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuXG4uc29jaWFsLXNoYXJlLWxpbmtzIHtcblx0LnNvY2lhbC1saW5rIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Ly8gYmFja2dyb3VuZDogIzZiNmI2Yjtcblx0XHR3aWR0aDogMi41cmVtO1xuXHRcdGhlaWdodDogMi41cmVtO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGxpbmUtaGVpZ2h0OiA1M3B4O1xuXHRcdG1hcmdpbi1yaWdodDo1cHg7XG5cdFx0c3ZnIHtcblx0XHRcdGhlaWdodDoyMHB4O1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGZpbGw6IzZCNkI2Qjtcblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAkb3JhbmdlICFpbXBvcnRhbnQ7XG5cdFx0XHRzdmcge1xuXHRcdFx0XHRmaWxsOiAkb3JhbmdlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5iZy1ibGFjayB7XG4gIGJhY2tncm91bmQ6ICRibGFjaztcbiAgKiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbltjbGFzcyo9J2Jsb2NrLSddIHtcbiAgcGFkZGluZzogJHNwLTcgMDtcbn1cblxuW2NsYXNzKj0nYmxvY2stcG9zdHMnXSB7XG4gIHBhZGRpbmc6IDIwcHggMDtcbn0iLCIuYmxvY2staGVybyB7XG4gIHBhZGRpbmc6ICRzcC00IDA7XG4gIC5oZXJvLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzOCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTIpO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNzApO1xuICAgIH1cbiAgfVxufSIsIi5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zIHtcbiAgcGFkZGluZzowO1xuICBoNCxcbiAgaDUge1xuICAgIGNvbG9yOiAjMjMxRjIwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG4gIGJsb2NrcXVvdGUge1xuICAgIGg0IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgY29sb3I6ICM0MDhDRkY7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2stbGFuZGluZy1wYWdlLWN0YSB7XG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOjA7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICRvcmFuZ2U7XG4gICAgfVxuICAgIFxuICB9XG4gIGgzIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDE1cHggMCAxMHB4IDA7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luOjA7XG4gIH1cbiAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOjE1cHggMCAwIDA7XG4gIH1cbiAgLmhhcy1pbWFnZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkb3JhbmdlO1xuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxuICAubm8taW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLmNvbHVtbnMge1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDozMHB4O1xuICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICRvcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5ibG9jay1sYW5kaW5nLXBhZ2UtZmVhdHVyZWQtYXNzZXRzIHtcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46MDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgZmlsbDojZmZmO1xuICAgICAgaGVpZ2h0OiA3dnc7XG4gICAgICB3aWR0aDogN3Z3O1xuICAgICAgbWluLWhlaWdodDo2MHB4O1xuICAgICAgbWluLXdpZHRoOjYwcHg7XG4gICAgICB0b3A6MDtcbiAgICAgIHJpZ2h0OjA7XG4gICAgICBib3R0b206MDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIG1hcmdpbjphdXRvXG4gICAgfVxuICB9XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsInNlY3Rpb24ubGFuZGluZy1wYWdlLWhlcm8ge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAyNTAwcHggcmdiYSgwLDAsMCwuMyk7XG4gIGRpc3BsYXk6ZmxleDtcbiAgZmxleDogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHBhZGRpbmc6NjBweCAzMHB4O1xuICBtYXJnaW46OTBweCAxcmVtIDA7XG4gIGhlaWdodDogMTAwdnc7XG4gIFxuICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICBoZWlnaHQ6IDQ2LjV2dztcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICB9XG4gIFxuICBoMSB7XG4gICAgY29sb3I6I2ZmZjtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xuICAgIGZvbnQtd2VpZ2h0OjEwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg3MCk7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2stbGFuZGluZy1wYWdlLXR3by1jb2x1bW4taW1hZ2Uge1xuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICBmaWd1cmUge1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgcGFkZGluZzowO1xuICAgIH1cbiAgICBhcnRpY2xlIHtcbiAgICAgIG1hcmdpbi10b3A6MzBweDtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgIH1cbiAgICB9XG59XG4iLCIuYmxvY2staW1hZ2VzLWdyaWQsXG4uYmxvY2stcHJvamVjdHMtZ3JpZCB7XG4gIHBhZGRpbmc6IDU2cHggMDtcbiAgLmltYWdlcy1ncmlkLFxuICAucHJvamVjdC1ncmlkIHtcbiAgICBwYWRkaW5nOiAwIC41cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IC1tcy1ncmlkO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgLW1zLWdyZC1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEyLjUlLCAxZnIpKTtcbiAgICAtbXMtZ3JpZC1yb3dzOiAxZnIgMWZyIDFmcjtcbiAgICBncmlkLWF1dG8tcm93czogMWZyO1xuICAgIGdyaWQtZ2FwOiAwO1xuICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICBwYWRkaW5nOiAwICRzcC0xICRzcC0yO1xuICAgIH1cbiAgICAuaW1hZ2UsXG4gICAgLnByb2plY3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM1LDMxLDMyLDEpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyOiA5cHggc29saWQgd2hpdGU7Ly88LS0gdGhpcyBhbmQgdGhlIG5leHQgbGluZSBhcmUgaW50ZW5kZWQgdG8gY29tZXBuc2F0ZSBmb3IgYW4gb2RkIGJlaGF2aW9yIGluIEVkZ2Ugd2hlcmUgYSBsaW5lIGlzIHZpc2libGUgb24gaG92ZXJcbiAgICAgIG1hcmdpbjogLTFweDsvLzwtLSBzZWUgYWJvdmVcbiAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA0O1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgaGVpZ2h0OiAyMy43NXZ3O1xuICAgICAgICBtYXgtaGVpZ2h0OiAzNTNweDtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAuZmFkZXIge1xuICAgICAgICAgIG9wYWNpdHk6IC4zO1xuICAgICAgICAgIC1tb3otb3BhY2l0eTogLjM7XG4gICAgICAgICAgLXdlYmtpdC1vcGFjaXR5OiAuMztcbiAgICAgICAgfVxuICAgICAgICAucHJvamVjdF9fdGl0bGUtdGV4dCB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnAtd2lkdGgtMSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAxO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMjAwJSAtIDE2cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnAtd2lkdGgtMiB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiAyO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucC13aWR0aC0zIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDM7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg2Ni42NjY3JSAtIDE2cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnAtd2lkdGgtNCB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA0O1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoNTAlIC0gMTZweCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNTB2dyAtIDE2cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgKyAxNnB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICBoZWlnaHQ6IDIzLjc1dnc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb2plY3RfX3RodW1iLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb2plY3RfX3RodW1iLS1tb2JpbGUge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9qZWN0X190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC01MCUsMCk7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gJi10ZXh0IHtcbiAgICAgICAgLy8gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTkwJSk7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLXByb2plY3RzLWdyaWQgKyAuYmxvY2stY29udGVudC1idWlsZGVyLXdpdGgtY29sdW1ucyxcbi5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zICsgLmJsb2NrLXByb2plY3RzLWdyaWQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLy9BZGp1c3RtZW50cyBmb3IgSUUxMVxuXzotbXMtZnVsbHNjcmVlbiwgOnJvb3QgLmJsb2NrLWltYWdlcy1ncmlkLFxuXzotbXMtZnVsbHNjcmVlbiwgOnJvb3QgLmJsb2NrLXByb2plY3RzLWdyaWQgeyBcbiAgLmltYWdlcy1ncmlkLFxuICAucHJvamVjdC1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cblxuICAuaW1hZ2UsXG4gIC5wcm9qZWN0IHtcbiAgICBmbGV4OiAxIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIC8vIGJvcmRlcjogNHB4IHNvbGlkIHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gICAgJi5wLXdpZHRoLTEge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIGZsZXg6IDEgMCAxMi41JTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYucC13aWR0aC0yIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICBmbGV4OiAxIDAgMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYucC13aWR0aC0zIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICBmbGV4OiAxIDAgMzcuNSU7XG4gICAgICAgIG1heC13aWR0aDogMzcuNSU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnAtd2lkdGgtNCB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zIHtcbiAgcGFkZGluZzogcmVtLWNhbGMoNTYpIDA7XG4gICZfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuICAuZGlzcGxheS1oZWFkbGluZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcC0yO1xuICAgICYuZW5kIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogJHNwLTI7XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB9XG4gICAgaDUsIGg0IHtcbiAgICAgIG1hcmdpbjoxMHB4IDA7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIG1hcmdpbjowIDAgMTBweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOjIwcHggMCAwIDA7XG4gICAgfVxuICB9XG4gICsgLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi8vSG9tcGFnZSBzcGVjaWZpY1xuXG4uaG9tZV9fYmFubmVyICsgLmJsb2NrLWNvbnRlbnQtYnVpbGRlci13aXRoLWNvbHVtbnMge1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xufVxuIiwiLmJsb2NrLW1hcmtldC1pY29uLWdyaWQtbW9kaWZpZWQsXG4uYmxvY2stbWFya2V0LWljb24tZ3JpZCB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDgwKSAwIHJlbS1jYWxjKDEyOCk7XG5cbiAgJi5zcGFjZS0wIHtcbiAgICBwYWRkaW5nOiAwIDAgcmVtLWNhbGMoODApO1xuICB9XG5cbiAgLmljb24tZ3JpZCB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIFxuICAuaWNvbi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgW2NsYXNzKj0naWNvbi1tYXJrZXRzXyddIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLThweCwwKTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbl9fdGl0bGUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMThweCwwKTtcbiAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaWNvbiB7XG4gICAgcGFkZGluZzogJHNwLTIgJGNvbHVtbi1ndXR0ZXItc20gMDtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBwYWRkaW5nOiAkc3AtNiAkY29sdW1uLWd1dHRlci1zbSAwO1xuICAgIH1cbiAgICAuaWNvbi1tYXJrZXRzX19pbWFnZSB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTEyKTtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBbY2xhc3MqPSdpY29uLW1hcmtldHNfJ10ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkc3AtMjtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2Nik7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUwKTtcbiAgICAgIH1cblxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbjogJHNwLTIgMCAwO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgfVxuICAuaWNvbi1hcnJvdy1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsMCwwKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gICsgLmJsb2NrLWJpZy1pbWFnZS1jdGEge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5ibG9jay1jb250ZW50LWJ1aWxkZXItd2l0aC1jb2x1bW5zICsgLmJsb2NrLW1hcmtldC1pY29uLWdyaWQge1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjQpO1xufVxuXG4uYmxvY2stYmlnLWltYWdlLWN0YSArIC5ibG9jay1tYXJrZXQtaWNvbi1ncmlkIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XG59XG5cbi5ibG9jay1tYXJrZXQtaWNvbi1ncmlkLW1vZGlmaWVkIHtcbiAgLmljb24ge1xuICAgIC5pY29uLW1hcmtldHNfX2ltYWdlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjApO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmJsb2NrLWJpZy1pbWFnZS1jdGEge1xuICAub3B0aW9uLS12aWRlb19lbWJlZCB7XG4gICAgLmltYWdlX192aWRlbyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gIC5iaWctaW1hZ2UtY3RhX19pbWFnZSB7XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwLTI7XG4gICAgfVxuICB9XG4gIC5pbWFnZV9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmNvbHVtbnMge1xuICAgICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIH1cbiAgfVxufSIsIi5ibG9jay10d28tY29sdW1uLWN0YSB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDgwKSAwO1xuXG4gIC5jdGFfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59IiwiLmJsb2NrLXR3by1jb2x1bW4taW1hZ2UtaWNvbiB7XG4gICAgXG4gICAgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH0gICAgXG4gICAgXG4gICAgaDEsaDIsaDMsaDQsaDUsaDYge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBcbiAgICAuaW1nLWNvbnRhaW5lcixcbiAgICAuaWNvbi1jb250YWluZXIge1xuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogICRzcC0yO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24tY29udGFpbmVyIHtcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmJsb2NrLW1hcmtldC1zZWN0b3ItY29udGFjdCB7XG4gICAgLmltZy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNwLTI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJG9yYW5nZTtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3AtNDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwLTI7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIC8vIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LWhlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LW5hbWUge1xuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdCB7XG4gICAgICAgICsgLmVuZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3AtMjtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250YWN0X19pbm5lciB7XG4gICAgICAgIC8vIHBhZGRpbmctdG9wOiAkc3AtNDtcbiAgICAgICAgLy8gYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6ICRzcC0yO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAudGVhbS1saXN0aW5ncyB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI0NFQ0VDRTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3AtMjtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcC00O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcC00O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICAgICAgLnRlYW0taGVhZGxpbmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgXG4gICAgfVxuXG59IiwiLmJsb2NrLW1hcmtldC1zdG9yeS1ibG9jayB7XG4gICAgLmN0YV9faW5uZXIge1xuICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJGdyYXktMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRncmF5LTM7XG4gICAgICAgIHBhZGRpbmc6ICRzcC0yIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0zcHg7XG4gICAgfVxuICAgIC5jdGFfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAkc3AtMiAwO1xuICAgIH1cbiAgICAuY3RhX19saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwLTI7XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICAgIC5jb2x1bW5zOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiI2hvbWVfYmFubmVyIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBtYXJnaW46IDA7XG4gIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjAzMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgJi5iYW5uZXJfX2Zvcm1hdC12aWRlbyAuaG9tZV9fYmFubmVyLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmLmJhbm5lcl9fZm9ybWF0LWltYWdlcyAuaG9tZV9fYmFubmVyLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjJzIGVhc2U7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDYuNSU7XG4gICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDkwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNDYuNXZ3O1xuICAgICAgLmhlYWRlci1maXhlZCAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDcycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhvbWVfX2Jhbm5lci12aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG5cbiAgLmhvbWVfX2Jhbm5lci1jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoNzMsNjYsNjcsMCkgMCUsIHJnYmEoMzUsMzEsMzIsMC42KSA2NC4xJSwgcmdiYSgzNSwzMSwzMiwwLjgpIDEwMCUpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6ICRzcC0xICRzcC0yO1xuICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgcGFkZGluZzogJHNwLTIgNTZweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgICYtbGluayB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaG9tZV9fZmVhdHVyZWQtbmV3cyB7XG4gIC5yb3cge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIHAsXG4gIC5mZWF0dXJlZC1uZXdzX19tZXRhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIH1cbiAgfVxuXG4gIHAgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAkc3AtMztcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBtYXJnaW4tdG9wOiAkc3AtMTtcbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZWQtbmV3c19faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcC0xO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuc2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICRncmF5LTQ7XG4gIH1cblxuICAuZmVhdHVyZWQtbmV3c19fcm93ID4gZGl2Omxhc3QtY2hpbGQge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmVkLW5ld3NfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcC00O1xuICB9XG4gIC5mZWF0dXJlZC1uZXdzX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogJHNwLTE7XG4gIH1cblxuICAuZmVhdHVyZWQtbmV3c19fbGluayB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmVkLW5ld3NfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwLTI7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwLTQ7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzcC00O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRncmF5LTQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAkY29sdW1uLWd1dHRlci1zbTtcbiAgICAgIHJpZ2h0OiAkY29sdW1uLWd1dHRlci1zbTtcbiAgICB9XG4gIH1cblxufVxuXG4vLyBUaGlzIGFwcGVhcnMgdG8gYmUgZm9yIGEgdGVzdCBwYWdlIHRoYXQgd2FzLi4uaW4gZGV2P1xuLndlbGNvbWUtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDQwKTtcbiAgLnByaW1hcnktaGVhZGxpbmUgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1NSk7XG4gICAgfVxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICM2YjZiNmI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDU1KSAwIHJlbS1jYWxjKDQwKSAwO1xuICB9XG4gIC5zZWNvbmRhcnktaGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSAwO1xuICB9XG59XG5cbi5uZXdzLXRpdGxlIHtcbiAgd2lkdGg6IDc1JTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogNTtcbiAgY29sb3I6ICRibGFjaztcbiAgLy90ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICB9XG4gIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjkpO1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB9XG4gIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0b3A6IDkwdnc7XG4gICAgbGVmdDogMDtcbiAgfVxuICAubmV3cy1zdWItdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59IC8vIC5uZXdzLXRpdGxlXG5cbi5wYWdlLWhvbWUgLm5ld3MtdGl0bGUge1xuICBjb2xvcjogJHdoaXRlO1xufVxuIiwiYm9keSB7XG5cdGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuXHRjb2xvcjogJGdyYXktMTtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjVzO1xuXHQmLmxvYWRlZCB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQmLm5vc2Nyb2xsIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG5cdH1cbn1cbiNjb250ZW50IHtcblx0Zm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XG59XG5cbi5jZW50ZXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bGluZS1oZWlnaHQ6IDEwMHB4O1xufVxuXG4uZW50cnktbWV0YSB7XG5cdG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi51cGRhdGVkIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnZjYXJkIHtcblx0ZGlzcGxheTogaW5oZXJpdDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xuXHRtYXJnaW46IDA7XG59XG5cbi52Y2FyZCAuZm4ge1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXNpemU6IDFyZW07XG59XG5cbi5lbnRyeS1jb250ZW50IHAge1xuXHRtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4uZmVhdC1ibG9jayB7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuXHRcdGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG5cdH1cblxuXHQmLmRhcmtlbmVkIHtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAyNTAwcHggcmdiYSgwLDAsMCwwLjMpO1xuXHR9XG5cdC5mZWF0LXBhZ2UtdGV4dCB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNSk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdHdpZHRoOiA4MCU7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0cGFkZGluZzogMTglIHJlbS1jYWxjKDIwKTtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNzApO1xuXHRcdH1cblx0fVxufVxuLmNvbnRlbnQtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHRjbGVhcjogYm90aDtcblx0d2lkdGg6IDEwMCU7XG5cdEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcblx0XHR3aWR0aDogNzUlO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHR9XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcblx0KiArIHAge1xuXHRcdG1hcmdpbi10b3A6IC43NXJlbTtcblx0fVxuXHRwICsgb2wsXG5cdHAgKyB1bCB7XG5cdFx0bWFyZ2luLXRvcDogLjc1cmVtO1xuXHR9XG5cdGxpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAuMjVyZW07XG5cdH1cblx0YTpub3QoLmJ1dHRvbikge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cdGltZyB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogcmVtLWNhbGMoMjIpIGF1dG87XG5cdH1cblx0LmludHJvdGV4dCB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0cGFkZGluZzogMXJlbTtcblx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG5cdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHR9XG5cdH1cblx0LmNvbCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH0ge1xuXHRcdFx0d2lkdGg6ICgxMDAlLzMpO1xuXHRcdH1cblx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdGxpIHtcblx0XHRcdG1hcmdpbjogMXJlbSAwO1xuXHRcdH1cblx0fVxuXHQvLyBoMi5wYWdlLXRpdGxlIHtcblx0Ly8gXHRtYXJnaW4tbGVmdDogMDtcblx0Ly8gfVxufVxuXG4ucGFnZS1jdWx0dXJlIHtcblx0LmNvbnRlbnQtc2VjdGlvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLy8gZ2VuZXJhbCBzZWN0aW9uIGNvbnRlbnRcblxuLnNlY3Rpb25zIHtcblx0cGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG59XG5cbi8vIHBhZ2UgYmxvY2tzIChmb3IgZnVsbCBwYWdlIHNsaWRlIHNjcm9sbCBmZWF0dXJlcylcblxuLnBhZ2UtYmxvY2sge1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8vIGF3YXJkcyBwYWdlXG4ucGFnZS1hd2FyZHMgLnBhZ2UtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uYXdhcmQtc2VjdGlvbiB7XG5cdGxpbmUtaGVpZ2h0OjEuMjVyZW07XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCk7XG5cdC5hd2FyZC1sYWJlbHMge1xuXHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcblx0XHRcdHdpZHRoOiA5MCUgIWltcG9ydGFudDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0Ly8gaDUge1xuXHRcdC8vIFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0Ly8gXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdC8vIH1cblx0fVxuXHQuc2luZ2xlLWF3YXJkIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH0ge1xuXHRcdFx0d2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcblx0XHR9XG5cdFx0LmF3YXJkLW5hbWUge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGdyYXk7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAkb3JhbmdlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIG1lbW9yaXVtXG5cbi5tZW1vcml1bS1zZWN0aW9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbGlnaHQtZ3JheSwzMCUpO1xuXHQuaW4tbWVtb3JpdW0ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoOTc1KTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg0MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDgwKTtcblx0fVxufVxuXG4vLyBzZWFyY2hmb3JtXG5cbiNzZWFyY2hmb3JtIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogcmVtLWNhbGMoNDAwKTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0aW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcblx0XHRmb250LWZhbWlseTogJG1haW4tZm9udDtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0fVxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG59XG5cbi50aGUtc2VhcmNoLXJlc3VsdCB7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDQwKTtcbn1cblxuLm5vLXJlc3VsdHMge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1heC13aWR0aDogMTQ0MHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZzogcmVtLWNhbGMoMjApO1xuXHQuc2VhcmNoLXN1Ym1pdCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkb3JhbmdlO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGdyYXktMTtcblx0XHRcdGNvbG9yOiAkZ3JheS0xO1xuXHRcdH1cblx0fVxufVxuXG4vLyAucGFnZS1waGlsb3NvcGh5IGgyIHtcbi8vIFx0bWFyZ2luLWxlZnQ6IDE5OXB4O1xuLy8gfVxuLnBhZ2UtY3VsdHVyZSB7XG4gIC50ZWFtLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gIH1cbiAgaDIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi8vIC5wYWdlLW9wcG9ydHVuaXRpZXMgaDIge1xuLy8gICBtYXJnaW4tbGVmdDogMTk5cHg7XG4vLyB9XG5cblxuLy9vdmVyd3JpdGUgZGVmYXVsdCByb3lhbCBzbGlkZXIgYnVsbGV0IHN0eWxlc1xuLnJzRGVmYXVsdEludiAucnNCdWxsZXRzIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogMCBhdXRvIDM1cHggIWltcG9ydGFudDtcbn1cbi5yc0RlZmF1bHRJbnYgLnJzQnVsbGV0IHtcblx0d2lkdGg6IDE1cHggIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG59XG4ucnNEZWZhdWx0SW52IC5yc0J1bGxldCBzcGFuIHtcbiAgd2lkdGg6IDE1cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICRncmF5IG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAhaW1wb3J0YW50O1xuXG5cdCY6aG92ZXIge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiAkb3JhbmdlIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8vIC5zaW5nbGUtcHJvamVjdCBoMi5wYWdlLXRpdGxlIHtcbi8vICAgd2lkdGg6IDEwMCU7XG4vLyBcdG1hcmdpbi10b3A6IDA7XG4vLyBcdG1hcmdpbi1sZWZ0OiAwO1xuLy8gXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuLy8gXHRwYWRkaW5nLXRvcDogMDtcbi8vICAgcGFkZGluZy1sZWZ0OiAwO1xuLy8gXHRjb2xvcjogJG9yYW5nZTtcbi8vIFx0Zm9udC1zaXplOiAxLjg3NXJlbTtcbi8vIFx0bGluZS1oZWlnaHQ6IDEuNTtcbi8vIFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vIFx0dGV4dC1hbGlnbjogbGVmdDtcbi8vIH1cbi5wcm9qZWN0LWluZm8gdWwge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Zm9udC1zaXplOiAxLjEyNXJlbTtcblx0bGkge1xuICAgIG1hcmdpbjogMXJlbSAwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG5cdH1cbn1cbi5pbWFnZS1jYXB0aW9uIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogNXB4IGF1dG87XG5cdGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnBhZ2UtcGhpbG9zb3BoeSB7XG5cdC5jb250ZW50LXNlY3Rpb24gcCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjVweDsgLy8gcGhpbG9zb3BoeSBwYWdlIG5lZWRzIGV4dHJhIHNwYWNlIGJldHdlZW4gcXVvdGVzXG5cdH1cbn1cbi5wcm9qZWN0LWNvbnRlbnQgYmxvY2txdW90ZSB7XG4vLyAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4vLyAgIGgzIHtcbi8vICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuLy8gICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbi8vICAgfVxuLy8gICBwIHtcbi8vICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4vLyAgIH1cbn1cbiIsIi5hd2FyZHMtYmxvY2sge1xuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQwKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAuZnAtdGFibGVDZWxsIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgfVxuICB9XG4gIC5idXR0b24uZGlzY292ZXItbW9yZSB7XG4gICAgbWFyZ2luOiAycmVtIGF1dG8gNHJlbSBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAuNTVlbTtcbiAgfVxuICAuYXdhcmRzIHtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBAaW5jbHVkZSBibG9jay1ncmlkKDMpO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQoNCk7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA4cmVtO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMXJlbSBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5hd2FyZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbiAgLnMtYXdhcmQtdGh1bWIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMyU7XG4gICAgcGFkZGluZy1yaWdodDogMyU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgLy9oZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAvL21heC1oZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbiAgLnMtYXdhcmQtdGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA2MyU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIC8vbWluLWhlaWdodDogMTUwcHg7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyB0aGVzZSBhcmUgdGhlIGZ1bGwgcGFnZSBzZWN0aW9ucyBmb3Igb3VyIGZpcm1cbi5vZnNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDI1MDBweCByZ2JhKDAsMCwwLDAuMyk7XG4gIC5tYWluLWJsb2NrIHtcbiAgICB3aWR0aDogNzAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5sYXJnZS1jYXB0aW9uLCAubGFyZ2UtY2FwdGlvbiA+IHAge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MCk7XG4gICAgICB9XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuc21hbGwtY2FwdGlvbiwgLnNtYWxsLWNhcHRpb24gPiBwIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn0gIFxuXG5oMy5tZW1vcml1bS1oZWFkZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xufSBcbiIsIi5wYWdlLXRlYW0ge1xuICAucGFnZS10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuICAudGVhbS1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuY29udGVudC1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwcmVtIDEuMjVyZW0gMHJlbTtcbiAgICAvLyBoMi5wYWdlLXRpdGxlIHtcbiAgICAvLyAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIC8vIH1cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIH1cbiAgfVxuICAuY2FwdGlvbi1zZWN0aW9uIHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgfVxuICAudGVhbS1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAubGVhZGVyc2hpcCB7XG4gICAgLmhlYWRzaG90LXdpZHRoIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgfVxuICAgIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIH1cbiAgICAucGVyc29uIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tb25seX0ge1xuICAgICAgICBtaW4taGVpZ2h0OiA2MnZ3O1xuICAgICAgfVxuICAgICAgYSBwaWN0dXJlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICAmLm1vYmlsZS1oZWFkc2hvdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMjA3IC8gMjI2O1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZGVza3RvcC1oZWFkc2hvdCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAyNzIgLyAzMzk7XG4gICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICBpbWc6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50ZWFtLXNlY3Rpb24ge1xuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoOCk7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRtZWRpdW0tb25seX0ge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgfVxuICAubGVhZGVyc2hpcCxcbiAgLnRlYW0ge1xuICAgIC50ZWFtLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkuMik7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZzogMCAwIDE3cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NlY2VjZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgfVxuICAgIH1cbiAgICAucGVyc29uLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAwO1xuICAgICAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICB9XG4gICAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAubGluay1hcnJvdyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgIC5sb2NhdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBjb2xvcjogJGdyYXktMTtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdWx0dXJlLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtY3VsdHVyZSB7XG4gIC5yb3cuY3VsdHVyZS1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gIH1cbiAgLnJvdy5jdWx0dXJlLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgfVxuICAucm93LnByb2plY3QtZ2FsbGVyeSB7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gIH1cbn1cblxuLnNpbmdsZS1wZW9wbGUge1xuICAuY3JlZGVudGlhbHMsXG4gIC5uZXdzIHtcbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG4gICAgaDUgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgIH1cbiAgICB9XG4gICAgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zNztcbiAgICB9XG4gICAgcCA+IGEge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmNyZWRlbnRpYWxzICsgLm5ld3Mge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbiAgLmxlZnQtcHJvZmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG4gICAgLnByby10aXRsZSxcbiAgICAucGVyc29uLW5hbWUge1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgIH1cbiAgICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgfVxuICAgICAgLmNvbnRhY3QtaXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRhY3QtaXRlbSB7XG4gICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmxpbmstbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICArIC5jb250YWN0LWl0ZW0ge1xuICAgICAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjFweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubmV3cyxcbiAgICAuY3JlZGVudGlhbHMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5yaWdodC1wcm9maWxlIHtcbiAgICAucGVyc29uLW5hbWUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLm5ld3MsXG4gICAgLmNyZWRlbnRpYWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAucGVyc29uLW5hbWUsXG4gICAgLnByby10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJpbyB7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG4gIC5yZWNlbnQtcHJvamVjdHMge1xuICAgIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNik7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgLy90cnlpbmcgZm9yIDEyNSB4IDkwXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDE1cHggd2hpdGU7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiAoMTAwJS8zKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDE1cHggd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm9qZWN0LXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgICAudGl0bGUtdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cbiAgICAucHJvamVjdC1pbWcge1xuICAgICAgLy8gZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBhZGRpbmctdG9wOiA3MiU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICArIC5wcm9qZWN0LXRpdGxlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGltZy5wcm9maWxlLWltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG8gcmVtLWNhbGMoMjApIGF1dG87XG4gIH1cbn0gLy8gLnNpbmdsZS1wZW9wbGVcblxuLy8gTGF5b3V0IG9mIHRlYW0gZ3JpZFxuI3Byb2plY3QtdGVhbS1ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDUwJSwgMWZyKSk7XG4gIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gIGdyaWQtZ2FwOiAwO1xuICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XG4gIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwJSwgMWZyKSk7XG4gIH1cbiAgLmktdGVhbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHdoaXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pdy0xIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pdy0yIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pdy0zIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5paC0xIHtcbiAgICAgIGhlaWdodDogNTB2dztcbiAgICAgIEBtZWRpYSAjeyRsYXJnZX0ge1xuICAgICAgICBoZWlnaHQ6IDM1dnc7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQ4OHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgYm9yZGVyOiA4cHggc29saWQgd2hpdGU7XG4gICAgfVxuICAgIHBpY3R1cmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTB2dztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgJi5kZXNrdG9wLWhlYWRzaG90IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubW9iaWxlLWhlYWRzaG90IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDUwdncgLSAzMHB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDM1dncgLSAxMjhweCk7XG4gICAgICAgICAgYm90dG9tOiAxMjhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucHJvamVjdC10aXRsZSB7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCkgMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjhweDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTMpIDA7XG4gICAgICB9XG4gICAgICAudGl0bGUtdGV4dCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgLy8gY29sb3I6ICRncmF5O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHotaW5kZXg6IDUwMDtcbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubG9jYXRpb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIC5wcm9qZWN0LXRpdGxlXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIGEuaS10ZWFtOmhvdmVyIGltZyB7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIC8vICsgLnByb2plY3QtdGl0bGUge1xuICAgIC8vICAgb3BhY2l0eTogMTtcbiAgICAvLyB9XG4gIH1cbn1cblxuLy8gcGVvcGxlIHBhZ2UgZmlsdGVyc1xuXG4ucGFnZS10ZWFtIHtcbiAgLnRlYW0tZmlsdGVycyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3cubWFpbi1jYXRzLmxvd2VyLmNsb3NlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIGxpIGJ1dHRvbi5maWx0ZXItYnRuIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnBlb3BsZS1sb3dlciAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgLnJvdy5tYWluLXRhZ3MucGVvcGxlLWxvd2VyIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuICAucGFnZS1pZC0yMDQgLnNlY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgfVxuICBidXR0b24uZmlsdGVyLWJ0bi5hY3RpdmUge1xuICAgIGNvbG9yOiAjMjMxZjIwO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZmE0NjE2O1xuICB9XG4gIGJ1dHRvbi5maWx0ZXItYnRuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjNjM2NDY2O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMjcuMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAnRkYgTWV0YScsIEhlbHZldGljYU5ldWUtTGlnaHQsICdIZWx2ZXRpY2EgTmV1ZSBMaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdMdWNpZGEgR3JhbmRlJywgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW46IDEuNXJlbSAwIDEuMDYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDElO1xuICB9XG4gIGJ1dHRvbi5maWx0ZXItYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZhNDYxNjtcbiAgfVxuICAubmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMyMzFmMjAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC50aXRsZSB7XG4gICAgY29sb3I6ICM2MzY0NjY7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLmxvY2F0aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjNjM2NDY2O1xuICB9XG4gIC5sZWFkZXJzaGlwIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgIC5jb250ZW50LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMCAxLjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnJvdy5tYWluLXRhZ3MucGVvcGxlLWxvd2VyLnRlYW0tZmlsdGVycyB7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29udGVudC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDByZW0gMXJlbSAwcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAudGVhbS1maWx0ZXJzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnJvdy5tYWluLWNhdHMubG93ZXIuY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudGVhbS1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MXB4KSB7XG4gICAgLmxlYWRlcnNoaXAgLmNvbHVtbnMge1xuICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAudGl0bGUsXG4gICAgLmxvY2F0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbWFya2V0LWxhbmRpbmcsXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nIHtcbiAgbWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7XG4gIC8vIHBhZGRpbmc6MTVweDtcbiAgLmxhbmRpbmctcGFnZS10ZW1wbGF0ZS1ibG9jay13cmFwcGVyIHtcbiAgICBwYWRkaW5nOjE1cHg7XG4gICAgbWF4LXdpZHRoOjE0MDBweDtcbiAgICBtYXJnaW46YXV0bztcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTByZW0pIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG4gIC5ibG9jayxcbiAgW2NsYXNzKj0nYmxvY2stJ10ge1xuICAgIHBhZGRpbmctdG9wOjA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnBhZ2UtaW50cm8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46MnJlbSBhdXRvO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgIH1cbiAgICBwIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgZm9udC1zaXplOjIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjM1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sYW5kaW5nLXBhZ2UtdGVtcGxhdGUtYmxvY2std3JhcHBlciA+IHNlY3Rpb24ge1xuICAgIG1hcmdpbjogNTZweCAwO1xuICAgIC5yb3cge1xuICAgICAgbWFyZ2luOjAgLTEwcHg7XG4gICAgICB3aWR0aDphdXRvO1xuICAgICAgbWF4LXdpZHRoOmNhbGMoMTAwJSArIDIwcHgpO1xuICAgIH1cbiAgICAucm93LWNvbnRhaW5lZCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46YXV0bztcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgbWF4LXdpZHRoOiA4My4zMyU7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NiU7XG4gICAgICB9XG4gICAgICAvLyAuY29sdW1ucyB7XG4gICAgICAvLyAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIC8vIH1cbiAgICB9XG4gICAgXG4gICAgLy8gLmVuZCB7XG4gICAgLy8gICAuY29sdW1ucysuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAvLyAgICAgZmxvYXQ6bGVmdDtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHBhZGRpbmc6ICRzcC00ICRzcC0yO1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgYm9yZGVyOjA7XG4gICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAjQ0VDRUNFO1xuICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjQ0VDRUNFO1xuICAgICAgICBjaXRlLFxuICAgICAgICBwLmNpdGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaDQge1xuICAgICAgICAvLyAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIC8vICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgICAvLyAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIC8vICAgYm9yZGVyLWJvdHRvbTowO1xuICAgICAgICAvLyAgIGNvbG9yOiM0MDhDRkY7XG4gICAgICAgIC8vICAgZm9udC1zaXplOjIxcHg7XG4gICAgICAgIC8vICAgZm9udC1zdHlsZTppdGFsaWM7XG4gICAgICAgIC8vICAgZm9udC13ZWlnaHQ6MTAwO1xuICAgICAgICAvLyAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gJiA+IHAge1xuICAgICAgICAvLyAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAvLyAgIGNvbG9yOiM0MDhDRkY7XG4gICAgICAgIC8vICAgbWFyZ2luOjA7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIGZvciBjYXRlZ29yeSBmaWx0ZXJpbmcgVUlcbi5yb3cubWFpbi1jYXRzIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmZpbHRlcl9fdG9nZ2xlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGdyYXktMTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgW2NsYXNzKj0naWNvbi0nXSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4KTtcbiAgICB9XG4gIH1cblxuICAmLmxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvL0BtZWRpYSAjeyRtZWRpdW19IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHVsIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTkpO1xuICAgICAgQG1lZGlhICN7bGFyZ2UtZG93bn0ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgfVxuICAgIH1cbiAgICA+IHVsIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYub3BlbiB7XG4gICAgICA+IHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTIpO1xuICAgICAgICBtYXgtaGVpZ2h0OiA3NXZoO1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmlsdGVyX190b2dnbGUge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vfVxuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gICYuZml4ZWQtc2Nyb2xsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvdHRvbTogMDtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XG4gICAgfVxuICB9XG5cbiAgLnNob3ctbWVudSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC8vIGhpZGUgY2hlY2tib3hcbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvLyBTaG93IG1lbnUgd2hlbiBpbnZpc2libGUgY2hlY2tib3ggaXMgY2hlY2tlZFxuICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgfiAjbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1MDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmLm1haW4tY2F0ZWdvcmllcyB7XG4gICAgICAmLnN1Yi1maWx0ZXItb3BlbiA+IGxpID4gYSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICBwYWRkaW5nOiAwIDAuMjVlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDI0KSAwIHJlbS1jYWxjKDE3KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICAvLyB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG5cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTY4cHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNlbGVjdGVkLFxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmYTQ2MTY7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgJi5zdWItZmlsdGVyX19vcGVuIHtcbiAgICAgICAgICBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnN1Yi1maWx0ZXJfX2Nsb3NlIHtcbiAgICAgICAgICBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgW2NsYXNzKj0naWNvbi0nXSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnN1Yi1maWx0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vIHRvcDogMy43NXJlbTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBEZXNjcmlwdGlvbiBmb3IgaW5kaXZpZHVhbCBjYXRlZ29yeVxuLnJvdy5jYXQtZGVzY3JpcHRpb24ge1xuICAvLyBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbSAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMjlweDtcblxuICBoNSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuZGVzY3JpcHRpb24tdGV4dCB7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICB9XG4gIH1cbiAgLnByb2plY3QtbGFiZWxzIHtcbiAgICBoNSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDFyZW0gMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLXBvcnRmb2xpbyAuY29udGVudC1hcmVhLFxuLnRheC1wcm9qZWN0LWNhdGVnb3JpZXMgLmNvbnRlbnQtYXJlYSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIExheW91dCBvZiBwcm9qZWN0cyBvbiBwYWdlc1xuI3Byb2plY3RfaG9tZV9ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwJSwgMWZyKSk7XG4gIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gIGdyaWQtZ2FwOiAwO1xuICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XG4gIC5pLXByb2plY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgd2hpdGU7XG4gICAgJi5pdy0yIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgfVxuICAgICYuaXctMyB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICAgIH1cbiAgICAmLmloLTEge1xuICAgICAgaGVpZ2h0OiAzMHZ3O1xuICAgICAgbWF4LWhlaWdodDogNDIzcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBib3JkZXI6IDhweCBzb2xpZCB3aGl0ZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzB2dztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgIH1cbiAgICAucHJvamVjdC10aXRsZSB7XG4gICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgLnRpdGxlLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOTAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5mYWRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgLW1vei1vcGFjaXR5OiAwLjM7XG4gICAgICAgIC13ZWJraXQtb3BhY2l0eTogMC4zO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIC5uby10b3VjaCAmIC5wcm9qZWN0LXRpdGxlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbG9yOiAkZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5hcmNoaXZlLnRheC1wcm9qZWN0LWNhdGVnb3JpZXMgLnRoZS1zaXRlLWNvbnRlbnQsXG4ucGFnZS1wb3J0Zm9saW8gLnRoZS1zaXRlLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg5MCk7XG59XG5cbmJvZHk6bm90KC5wYWdlLXBvcnRmb2xpbyk6bm90KC50YXgtcHJvamVjdC1jYXRlZ29yaWVzKTpub3QoLnBhZ2UtY29tcGxldGUtcG9ydGZvbGlvKSB7XG4gICNwcm9qZWN0X2dyaWQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sdW1uc2V0IHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5pLXByb2plY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHdoaXRlO1xuICAgIGhlaWdodDogMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBib3JkZXI6IDhweCBzb2xpZCB3aGl0ZTtcbiAgICB9XG5cbiAgICAucHJvamVjdC1waG90byB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzB2dztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgIH1cbiAgICAucHJvamVjdC10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgICAudGl0bGUtdGV4dCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOTAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5mYWRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgLW1vei1vcGFjaXR5OiAwLjM7XG4gICAgICAgIC13ZWJraXQtb3BhY2l0eTogMC4zO1xuICAgICAgfVxuICAgICAgLnByb2plY3QtdGl0bGUge1xuICAgICAgICBjb2xvcjogJGdyYXkgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmLml3LTEge1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG4gICAgJi5pdy0yIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuICAgICYuaXctMyB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgIH1cbiAgICAmLmloLTEge1xuICAgICAgaGVpZ2h0OiAzMHZ3O1xuICAgICAgbWF4LWhlaWdodDogNDIzcHg7XG4gICAgfVxuICAgICYuaWgtMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMjAlO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCIuZmVhdHVyZWQtcHJvamVjdC1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuaDEucHJvamVjdC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiByZW0tY2FsYyg0MCkgMDtcbn1cblxuLnJvdy5wcm9qZWN0LXJvdyB7XG4gIG1heC13aWR0aDogNzNyZW0gIWltcG9ydGFudDtcbn1cblxuLnByb2plY3QtY29udGVudCB7XG4gIFxuICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMjApO1xuICBcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICB9XG59XG5cbi8vIGltYWdlcyB3aXRoIGNhcHRpb25zIHN0YXkgbGVmdFxuXG5maWd1cmUud3AtY2FwdGlvbiB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLy8gbWFyZ2luOiAwcHggMHB4O1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5wcm9qZWN0LWluZm8ge1xuICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgMDtcbiAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcblxuICAmLnBlb3BsZSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgLnByb2plY3QtcGVyc29uIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gaDMge1xuICAvLyAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8vICAgY29sb3I6ICRvcmFuZ2U7XG4gIC8vICAgZm9udC1zaXplOiAyMHB4O1xuICAvLyB9XG4gIC5wcm9qZWN0LWF3YXJkIHtcbiAgICBtYXJnaW46IDFyZW0gMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICB9XG59XG5cbi5yZWxhdGVkLXByb2plY3RzIHtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgXG4gIH1cbiAgLmZlYXR1cmVkLW5ld3MtYmxvY2sge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG4gIC5uZXdzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi5uZXh0LXBvc3QtYmxvY2sge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAyMDAwcHggcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDgwKSByZW0tY2FsYygyMCk7XG4gIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgIGJvcmRlcjogc29saWQgN3B4IHdoaXRlO1xuICB9XG4gIC5uZXh0LXByb2plY3QtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM1KTtcbiAgICB9XG4gIH1cbiAgLm5leHQtcHJvamVjdC10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ1KTtcbiAgICB9XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cbn1cblxuLy8gc29jaWFsIHNoYXJpbmdcbmJvZHkuc2luZ2xlLXByb2plY3Qge1xuICAuc2Qtc29jaWFsLWljb24gLnNkLWNvbnRlbnQgdWwgbGlbY2xhc3MqPSdzaGFyZS0nXSBhLCAuc2Qtc29jaWFsLWljb24gLnNkLWNvbnRlbnQgdWwgbGlbY2xhc3MqPSdzaGFyZS0nXSBhOmhvdmVyLCAuc2Qtc29jaWFsLWljb24gLnNkLWNvbnRlbnQgdWwgbGlbY2xhc3MqPSdzaGFyZS0nXSBkaXYub3B0aW9uIGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC8vb3BhY2l0eTogLjg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5hbGwtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbn0gIFxuXG4ucHJvamVjdC1wZXJzb24gLmltYWdlLWNhcHRpb24ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLy9MZWdhY3kgY2xhc3MgZm9yIHByZS1leGlzdGluZyBwcm9qZWN0IGdyaWRcbi5yb3cucHJvamVjdC1nYWxsZXJ5IHtcbiAgcGFkZGluZzogMCA4cHg7XG59XG5cbi5yZWxhdGVkLXByb2plY3RzIHtcbiAgcGFkZGluZzogMCByZW0tY2FsYyg4KTtcbn1cblxuLnJlbGF0ZWQtcHJvamVjdHMgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZlYXR1cmVkLXJlYWRpbmcge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMTAwMHB4IHJnYmEoMjU1LDI1NSwyNTUsMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xuICB9XG4gIGE6bm90KC5yZWxhdGVkLXBvcnRmb2xpby1saW5rKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICAubmV3cy10aXRsZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAuZmVhdHVyZWQtbmV3cy1ibG9jayB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cdGgyLnNlY29uZGFyeS1oZWFkbGluZSB7XG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg5NzUpO1xuXHRcdG1hcmdpbi1sZWZ0OiAxLjIlO1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRjb2xvcjogJG9yYW5nZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLm5ld3MtdGl0bGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgfVxuXHQuZmVhdHVyZWQtbmV3cy1ibG9jay1vdmVybGF5IHtcbiAgXHR3aWR0aDogMTAwJTtcbiAgXHRoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB6LWluZGV4OiA0O1xuXHR9XG4gIC5mZWF0dXJlZC1uZXdzLWJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gICAgfVxuICB9IC8vIC5mZWF0dXJlZC1uZXdzLWJsb2NrXG4gIFxufSAvLyAuZmVhdHVyZWQtcmVhZGluZ1xuXG5AbWVkaWEgI3skc21hbGwtb25seX0ge1xuXG4ucHJvamVjdC1jb250ZW50XHR7XG5cdHBhZGRpbmc6MC41cmVtIDEuMjVyZW07XG59XG4ucHJvamVjdC1pbmZvLnBlb3BsZSB7cGFkZGluZy10b3A6IDAuNXJlbSFpbXBvcnRhbnQ7fVxuLmNvbnRlbnQtc2VjdGlvbiBpbWcge1xuXHRtYXJnaW46MC41cmVtIGF1dG87XG59XG5cbn0iLCIuYmxvZyxcbi5hcmNoaXZlLFxuLnNpbmdsZS1wb3N0IHtcbiAgLmZlYXR1ZWQtcG9zdCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDY3KTtcbiAgICA+IGg1IHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC0xMDAlLDApO1xuICAgIH1cbiAgICAuYmxvZy1wb3N0LmZlYXR1cmVkIHtcbiAgICAgIC5lbnRyeS1oZWFkZXIge1xuICAgICAgICAuZW50cnktaXRlbS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgfVxuICAgICAgICAuYXV0aG9yLWNyZWRpdCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5lbnRyeS1jb250ZW50IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmVudHJ5LWZvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMCA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucG9zdHMtZmVlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMCAtMTVweDtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTdweDtcbiAgICB9XG4gICAgLmJsb2ctcG9zdCB7XG4gICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy8gbWFyZ2luLXRvcDogcmVtLWNhbGMoNjcpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDIwcHggcmVtLWNhbGMoMTUpIDQ3cHg7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICAgIGFydGljbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYmxvZy1wb3N0IHtcbiAgICAuZW50cnktaGVhZGVyIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZW50cnktaXRlbS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICA+IGE6bGluaywgXG4gICAgICAgID4gYTp2aXNpdGVkIHtcbiAgICAgICAgICBjb2xvcjogIzIzMWYyMFxuICAgICAgICB9XG4gICAgICAgID4gYTpob3ZlciwgXG4gICAgICAgID4gYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAkZ3JheS0xO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5tYWluLWFydGljbGUge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYyg0MCkgMDtcbiAgICB9XG4gICAgLmVudHJ5LWZvb3RlciB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNikgMCByZW0tY2FsYygzMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGdyYXktNDtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgfVxuICAgIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmVudHJ5LWNvbnRlbnQsXG4gICAgLm1haW4tYXJ0aWNsZSB7XG4gICAgICBmaWd1cmUuYWxpZ25sZWZ0LFxuICAgICAgaW1nLmFsaWdubGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZmlndXJlLmFsaWducmlnaHQsXG4gICAgICBpbWcuYWxpZ25yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZmlndXJlLmFsaWduY2VudGVyLFxuICAgICAgaW1nLmFsaWduY2VudGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIGltZy5hbGlnbmNlbnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICBmaWd1cmUge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5hdXRob3ItY3JlZGl0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICBoNS5yZWFkbW9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgLmVudHJ5LW1ldGEge1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIH1cbiAgICAgIC5wb3N0ZGF0ZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9nLW5hdiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5sZWZ0LW5hdiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjUpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgfVxuICAgIC5yaWdodC1uYXYge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyB0aGUgc2lkZWJhciAoIGxlZnQgc2lkZSApXG4gIC5ibG9nLXNpZGViYXIge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgLnNvY2lhbC1ibG9jay5zb2NpYWwtbGluay1ncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC5zb2NpYWwtYmxvY2sge1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXG4gICAgICAuaW5saW5lLWZsZXgge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIH1cblxuICAgICAgLnNvY2lhbC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiAjNmI2YjZiO1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogNTNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjVweDtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBoZWlnaHQ6MjBweDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGZpbGw6IzZiNmI2YjtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkb3JhbmdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRvcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgfVxuXG4gICAgICAjdGV4dC0zLFxuICAgICAgI3RleHQtOCB7XG4gICAgICAgIHAuYWRkcmVzcyxcbiAgICAgICAgcC5hZGRyZXNzLXBvcnRsYW5kIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLXBvc3RzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgLnRhZy10b2dnbGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ibG9nLXBvc3QtZm9vdGVyIC5jYXQtc2VjdGlvbixcbiAgLmNhdC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAxcmVtIDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YWctc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICYub3BlbiB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICAgIC5ibG9nLXRhZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4wMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDIwKTtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDUpIDAgMDtcbiAgICAgIGNvbG9yOnJnYmEoMCwwLDAsMC4zKTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWdlLWhlYWRlciAge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgJl9faW5uZXIge1xuICAgICAgcGFkZGluZzogMCAwIDQwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyYXktNDtcbiAgICB9XG4gICAgLmFyY2hpdmUtdGl0bGUge1xuICAgICAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpbmdsZS1wb3N0IHtcbiAgaDEucGFnZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG4gIC5lbnRyeS1oZWFkZXItLWluZm8geyAgXG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICAgIC5hdXRob3ItY3JlZGl0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpOyAgXG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyAgXG4gICAgICB9XG4gICAgfVxuICAgIC5lbnRyeS1tZXRhIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgIFxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYmxvZy1wb3N0IC5tYWluLWFydGljbGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbi8vIFBvc3RzIG5hdmlnYXRpb25cbi5zaW5nbGUtcG9zdCxcbi5ibG9nLFxuLmFyY2hpdmUge1xuICAubmF2aWdhdGlvbi5wb3N0cy1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDAgMzBweDtcbiAgICAubmF2LWxpbmtzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIC5uYXYtcHJldmlvdXMsXG4gICAgLm5hdi1uZXh0IHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGdyYXktMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheS0xO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiA2MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm5hdi1wcmV2aW91cyB7XG4gICAgICBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubmF2LW5leHQge1xuICAgICAgW2NsYXNzKj0naWNvbi0nXSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnNpbmdsZS1wb3N0IHtcbiAgLm5hdmlnYXRpb24ucG9zdHMtbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAubmF2LWxpbmtzIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBpbml0aWFsO1xuICAgIH1cbiAgICAubmF2LXByZXZpb3VzLCBcbiAgICAubmF2LW5leHQge1xuICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgaDUge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5uYXYtcHJldmlvdXMge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm5hdi1uZXh0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBbY2xhc3MqPSdpY29uLSddIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0LWZvb3RlciB7XG4gIC5lbnRyeS1tZXRhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyYXktNDtcbiAgICAmLS1pbm5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2F0ZWdvcmllcyB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7ICBcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRhZy10b2dnbGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH0gIFxuICAgICAgfVxuICAgIH1cbiAgICAudGFnLXNlY3Rpb257XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyAgIFxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzZweDtcbiAgICAgIGg1IHtcbiAgICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgICAucG9zdGRhdGUge1xuICAgICAgbWFyZ2luOiA4cHggMCAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgY29sb3I6ICRncmF5LTI7XG4gICAgfVxuICB9XG4gIC5yZWxhdGVkLXBvc3RzIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICYtLWhlYWRpbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAkZ3JheS0xO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuICB9XG59XG4uc2luZ2xlLXBvc3QgLmJsb2ctcG9zdCxcbi5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1jb250ZW50IHtcbiAgLndwLWNhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLndwLWNhcHRpb24tdGV4dCBwLFxuICAgIC53cC1jYXB0aW9uLXRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBjb2xvcjogJGdyYXktMTtcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgfVxuICAgICYucG9zdC1oZXJvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICB9ICBcbiAgICB9XG4gIH1cbiAgLmJsb2NrLXBvc3RzIHtcbiAgICAmLWNvcHkge1xuICAgICAgLnBvc3RzLWNvcHkge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgKyAud3AtY2FwdGlvbixcbiAgICAgICAgKyBwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAud3AtY2FwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICAgIC53cC1jYXB0aW9uICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICYtbGFyZ2UtaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiA4My4zMzM2JTsgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDAgO1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogODMuMzMzNiU7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2luZ2xlLXBvc3QgLmJsb2NrLWltYWdlcy1ncmlkIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICAuaW1hZ2VzLWdyaWQge1xuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgd2lkdGg6IDgzLjMzMzYlOyAgIFxuICAgIH1cbiAgfVxufSIsIi5wYWdlLWNvbnRhY3Qge1xuICBcbiAgLy8gaDIucGFnZS10aXRsZSB7XG4gIC8vIFx0bWFyZ2luLWxlZnQ6IDguMzMzMzMlO1xuICAvLyBcdHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAvLyB9XG4gIC5nZmllbGQubGVmdC1maWVsZCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuICB9XG4gIC5nZmllbGQucmlnaHQtZmllbGQge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgd2lkdGg6IDQ4JTtcbiAgICB9XG4gIH1cbiAgLmNvbnRhY3QtY29sdW1uIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gIH1cbiAgLmxvY2F0aW9uLXNlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ0KTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICB9XG4gICAgfVxuICAgIGFkZHJlc3Mge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyAuY29udGFjdC1zZWN0aW9uIHtcbiAgLy8gICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIC8vIH1cbiAgLmNvbnRhY3Qtc2VjdGlvbiB7XG4gICAgXG4gICAgJi50cmFuc2l0IHtcbiAgICAgIC8vIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBoNSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjowIDAgMTVweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXJ0aWNsZS5vZmZpY2UtbG9jYXRpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG5cbiAgLm1hcC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOjEuNXJlbTtcbiAgICBAbWVkaWEgI3skbGFyZ2Utb25seX0ge1xuICAgICAgcGFkZGluZzowIDMwcHg7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogMC43MjVyZW0gMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC5jb2x1bW5zICsgLmNvbHVtbnMge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyAgXG4gICAgICB9XG4gICAgfVxuICAgIC53cGdtemFfbWFwICAge1xuICAgICAgaGVpZ2h0OjQ1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLW9ubHl9IHtcbiAgICAgICAgaGVpZ2h0OjM3NXB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5nZm9ybV93cmFwcGVyIHtcbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgc2VsZWN0LCB0ZXh0YXJlYSwgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkbGlnaHQtZ3JheTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgfVxuXG4gIHNlbGVjdCwgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gIH1cblxuICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAtNzFweCAhaW1wb3J0YW50O1xuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI2dmb3JtXzEge1xuICAgIGlucHV0I2dmb3JtX3N1Ym1pdF9idXR0b25fMSB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAuZ2Zvcm0tY3VzdG9tLXN1Ym1pdC1idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgbWFyZ2luOiAwIDE2cHggMCAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdTdWJtaXQnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJvZHkgJiB7XG4gICAgJi5ncmF2aXR5LXRoZW1lIHtcbiAgICAgIC5nZmllbGQtY2hvaWNlLWlucHV0K2xhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgICAgIH1cblxuICAgICAgLmdmaWVsZF9saXN0X2ljb25zIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufSIsIi5wYWdlLXNlcnZpY2VzIHtcblx0LnRoZS1zaXRlLWNvbnRlbnQge1xuXHRcdC8vIGgxIHtcblx0XHQvLyBcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Ly8gXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdC8vIFx0Zm9udC1zaXplOiAxLjg3NXJlbTtcblx0XHQvLyB9XHRcblx0XHQucHJvamVjdC1jb250ZW50IHtcblx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXHRcdH1cblx0XHQuY29sIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG5cdFx0XHRcdHdpZHRoOiAoMTAwJS80KTtcblx0XHRcdH1cblx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0fVxuXHRcdC5yb3cuZm91cmNvbCAuY29sdW1ucyB7XG5cdFx0XHRwYWRkaW5nOiAwIDFyZW0gMCAyLjI1cmVtO1xuXHRcdFx0XG5cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGg1IHtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogc2Fucy1zZXJpZjtcblx0XHRcdFx0XHRcdGNvbG9yOiAkb3JhbmdlO1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCIg4oaSXCI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3ZlciBoNSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dWwge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjVyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0gLy8gLnBhZ2Utc2VydmljZXNcblxuLy8gVGVtcGxhdGUgc3BlY2lmaWMgdG8gc2VydmljZXMsIHN1Yi1wYWdlcyBvZiBtYWluIFNlcnZpY2VzIHBhZ2Vcbi5wYWdlLXRlbXBsYXRlLXBhZ2Utc2VydmljZXMtdGVtcGxhdGUge1xuXHRoMSB7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTogMTUwJTtcblx0XHRwYWRkaW5nOiAuNWVtIDA7XG5cdH1cblx0LnBlb3BsZSB7XG5cdFx0LnByb2plY3QtcGVyc29uIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDE2cHg7XG5cdFx0fVxuXHR9XG5cdC5yb3cucHJvamVjdC1nYWxsZXJ5IHtcblx0XHRwYWRkaW5nOiA4cHg7XG5cdH1cblx0LnJlbGF0ZWQtcG9ydGZvbGlvLWhlYWRlciB7XG5cdFx0bWluLWhlaWdodDoxNTBweDtcblx0fSBcblx0LnJlbGF0ZWQtcG9ydGZvbGlvLWxpbmsge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdCAgICBjb2xvcjogJG9yYW5nZTtcblx0XHRwYWRkaW5nLXRvcDogMy43NXJlbTtcblx0fVxuXHQucmVsYXRlZC1wb3J0Zm9saW8tbGluazphZnRlciB7XG5cdFx0Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG5cdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0Y29udGVudDogXCIg4oaSXCI7XHRcblx0fVxuXHQucmVsYXRlZC1sZWZ0IHtcblx0XHR3aWR0aDogNTAlO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0bWluLWhlaWdodDogNjBweDtcblx0fVxuXHQucmVsYXRlZC1yaWdodCB7XG5cdFx0d2lkdGg6IDUwJTtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0bWluLWhlaWdodDogNjBweDtcblx0fVxufSIsIiNib2R5IC5zZWFyY2gge1xuICAgICZfX2Zvcm0ge1xuICAgICAgICBwYWRkaW5nOiA1NnB4IDA7XG4gICAgICAgIC5zZWFyY2gtc3VibWl0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcdFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2hmaWVsZCxcbiAgICAgICAgLnNlYXJjaC1zdWJtaXQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICNuYXZzZWFyY2gge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ3JheS00O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuc2VhcmNoZmllbGQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAwIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19uYXYge1xuICAgICAgICBtYXJnaW46IDAgMDtcbiAgICAgICAgJi5kZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1NnB4O1xuICAgICAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmRlc2t0b3Age1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LTI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcbiAgICAgICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICArIGxpIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTsgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS0yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3Jlc3VsdHMge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNTZweDtcbiAgICB9XG4gICAgJl9fcmVzdWx0cy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDc3cHg7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICArIC5zZWFyY2hfX3Jlc3VsdHMtc2VjdGlvbiAuc2VhcmNoX19yZXN1bHRzLXNlY3Rpb24tLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDc3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuc2VhcmNoLXJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgIH1cbiAgICAgICAgJiNyZXN1bHRzLW5ld3Mge1xuICAgICAgICAgICAgLnNlYXJjaC1yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtLjVyZW07XG4gICAgICAgICAgICB9ICAgIFxuICAgICAgICB9XG4gICAgICAgICYtLWZvb3RlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRncmF5LTQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRncmF5LTQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgLmZhbmN5LWxpbmsge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgLmNvdW50IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5LTI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLXJlc3VsdF9fcHJvamVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAmLS10aXRsZSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1sb2NhdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGNvbG9yOiAkZ3JheS0yO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgfVxuICAgIC5wcm9qZWN0IHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuc2VhcmNoLXJlc3VsdF9fcHJvamVjdC0tdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlIGltZyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoNTB2dyAtIDE2cHgpO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMSU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDElO1xuICAgICAgICAgICAgICAgIC8vIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjMuNzV2dztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWFyY2gtcmVzdWx0X19wZW9wbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgYTpob3ZlciB7XG4gICAgICAgIHBpY3R1cmUgaW1nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtcmVzdWx0X19wZW9wbGUtLW5hbWUge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcGljdHVyZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1uYW1lIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gICAgJi0tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyBcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICB9XG4gICAgLnByb2ZpbGUtaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4jYm9keSAuc2VhcmNoLXJlc3VsdF9fbmV3cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAmLmNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IC41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICB9XG4gICAgLmlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNGMUYxRjI7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwLjVyZW07XG4gICAgICAgICAgICByaWdodDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLWxpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAvLyBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB9XG4gICAgJi0taW1hZ2UgKyAuc2VhcmNoLXJlc3VsdF9fbmV3cy0tbWV0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgICYtLW1ldGEge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuICAgICYtLWF1dGhvci1jcmVkaXQge1xuICAgICAgICBjb2xvcjogJGdyYXktMTtcbiAgICAgICAgZm9udC1zaXplOiAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG4gICAgJi0tZXhjZXJwdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC43NXJlbTtcbiAgICB9XG59XG5cbiNib2R5IC5zZWFyY2gtcmVzdWx0X19wYWdlIHtcbiAgICArIC5zZWFyY2gtcmVzdWx0X19wYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG4gICAgYTpob3ZlciB7XG4gICAgICAgIC5zZWFyY2gtcmVzdWx0X19wYWdlLS10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS10aXRsZSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgICYtLW1ldGEgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB9XG4gICAgJi0tZXhjZXJwdCB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufSIsImJvZHkge1xuXHRwb3NpdGlvbjogaW5oZXJpdDsgLy8gRml4ZWQgdGhlIGFkbWluIGJhclxuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmlmcmFtZSB7XG5cdG1heC13aWR0aDogMTAwJTsgLy8ga2VlcCBpRnJhbWUgdmlkZW9zIGZyb20gc3BpbGxpbmcgb3V0c2lkZSBjb250YWluZXJcbn1cblxuLy8gVGhlIGZvbGxvd2luZyB3YXMgcmVtb3ZlZCBmcm9tIEN1c3RvbSBDU1MgaW4gV29yZFByZXNzXG4vLyBJdCdzIGEgbWVzcy5cblxuLypcbldlbGNvbWUgdG8gQ3VzdG9tIENTUyFcblxuVG8gbGVhcm4gaG93IHRoaXMgd29ya3MsIHNlZSBodHRwOi8vd3AubWUvUEVtbkUtQnRcbiovXG5ib2R5IHtcblx0Zm9udC1mYW1pbHk6IFwiRkYgTWV0YVwiLCBIZWx2ZXRpY2FOZXVlLUxpZ2h0LCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5zYi1pdGVtIGltZyB7XG5cdG1heC1oZWlnaHQ6IDcwMHB4O1xufVxuXG4uZmVhdHVyZWQtcG9zdHMgdWwge1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLmZlYXR1cmVkLXBvc3RzIGxpIHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucGFnZS1hd2FyZHMgLnBhZ2UtdGl0bGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvamVjdC1pbmZvIHtcblx0cGFkZGluZzogLjVlbSAwO1xufVxuXG4ucHJvamVjdC1pbmZvLnBlb3BsZSB7XG5cdHBhZGRpbmctdG9wOiAyLjVlbTtcbn1cblxuLnByb2plY3QtcGVyc29uIC5pbWFnZS1jYXB0aW9uIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXNpemU6IC44cmVtO1xufVxuXG4ucGFnZS1zZXJ2aWNlcyAuY29sIHtcblx0cGFkZGluZzogMXJlbSAxcmVtIDAgMDtcbn1cblxuLnBhZ2Utb3Bwb3J0dW5pdGllcyBhIHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuXG4uZml4ZWQge1xuXHRwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLnRvcC1zaXRlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmF3YXJkLXNlY3Rpb24ge1xuXHRsaW5lLWhlaWdodDogMS4yNXJlbTtcbn1cblxuLndlbGNvbWUtc2VjdGlvbiAucHJpbWFyeS1oZWFkbGluZSBwIHtcblx0Y29sb3I6ICM2YjZiNmI7XG59XG5cbi5wcm9qZWN0LWNvbnRlbnQgYmxvY2txdW90ZSBoMyB7XG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuaDMubWVtb3JpdW0taGVhZGVyIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uYmxvZy1jb250ZW50IGgxIHtcblx0Ly8gbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi5hcmNoaXZlIC5ibG9nLXBvc3QgLmVudHJ5LWhlYWRlciBoMS5lbnRyeS10aXRsZSwgLmFyY2hpdmUgLmJsb2ctcG9zdCAuZW50cnktaGVhZGVyIGgxLmVudHJ5LXRpdGxlIGEsIC5ibG9nIC5ibG9nLXBvc3QgLmVudHJ5LWhlYWRlciBoMS5lbnRyeS10aXRsZSwgLmJsb2cgLmJsb2ctcG9zdCAuZW50cnktaGVhZGVyIGgxLmVudHJ5LXRpdGxlIGEsIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgaDEuZW50cnktdGl0bGUsIC5zaW5nbGUtcG9zdCAuYmxvZy1wb3N0IC5lbnRyeS1oZWFkZXIgaDEuZW50cnktdGl0bGUgYSB7XG5cdC8vIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xufVxuXG4uYmxvZy1jb250ZW50IGgxLmVudHJ5LXRpdGxlIGEsIC5zaW5nbGUtcG9zdCBoMS5lbnRyeS10aXRsZSB7XG5cdC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdC8vIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLmRpc2NvdmVyLW1vcmUge1xuXHRtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuXHRwYWRkaW5nLXRvcDogLjU1ZW07XG59XG5cbi5wYWdlLXNlcnZpY2VzIC5jb2wge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnBhZ2Utc2VydmljZXMgLmNvbnRlbnQtc2VjdGlvbiB7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5wYWdlLXNlcnZpY2VzIC5jb250ZW50LXNlY3Rpb24gaDIucGFnZS10aXRsZSB7XG5cdC8vIG1hcmdpbi1sZWZ0OiAuOTM3NXJlbTtcbn1cblxuLy8gI3Byb2plY3RfZ3JpZF90ZWFtIC5wcm9qZWN0LXRpdGxlIHtcbi8vIFx0cGFkZGluZzogcmVtLWNhbGMoMTMpIDAgMS41cmVtO1xuLy8gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuXG5cdC50b3Atc2l0ZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG5cdC5wYWdlLXNlcnZpY2VzIC5jb2wge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLWxlZnQ6IC45Mzc1cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6IC45Mzc1cmVtO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiAyNSU7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG5cdC5wYWdlLXNlcnZpY2VzIC5jb2wge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdH1cblx0XG5cdC8vIC5jb250ZW50LXNlY3Rpb24gaDIucGFnZS10aXRsZSB7XG5cdC8vIFx0bWFyZ2luLWxlZnQ6IDIuMnJlbTtcblx0Ly8gfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcblx0Lm5ld3MtdGl0bGUge1xuXHRcdHRvcDogNTAlO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHR9XG5cdFxuXHQuZmVhdHVyZWQtcmVhZGluZyAuZmVhdHVyZWQtbmV3cy1ibG9jay1vdmVybGF5IHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cblx0XG5cdC5mZWF0dXJlZC1yZWFkaW5nIC5mZWF0dXJlZC1uZXdzLWJsb2NrIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG59IiwiLyoqXG4gKiBmdWxsUGFnZSAyLjYuNlxuICogaHR0cHM6Ly9naXRodWIuY29tL2FsdmFyb3RyaWdvL2Z1bGxQYWdlLmpzXG4gKiBNSVQgbGljZW5zZWRcbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTMgYWx2YXJvdHJpZ28uY29tIC0gQSBwcm9qZWN0IGJ5IEFsdmFybyBUcmlnb1xuICogQ29udHJpYnV0aW9uIGJ5IEpob255MDMxMVxuICovXG5odG1sLmZwLWVuYWJsZWQsXG4uZnAtZW5hYmxlZCBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG5cbiAgICAvKkF2b2lkIGZsaWNrZXIgb24gc2xpZGVzIHRyYW5zaXRpb25zIGZvciBtb2JpbGUgcGhvbmVzICMzMzYgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG4jc3VwZXJDb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvKiBUb3VjaCBkZXRlY3Rpb24gZm9yIFdpbmRvd3MgOCAqL1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG5cbiAgICAvKiBJRSAxMSBvbiBXaW5kb3dzIFBob25lIDguMSovXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuLmZwLXNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaTw9NSBBbmRyb2lkPD0zICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiA8PTI4ICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5mcC1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG4uZnAtc2xpZGUsIC5mcC1zbGlkZXNDb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5mcC1zbGlkZXMge1xuICAgIHotaW5kZXg6MTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsgLyogU2FmYXJpPD02IEFuZHJvaWQ8PTQuMyAqL1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xufVxuLmZwLXNlY3Rpb24uZnAtdGFibGUsIC5mcC1zbGlkZS5mcC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OmZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmZwLXRhYmxlQ2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5mcC1zbGlkZXNDb250YWluZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mcC1jb250cm9sQXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA0O1xuICAgIHRvcDogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBtYXJnaW4tdG9wOiAtMzhweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblxuICAgICYuZnAtcHJldiB7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDM4LjVweCAzNHB4IDM4LjVweCAwO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5mcC1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMzguNXB4IDAgMzguNXB4IDM0cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcbiAgICB9XG59XG4uZnAtc2Nyb2xsYWJsZSB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cbi5mcC1ub3RyYW5zaXRpb24ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mcC1zbGlkZXNOYXZ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgbGVmdDogNTAlO1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICAgIGJvdHRvbTogMTdweDtcbiAgICB9XG5cbiAgICAmLnRvcCB7XG4gICAgICAgIHRvcDogMTdweDtcbiAgICB9XG59XG5cbiNmcC1uYXYgdWwsXG4uZnAtc2xpZGVzTmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgIG1hcmdpbjogN3B4O1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSBzcGFuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAtNnB4IDAgMCAtNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAjZnAtbmF2IHVsIGxpOmhvdmVyICYsXG4gICAgICAgICAgICAgICAgI2ZwLXNsaWRlc05hdiB1bCBsaTpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtNnB4IDAgMCAtNnB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLTJweCAwIDAgLTJweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogLTVweCAwcHggMHB4IC01cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4jZnAtbmF2IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTAwO1xuICAgIG1hcmdpbi10b3A6IC0zMnB4O1xuICAgIHRvcDogNTAlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAmLnJpZ2h0IHtcbiAgICAgICByaWdodDogMTdweDtcbiAgICB9XG4gICAgJi5sZWZ0IHtcbiAgICAgICAgbGVmdDogMTdweFxuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIC5mcC10b29sdGlwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuXG4gICAgICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubGVmdCB7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuZnAtdG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW47XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5mcC1zaG93LWFjdGl2ZSBhLmFjdGl2ZSArIC5mcC10b29sdGlwIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW47XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbi5mcC1zbGlkZXNOYXYgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiJdfQ== */
