@font-face {
  font-family: monospace;
  font-style: italic;
  font-weight: 400;
  src: local("Menlo Italic"),local(Menlo-Italic),local("Consolas Italic"),local(Consolas-Italic),local("Courier New Italic"); }

@font-face {
  font-family: monospace;
  font-style: italic;
  font-weight: 700;
  src: local("Menlo Bold Italic"),local(Menlo-BoldItalic),local(Monaco),local("Consolas Bold Italic"),local(Consolas-BoldItalic),local("Courier New Bold Italic"); }

@font-face {
  font-family: monospace;
  font-style: normal;
  font-weight: 400;
  src: local("Menlo Regular"),local(Menlo-Regular),local(Monaco),local(Consolas),local("Courier New"); }

@font-face {
  font-family: monospace;
  font-style: normal;
  font-weight: 700;
  src: local("Menlo Bold"),local(Menlo-Bold),local(Monaco),local("Consolas Bold"),local(Consolas-Bold),local("Courier New Bold"); }

@font-face {
  font-family: sans-serif;
  font-style: italic;
  font-weight: 300;
  src: local("Helvetica Neue Light Italic"),local(HelveticaNeue-LightItalic),local("Helvetica Light Oblique"),local(Helvetica-LightOblique); }

@font-face {
  font-family: sans-serif;
  font-style: italic;
  font-weight: 400;
  src: local("Helvetica Neue Italic"),local(HelveticaNeue-Italic),local("Helvetica Oblique"),local(Helvetica-Oblique); }

@font-face {
  font-family: sans-serif;
  font-style: italic;
  font-weight: 700;
  src: local("Helvetica Neue Bold Italic"),local(HelveticaNeue-BoldItalic),local("Helvetica Bold Oblique"),local(Helvetica-BoldOblique); }

@font-face {
  font-family: sans-serif;
  font-style: normal;
  font-weight: 300;
  src: local("Helvetica Neue Light"),local(HelveticaNeue-Light),local("Helvetica Light"),local(Helvetica-Light); }

@font-face {
  font-family: sans-serif;
  font-style: normal;
  font-weight: 400;
  src: local(HelveticaNeue),local(Helvetica); }

@font-face {
  font-family: sans-serif;
  font-style: normal;
  font-weight: 700;
  src: local("Helvetica Neue Bold"),local(HelveticaNeue-Bold),local("Helvetica Bold"),local(Helvetica-Bold); }

.search-input__search-form, .lang-toggler__toggle:after, .lang-toggler__langs, .footer__developer:before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.btn:before, .btn:after, .stage-block__title:after, .instruments-block__button, .header-slider .js_slider-nav {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%); }

.search-input__label-toggle:after, .resize-btn:after, .resize-btn:before, .play-ico:after, .instruments-block__bg img, .instruments-block__title, .header-slider .img,
.header-slider .video, .header-slider .js_slider-nav__item:after, .header-slider .js_slider-nav__item-ico, .ab_team__person-title-img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0; }

.foundation-mq {
  font-family: "small=0em&medium=47.8125em&xmedium=55.3125em&large=60.3125em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  padding: 0;
  margin: 0;
  font-family: "ProximaNova", "Open Sans", "Gill Sans MT", "Gill Sans", Corbel, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #121212;
  background: #f8f8f8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

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

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

.row {
  max-width: 65rem;
  margin-left: auto;
  margin-right: auto; }
  .row::before, .row::after {
    content: ' ';
    display: table; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row .row {
    margin-left: -0.625rem;
    margin-right: -0.625rem; }
    @media screen and (min-width: 47.8125em) {
      .row .row {
        margin-left: -0.9375rem;
        margin-right: -0.9375rem; } }
    .row .row.collapse {
      margin-left: 0;
      margin-right: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-left: auto;
      margin-right: auto; }

.column, .columns {
  width: 100%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media screen and (min-width: 47.8125em) {
    .column, .columns {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

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

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

.small-1 {
  width: 8.33333%; }

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

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

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

.small-2 {
  width: 16.66667%; }

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

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

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

.small-3 {
  width: 25%; }

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

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

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

.small-4 {
  width: 33.33333%; }

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

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

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

.small-5 {
  width: 41.66667%; }

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

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

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

.small-6 {
  width: 50%; }

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

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

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

.small-7 {
  width: 58.33333%; }

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

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

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

.small-8 {
  width: 66.66667%; }

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

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

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

.small-9 {
  width: 75%; }

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

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

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

.small-10 {
  width: 83.33333%; }

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

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

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

.small-11 {
  width: 91.66667%; }

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

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

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

.small-12 {
  width: 100%; }

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

.small-up-1 > .column, .small-up-1 > .columns {
  width: 100%;
  float: left; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  width: 50%;
  float: left; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  width: 33.33333%;
  float: left; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  width: 25%;
  float: left; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  width: 20%;
  float: left; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  width: 16.66667%;
  float: left; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  width: 14.28571%;
  float: left; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  width: 12.5%;
  float: left; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

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

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

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

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

.small-centered {
  margin-left: auto;
  margin-right: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

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

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

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

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

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

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

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

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

h1,
h2,
.sw_description__title,
h3,
.sw_stages__title,
h4,
h5,
.infoblock__links-link,
h6 {
  font-family: "ProximaNova", "Open Sans", "Gill Sans MT", "Gill Sans", Corbel, Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small, .sw_description__title small,
  h3 small, .sw_stages__title small,
  h4 small,
  h5 small, .infoblock__links-link small,
  h6 small {
    color: #9d9d9d;
    line-height: 0; }

h1 {
  font-size: 1.875rem; }

h2, .sw_description__title {
  font-size: 1.5rem; }

h3, .sw_stages__title {
  font-size: 1.1875rem; }

h4 {
  font-size: 1.125rem; }

h5, .infoblock__links-link {
  font-size: 1.0625rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 47.8125em) {
  h1 {
    font-size: 2.25rem; }
  h2, .sw_description__title {
    font-size: 1.875rem; }
  h3, .sw_stages__title {
    font-size: 1.5rem; }
  h4 {
    font-size: 1.125rem; }
  h5, .infoblock__links-link {
    font-size: 0.875rem; }
  h6 {
    font-size: 0.625rem; } }

a {
  color: #2199e8;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1585cf; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  color: #121212;
  background-color: #f8f8f8;
  border: 1px solid #9d9d9d;
  padding: 0.125rem 0.3125rem 0.0625rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

@font-face {
  font-family: "ProximaNova";
  src: url("../fonts/proxima_nova_regular.eot?") format("eot"), url("../fonts/proxima_nova_regular.woff") format("woff"), url("../fonts/proxima_nova_regular.ttf") format("truetype"), url("../fonts/proxima_nova_regular.otf") format("opentype"), url('../fonts/proxima_nova_regular.svg#str-replace("ProximaNova", " ", "_")') format("svg"); }

@font-face {
  font-family: "ProximaNova-700";
  src: url("../fonts/proxima_nova_bold.eot?") format("eot"), url("../fonts/proxima_nova_bold.woff") format("woff"), url("../fonts/proxima_nova_bold.ttf") format("truetype"), url("../fonts/proxima_nova_bold.otf") format("opentype"), url('../fonts/proxima_nova_bold.svg#str-replace("ProximaNova-700", " ", "_")') format("svg"); }

@font-face {
  font-family: "ProximaNova-300";
  src: url("../fonts/proxima_nova_light.eot?") format("eot"), url("../fonts/proxima_nova_light.woff") format("woff"), url("../fonts/proxima_nova_light.ttf") format("truetype"), url("../fonts/proxima_nova_light.otf") format("opentype"), url('../fonts/proxima_nova_light.svg#str-replace("ProximaNova-300", " ", "_")') format("svg"); }

@font-face {
  font-family: "ProximaNova-900";
  src: url("../fonts/proxima_nova_black.eot?") format("eot"), url("../fonts/proxima_nova_black.woff") format("woff"), url("../fonts/proxima_nova_black.ttf") format("truetype"), url("../fonts/proxima_nova_black.otf") format("opentype"), url('../fonts/proxima_nova_black.svg#str-replace("ProximaNova-900", " ", "_")') format("svg"); }

@font-face {
  font-family: "Icomoon";
  src: url("../fonts/icomoon.eot?") format("eot"), url("../fonts/icomoon.woff") format("woff"), url("../fonts/icomoon.ttf") format("truetype"), url("../fonts/icomoon.otf") format("opentype"), url('../fonts/icomoon.svg#str-replace("Icomoon", " ", "_")') format("svg"); }

ul {
  margin: 0;
  list-style-type: none; }

.top-nav {
  min-height: 100px;
  background-color: #fefefe; }
  @media screen and (max-width: 47.75em) {
    .top-nav {
      min-height: 70px; } }
  .top-nav__logo-container {
    display: inline-block;
    float: left;
    margin: 0;
    padding: 9.1px 11.2px;
    height: 100px;
    background-color: #00adef;
    box-shadow: 0 6px 16px rgba(24, 59, 90, .11); }
    @media screen and (max-width: 47.75em) {
      .top-nav__logo-container {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 25;
        padding: 9.1px 11.2px;
        height: 70px; } }
  .top-nav__logo {
    display: block;
    max-width: 57px;
    max-height: 57px; }
    @media screen and (max-width: 47.75em) {
      .top-nav__logo {
        max-width: 39.9px;
        max-height: 39.9px; } }
    .top-nav__logo:not(:first-child) {
      margin-top: 4px; }
    .top-nav__logo:first-child {
      -webkit-animation: rotation 30s linear infinite;
              animation: rotation 30s linear infinite; }
  .top-nav__expand {
    display: none; }
  .top-nav__links {
    text-align: left; }
    .top-nav__links-item {
      display: inline-block;
      text-align: center; }
      .top-nav__links-item_tools {
        position: relative; }
        .top-nav__links-item_tools:hover .top-nav__link_tools.is-active:before, .top-nav__links-item_tools:hover .top-nav__link_tools.is-active:after {
          content: none; }
        .top-nav__links-item_tools .menu-level-1,
        .top-nav__links-item_tools .menu-level-ins,
        .top-nav__links-item_tools .menu-level-last {
          display: none;
          z-index: 30; }
        @media screen and (min-width: 47.8125em) {
          .top-nav__links-item_tools:hover .top-nav__link {
            color: #00adef; }
          .top-nav__links-item_tools:hover .menu-level {
            background-color: #fefefe;
            box-shadow: 0 0 24px rgba(0, 0, 0, .1);
            position: absolute;
            height: 970px; }
          .top-nav__links-item_tools:hover .menu-level-ins {
            top: 0;
            left: 100%; }
          .top-nav__links-item_tools:hover .menu-level-last {
            width: 414px;
            top: 0;
            left: 100%;
            background-color: #f7f7f7; } }
  @media screen and (min-width: 47.8125em) and (max-width: 55.3125em) {
    .top-nav__links-item_tools:hover .menu-level-last {
      width: 350px; } }
  @media screen and (min-width: 47.8125em) and (max-width: 51.25em) {
    .top-nav__links-item_tools:hover .menu-level-last {
      width: 320px; } }
        @media screen and (min-width: 47.8125em) {
          .top-nav__links-item_tools:hover .menu-level-1 {
            display: block;
            top: 100%;
            left: 0; }
            .top-nav__links-item_tools:hover .menu-level-1 > .menu-item:first-of-type:before {
              content: '';
              width: 17px;
              height: 11px;
              background-image: url(../img/png/top-triangle-tr.png);
              position: absolute;
              top: -11px;
              left: calc(50% - 7.5px); }
            .top-nav__links-item_tools:hover .menu-level-1 > .menu-item:first-of-type:hover:before {
              background-image: url(../img/png/top-triangle.png); }
            .top-nav__links-item_tools:hover .menu-level-1 .menu-item__separator:hover {
              background-color: transparent; }
              .top-nav__links-item_tools:hover .menu-level-1 .menu-item__separator:hover .menu-item__text {
                color: #363636;
                border-bottom: 1px solid #d7d7d7; }
            .top-nav__links-item_tools:hover .menu-level-1 .menu-item__separator .menu-item__text {
              cursor: default;
              line-height: 2; }
              .top-nav__links-item_tools:hover .menu-level-1 .menu-item__separator .menu-item__text:after {
                content: none; }
            .top-nav__links-item_tools:hover .menu-level-1 .menu-item:hover > .menu-level {
              display: block; } }
  .top-nav__link {
    -webkit-transition: all 0.2s 0s ease-in-out;
    transition: all 0.2s 0s ease-in-out;
    position: relative;
    z-index: 3;
    display: inline-block;
    margin: 0 35px;
    color: #121212;
    line-height: 6.25rem; }
    .top-nav__link:before, .top-nav__link:after {
      position: absolute;
      right: 50%;
      bottom: 0;
      left: 50%;
      display: block;
      height: 3px;
      background-color: #00adef;
      content: '';
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
    .top-nav__link:hover, .top-nav__link.is-active {
      color: #00adef; }
      .top-nav__link:hover:before, .top-nav__link.is-active:before {
        left: -5px; }
      .top-nav__link:hover:after, .top-nav__link.is-active:after {
        right: -5px; }
    .top-nav__link_tools {
      margin-left: 50px; }
      .top-nav__link_tools:hover:before, .top-nav__link_tools:hover:after {
        content: none; }
      @media screen and (max-width: 55.25em) {
        .top-nav__link_tools {
          margin-left: 35px; } }
    .top-nav__link.is-active {
      color: #00adef; }
    @media screen and (max-width: 60.25em) {
      .top-nav__link {
        margin: 0 18px; } }
    @media screen and (max-width: 51.5625em) {
      .top-nav__link {
        margin: 0 13px; } }
    @media screen and (max-width: 47.8125em) {
      .top-nav__link:hover {
        color: #121212; }
        .top-nav__link:hover:after, .top-nav__link:hover:before {
          content: none; } }
  .top-nav__instruments {
    display: inline-block;
    float: right;
    vertical-align: middle;
    line-height: 6.25rem; }
  @media screen and (max-width: 47.75em) {
    .top-nav__block {
      -webkit-transition: all 0.3s 0s ease-in-out;
      transition: all 0.3s 0s ease-in-out;
      position: absolute;
      width: 0;
      top: 0;
      right: -100%;
      z-index: 3;
      overflow: hidden;
      background-color: #fefefe; }
      .top-nav__block.is-active {
        position: absolute;
        display: block;
        right: 0;
        width: 100vw; }
      .top-nav__block .top-nav__links {
        margin-top: 70px;
        width: 100%; }
        .top-nav__block .top-nav__links-item {
          display: block;
          border-top: 1px solid #d7d7d7;
          font-size: 1.125rem;
          background-color: #00adef; }
          .top-nav__block .top-nav__links-item_tools {
            position: relative; }
          .top-nav__block .top-nav__links-item:last-child {
            border-bottom: 1px solid #d7d7d7; }
      .top-nav__block .top-nav__link {
        margin: 0;
        width: 100%;
        line-height: 4.375rem;
        color: #fefefe;
        padding-left: 20px;
        text-align: left; }
      .top-nav__block .top-nav__instruments {
        position: absolute;
        top: 0;
        right: 22%;
        line-height: 4.375rem;
        -webkit-transform: scale(1.2);
            -ms-transform: scale(1.2);
                transform: scale(1.2); }
      .top-nav__block .top-nav__expand {
        display: block;
        line-height: 4.375rem;
        width: 56px;
        position: absolute;
        top: 0;
        right: 0;
        border-left: 1px solid #d7d7d7;
        color: #fefefe;
        font-size: 1.5625rem;
        z-index: 5; }
      .top-nav__block .menu-item {
        border-top: 1px solid #d7d7d7;
        background: #fefefe;
        position: relative; }
        .top-nav__block .menu-item .top-nav__expand {
          color: #363636; }
          .top-nav__block .menu-item .top-nav__expand.is-active {
            color: #fefefe; }
        .top-nav__block .menu-item__text {
          margin: 0;
          padding: 0 0 0 20px;
          line-height: 4.375rem;
          border: none; }
          .top-nav__block .menu-item__text:after {
            content: none; } }

.menu-item {
  width: 100%;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .menu-item__text {
    color: #363636;
    line-height: 3.9375rem;
    display: block;
    text-align: left;
    margin-left: 39px;
    margin-right: 22px;
    padding-right: 31px;
    border-bottom: 1px solid #d7d7d7;
    position: relative;
    white-space: nowrap; }
    @media screen and (max-width: 63.75em) {
      .menu-item__text {
        margin-left: 30px;
        margin-right: 25px;
        padding-right: 25px; } }
    @media screen and (max-width: 61.5625em) {
      .menu-item__text {
        margin-left: 16px;
        margin-right: 15px;
        padding-right: 15px; } }
    @media screen and (max-width: 51.5625em) {
      .menu-item__text {
        margin-left: 10px;
        margin-right: 10px;
        padding-right: 15px; } }
    .menu-item__text:after {
      content: '';
      width: 5px;
      height: 9px;
      position: absolute;
      background-image: url(../img/png/right-triangle.png);
      right: 0;
      top: calc(50% - 4.5px); }
  .menu-item:hover {
    background-color: #00adef; }
    .menu-item:hover > .menu-item__text {
      color: #fefefe;
      border: 0; }
      .menu-item:hover > .menu-item__text:after {
        background-image: url(../img/png/right-triangle-white.png); }

.card-image {
  background-color: #e2edf6; }
  @media screen and (max-width: 59.375em) {
    .card-image__image {
      max-width: 282px; } }
  @media screen and (max-width: 55.3125em) {
    .card-image__image {
      margin: 57px 34px 44px; } }
  @media screen and (max-width: 51.25em) {
    .card-image__image {
      margin: 57px 19px 44px; } }

.card-content {
  padding: 25px 10px;
  text-align: center; }
  @media screen and (max-width: 55.3125em) {
    .card-content {
      padding: 25px 10px; } }
  .card-content__title {
    font-size: 1.375rem;
    font-weight: 700;
    color: #797979;
    margin-bottom: 15px; }
  .card-content__info {
    display: inline-block;
    vertical-align: top;
    width: 32%;
    padding: 0 5px; }
    .card-content__info__value {
      font-size: 1.125rem;
      font-weight: 900; }
    .card-content__info__dimension {
      font-size: 1.0625rem;
      font-weight: 700; }
    .card-content__info__characteristic {
      text-align: center;
      font-size: 0.75rem;
      font-weight: 400; }
  .card-content .btn {
    margin-top: 28px; }

@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
            transform: rotate(359deg); } }

@keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
            transform: rotate(359deg); } }

.nav-instruments__search {
  display: inline-block; }

.nav-instruments__lang-toggler {
  float: right; }

.nav-instruments__search {
  display: inline-block; }

.search-input [type="checkbox"][id="search-toggle"] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.search-input__label {
  position: relative;
  top: 1px;
  display: inline-block;
  margin-right: 10px;
  cursor: pointer;
  width: 16px;
  height: 16px; }

.search-input__label-toggle {
  cursor: pointer; }
  .search-input__label-toggle:hover:after {
    color: #00adef; }
  .search-input__label-toggle:after {
    -webkit-transition: all 0.15s 0s ease-in-out;
    transition: all 0.15s 0s ease-in-out;
    display: inline-block;
    color: #7b7b7b;
    content: '\f002';
    font-size: 16px;
    font-size: 1rem;
    font-family: FontAwesome;
    line-height: 1;
    width: 16px;
    height: 16px; }

.search-input__search-form {
  -webkit-transition: all 0.3s 0s ease-in-out;
  transition: all 0.3s 0s ease-in-out;
  right: 25px;
  z-index: 1;
  overflow: hidden;
  width: 0;
  box-shadow: -5px 0 20px #00adef;
  line-height: 1; }
  @media screen and (max-width: 47.75em) {
    .search-input__search-form {
      box-shadow: none; } }
  .search-input__search-form input {
    padding: 3px 5px;
    width: 100%;
    border: 2px solid #00adef;
    font-size: 0.875rem; }
    .search-input__search-form input:focus {
      outline: none; }

.search-input [type="checkbox"][id="search-toggle"]:checked + .search-input__label .search-input__label-toggle:after {
  color: #00adef; }

.search-input [type="checkbox"][id="search-toggle"]:checked + .search-input__label .search-input__search-form {
  width: 170px; }
  @media screen and (max-width: 47.75em) {
    .search-input [type="checkbox"][id="search-toggle"]:checked + .search-input__label .search-input__search-form {
      width: calc(80vw - 85px); } }

.lang-toggler {
  position: relative;
  z-index: 1;
  padding-right: 15px;
  color: #7b7b7b;
  text-transform: uppercase;
  font-size: 0.6875rem; }
  .lang-toggler [type="checkbox"][id="lang-toggle"] {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .lang-toggler__toggle {
    cursor: pointer; }
    .lang-toggler__toggle:after {
      -webkit-transition: all 0.3s 0s ease-in-out;
      transition: all 0.3s 0s ease-in-out;
      left: 100%;
      display: block;
      border: 1px solid #7b7b7b;
      border-top-color: transparent;
      border-left-color: transparent;
      content: '';
      -webkit-transform: translate(-15px, -100%) rotate(45deg) rotateY(0);
              transform: translate(-15px, -100%) rotate(45deg) rotateY(0);
      width: 7px;
      height: 7px; }
    .lang-toggler__toggle-label {
      display: inline-block;
      padding: 0 7px;
      background-color: #fefefe;
      line-height: 1.25rem;
      -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;
      transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out; }
  .lang-toggler [type="checkbox"][id="lang-toggle"]:checked + .lang-toggler__toggle:after {
    -webkit-transform: translate(-10px, -50%) rotate(45deg) rotateZ(90deg);
        -ms-transform: translate(-10px, -50%) rotate(45deg) rotate(90deg);
            transform: translate(-10px, -50%) rotate(45deg) rotateZ(90deg); }
  .lang-toggler [type="checkbox"][id="lang-toggle"]:checked + .lang-toggler__toggle .lang-toggler__toggle-label {
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
    .lang-toggler [type="checkbox"][id="lang-toggle"]:checked + .lang-toggler__toggle .lang-toggler__toggle-label:hover {
      background-color: #00adef;
      color: #fefefe; }
  .lang-toggler [type="checkbox"][id="lang-toggle"]:not(:checked) + .lang-toggler__toggle .lang-toggler__toggle-label {
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, -webkit-transform 0.2s 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, -webkit-transform 0.2s 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.2s 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.2s 0.2s ease-in-out, -webkit-transform 0.2s 0.2s ease-in-out; }
  .lang-toggler [type="checkbox"][id="lang-toggle"]:not(:checked) + .lang-toggler__toggle:hover .lang-toggler__toggle-label {
    color: #00adef; }
  .lang-toggler [type="checkbox"][id="lang-toggle"]:not(:checked) + .lang-toggler__toggle:hover:after {
    border-right-color: #00adef;
    border-bottom-color: #00adef; }
  .lang-toggler [type="checkbox"][id="lang-toggle"]:checked ~ .lang-toggler__langs {
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, -webkit-transform 0.2s 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, -webkit-transform 0.2s 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.2s 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.2s 0.2s ease-in-out, -webkit-transform 0.2s 0.2s ease-in-out;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  .lang-toggler [type="checkbox"][id="lang-toggle"]:not(:checked) ~ .lang-toggler__langs {
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, -webkit-transform 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.2s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out; }
  .lang-toggler__langs {
    left: 0;
    z-index: -1;
    padding: 0 7px;
    color: #7b7b7b;
    line-height: 1.25rem; }
    .lang-toggler__langs:hover {
      background-color: #00adef;
      color: #fefefe; }

.footer {
  min-height: 136px;
  width: 100%;
  background-color: #0a0a0a;
  color: #fefefe; }
  @media screen and (max-width: 47.75em) {
    .footer {
      text-align: center; } }
  .footer__brand {
    padding-top: 28px; }
    @media screen and (max-width: 47.75em) {
      .footer__brand {
        padding-top: 15px; } }
    .footer__brand-copyright {
      display: block;
      margin-top: 16px;
      min-width: 220px;
      color: #7b7b7b;
      font-size: 0.75rem; }
      @media screen and (max-width: 47.75em) {
        .footer__brand-copyright {
          margin-top: 10px; } }
  .footer__developer {
    position: relative;
    display: inline-block;
    float: right;
    margin-left: 42px;
    min-width: 208px;
    color: #fefefe;
    font-size: 0.875rem;
    line-height: 8.5rem; }
    @media screen and (max-width: 47.75em) {
      .footer__developer {
        float: none;
        line-height: 4.25rem; } }
    .footer__developer:before {
      -webkit-transition: all 0.15s 0s ease-in-out;
      transition: all 0.15s 0s ease-in-out;
      right: 100%;
      display: block;
      padding-right: 9px;
      color: #ededed;
      content: '\e902';
      font: 28px Icomoon;
      font: 1.75rem Icomoon; }
    .footer__developer:hover {
      color: #fefefe; }
      .footer__developer:hover:before {
        color: #1c84c5; }
    .footer__developer--color-emphasize {
      color: #9d9d9d; }
  @media screen and (max-width: 47.75em) {
    .footer-nav {
      display: none; } }
  .footer-nav__links {
    text-align: center; }
    @media screen and (max-width: 59.375em) {
      .footer-nav__links {
        margin-top: 13.6px; } }
    .footer-nav__links-item {
      display: inline-block;
      line-height: 8.5rem; }
      @media screen and (max-width: 59.375em) {
        .footer-nav__links-item {
          display: block;
          line-height: 1.7rem; } }
  .footer-nav__link {
    -webkit-transition: all 0.2s 0s ease-in-out;
    transition: all 0.2s 0s ease-in-out;
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 0 12px;
    color: #fefefe;
    font-size: 0.875rem;
    line-height: 1.2; }
    .footer-nav__link:after {
      -webkit-transition: all 0.2s 0s ease-in-out;
      transition: all 0.2s 0s ease-in-out;
      display: block;
      visibility: hidden;
      width: 100%;
      height: 1px;
      background-color: transparent;
      content: '';
      -webkit-transform: translateY(10px);
          -ms-transform: translateY(10px);
              transform: translateY(10px); }
    .footer-nav__link:hover {
      color: #fefefe; }
      .footer-nav__link:hover:after {
        visibility: visible;
        background-color: rgba(254, 254, 254, .7);
        -webkit-transform: translateY(2px);
            -ms-transform: translateY(2px);
                transform: translateY(2px); }
.btn {
  -webkit-transition: all 0.1s 0s ease-in-out;
  transition: all 0.1s 0s ease-in-out;
  position: relative;
  z-index: 1;
  display: inline-block;
  border: 1px solid #00adef;
  box-shadow: 0 6px 16px rgba(57, 101, 168, .25);
  text-transform: uppercase;
  font-family: ProximaNova-700; }
  .btn:active {
    -webkit-transition: all 0.05s 0s ease-in-out;
    transition: all 0.05s 0s ease-in-out;
    box-shadow: 0 0px 0px rgba(57, 101, 168, .25); }
  .btn:before, .btn:after {
    -webkit-transition: all 0.3s 0s ease-in-out;
    transition: all 0.3s 0s ease-in-out;
    top: 0;
    z-index: -1;
    display: block;
    height: 100%;
    content: ''; }
  .btn:before {
    width: 100%; }
  .btn:after {
    width: 80%; }
  .btn--main {
    border-color: #00adef;
    color: #fefefe !important; }
    .btn--main:before {
      background-color: #00adef; }
    .btn--main:hover:after,
    .btn--main:active:after {
      width: 100%;
      background-color: #0088bc; }
  .btn--alt {
    border-color: #fefefe;
    color: #121212 !important; }
    .btn--alt:before {
      background-color: #fefefe; }
    .btn--alt:hover,
    .btn--alt:active {
      border-color: rgba(0, 173, 239, .5); }
      .btn--alt:hover:after,
      .btn--alt:active:after {
        width: 100%;
        background-color: rgba(0, 173, 239, .5); }
  .btn--blank {
    border-color: #fefefe;
    background-color: transparent;
    color: #fefefe !important; }
    .btn--blank:hover,
    .btn--blank:active {
      color: #00adef !important; }
      .btn--blank:hover:after,
      .btn--blank:active:after {
        width: 100%;
        background-color: #fefefe; }
  .btn--tab {
    border-color: transparent;
    color: #121212 !important;
    box-shadow: none; }
    .btn--tab:hover {
      border-color: #fefefe;
      box-shadow: 0 6px 16px rgba(57, 101, 168, .25); }
    .is-active .btn--tab {
      background-color: #fefefe;
      border-color: #fefefe;
      box-shadow: 0 6px 16px rgba(57, 101, 168, .25); }
  .btn--big {
    padding: 14px 39px;
    font-size: 0.875rem; }
  .btn--medium {
    padding: 10px 40px;
    font-size: 0.75rem; }

.resize-btn {
  position: relative;
  width: 30px;
  height: 30px;
  background-color: #00adef;
  border-radius: 50%;
  box-shadow: 0 3px 6px rgba(57, 101, 168, .25);
  -webkit-transition: all 0.15s 0s ease-in-out;
  transition: all 0.15s 0s ease-in-out; }
  .resize-btn:after, .resize-btn:before {
    content: '';
    display: block;
    background-color: #fefefe;
    -webkit-transition: all 0.15s 0s ease-in-out;
    transition: all 0.15s 0s ease-in-out; }
  .resize-btn:after {
    width: 2px;
    height: 50%; }
  .resize-btn:before {
    width: 50%;
    height: 2px; }
  .resize-btn:hover {
    background-color: #006389; }
  .resize-btn.is-active:after {
    opacity: 0; }
  .resize-btn.is-active:before {
    width: 40%; }

.play-ico {
  position: relative;
  width: 44px;
  height: 44px;
  border: 3px solid #00adef;
  border-radius: 50%; }
  .play-ico:after {
    -webkit-transform: translate(-40%, -50%);
        -ms-transform: translate(-40%, -50%);
            transform: translate(-40%, -50%);
    content: '';
    display: block;
    border: 0px solid transparent;
    border-left: 17px solid #00adef;
    border-top-width: 10px;
    border-bottom-width: 10px; }

.hamburger-button {
  position: absolute;
  top: 26px;
  right: 25px;
  z-index: 1000;
  width: 28px;
  height: 18px; }
  @media screen and (min-width: 47.8125em) {
    .hamburger-button {
      display: none; } }
  .hamburger-button input[id="nav-menu-mobile-button"] {
    position: absolute;
    left: -9999px;
    opacity: 0; }
  .hamburger-button .hamburger-menu {
    position: absolute;
    width: 28px;
    height: 18px;
    cursor: pointer; }
  .hamburger-button .hamburger-bar,
  .hamburger-button .hamburger-bar:after,
  .hamburger-button .hamburger-bar:before {
    width: 28px;
    height: 2px; }
  .hamburger-button .hamburger-bar {
    position: relative;
    background: #00adef;
    -webkit-transition: all 0ms 300ms;
    transition: all 0ms 300ms;
    -webkit-transform: translateY(8px);
        -ms-transform: translateY(8px);
            transform: translateY(8px); }
  .hamburger-button .hamburger-bar:before {
    position: absolute;
    bottom: 8px;
    left: 0;
    background: #00adef;
    content: "";
    -webkit-transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); }
  .hamburger-button .hamburger-bar:after {
    position: absolute;
    top: 8px;
    left: 0;
    background: #00adef;
    content: "";
    -webkit-transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); }
  .hamburger-button input[id="nav-menu-mobile-button"]:checked + .hamburger-menu .hamburger-bar {
    background: rgba(0, 173, 239, 0); }
    .hamburger-button input[id="nav-menu-mobile-button"]:checked + .hamburger-menu .hamburger-bar:after {
      top: 0;
      -webkit-transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
      transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
      transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
      transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    .hamburger-button input[id="nav-menu-mobile-button"]:checked + .hamburger-menu .hamburger-bar:before {
      bottom: 0;
      -webkit-transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
      transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
      transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
      transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }

.stage-block {
  text-align: center; }
  .stage-block__title {
    position: relative;
    font-family: ProximaNova-700;
    font-size: 1rem;
    line-height: 1;
    padding-bottom: 27px; }
    .stage-block__title:after {
      content: '';
      bottom: 0;
      border-top-width: 15px !important;
      height: 0;
      width: 0;
      border-top: 10px solid #00adef;
      border-right: 10px solid transparent;
      border-left: 10px solid transparent; }
  .stage-block__content {
    position: relative;
    min-height: 254px;
    max-width: 776px;
    margin: 0 auto;
    margin-top: 25px;
    background-color: #00adef;
    color: #fefefe;
    line-height: 1.5; }
  .stage-block__content:before {
  content: '';
  display: table; }
  .stage-block__content:after {
  content: '';
  display: table;
  clear: both; }
  .stage-block__text, .stage-block__img {
    width: calc(99.9% * 1/2 - 0px); }
  .stage-block__text:nth-child(1n), .stage-block__img:nth-child(1n) {
  float: left;
  margin-right: 0px;
  clear: none; }
  .stage-block__text:last-child, .stage-block__img:last-child {
  margin-right: 0; }
  .stage-block__text:nth-child(2n), .stage-block__img:nth-child(2n) {
  margin-right: 0;
  float: right; }
  .stage-block__text:nth-child(2n + 1), .stage-block__img:nth-child(2n + 1) {
  clear: both; }
  .stage-block__text {
    padding: 40px 30px;
    text-align: left; }
  .stage-block__img {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    background-image: url(../img/jpg/stage-block-1.jpg);
    background-size: cover;
    background-position: center; }
  @media screen and (max-width: 47.75em) {
    .stage-block__text, .stage-block__img {
      width: auto;
      position: static; }
    .stage-block__text:last-child, .stage-block__img:last-child {
    float: none;
    clear: none;
    margin-right: 0;
    width: auto; }
    .stage-block__text:nth-child(1n), .stage-block__img:nth-child(1n) {
    float: none;
    clear: none;
    margin-right: 0;
    width: auto; }
    .stage-block__text:nth-child(1n + 1), .stage-block__img:nth-child(1n + 1) {
    float: none;
    clear: none;
    margin-right: 0;
    width: auto; }
    .stage-block__text {
      padding: 25px 20px; }
    .stage-block__img {
      height: 50vw; } }

.contact-block {
  padding: 20px 35px;
  background-color: #fefefe;
  font-family: ProximaNova-700;
  line-height: 1.5; }
  .contact-block__title {
    font-family: ProximaNova-700;
    text-transform: uppercase;
    margin-bottom: 15px; }
  .contact-block__subblock:not(:first-of-type) {
    margin-top: 20px; }
  .contact-block__subtitle {
    font-family: "ProximaNova", "Open Sans", "Gill Sans MT", "Gill Sans", Corbel, Arial, sans-serif;
    color: #7b7b7b;
    margin: 0; }
  .contact-block__subtext {
    margin: 0;
    line-height: 1.5; }
    .contact-block__subtext a {
      color: #121212;
      -webkit-transition: all 0.15s 0s ease-in-out;
      transition: all 0.15s 0s ease-in-out; }
      .contact-block__subtext a:visited {
        color: #121212; }
      .contact-block__subtext a:hover, .contact-block__subtext a:active {
        color: #00adef; }
  .contact-block__hr {
    min-height: 189px; }

.fbk-form {
  text-align: center; }
  .fbk-form__field {
    position: relative;
    display: block; }
    .fbk-form__field-input {
      display: block;
      padding: 25px 20px 10px;
      margin-bottom: 20px;
      width: 100%;
      background-color: #f8f8f8;
      border: none;
      box-shadow: none;
      -webkit-transition: all 0.15s 0s ease-in-out;
      transition: all 0.15s 0s ease-in-out;
      font-family: ProximaNova-700; }
      .fbk-form__field-input:focus, .fbk-form__field-input.is-active {
        background-color: #f8f8f8;
        border: none;
        outline: none; }
        .fbk-form__field-input:focus + .fbk-form__field-label, .fbk-form__field-input.is-active + .fbk-form__field-label {
          top: 5px;
          font-size: 0.75rem; }
      .fbk-form__field-input:focus {
        box-shadow: 0 2px 8px rgba(18, 18, 18, .2) !important;
        -webkit-transition: all 0.15s 0s ease-in-out;
        transition: all 0.15s 0s ease-in-out; }
      .fbk-form__field-input.is-invalid-input {
        box-shadow: 0 0 0, inset 0 0 10px #ec5840;
        -webkit-transition: all 0.15s 0s ease-in-out;
        transition: all 0.15s 0s ease-in-out; }
        .fbk-form__field-input.is-invalid-input ~ .fbk-form__field-error {
          display: block; }
    .fbk-form__field-label {
      display: block;
      position: absolute;
      top: 16px;
      left: 20px;
      color: #9d9d9d;
      -webkit-transition: all 0.15s 0s ease-in-out;
      transition: all 0.15s 0s ease-in-out; }
      .fbk-form__field-label.is-active {
        top: 5px;
        font-size: 0.75rem; }
    .fbk-form__field-error {
      position: absolute;
      top: 100%;
      left: 0;
      font-size: 0.75rem;
      color: #ec5840; }
  .fbk-form__textarea {
    min-height: 380px;
    resize: none; }
    .fbk-form__textarea.is-invalid-input {
      box-shadow: 0 0 0, inset 0 0 10px #ec5840; }
    @media screen and (max-width: 47.75em) {
      .fbk-form__textarea {
        min-height: 250px; } }
  .fbk-form__submit {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
    .fbk-form__submit-btn {
      position: absolute;
      right: 35px;
      bottom: 35px; }
      @media screen and (max-width: 47.75em) {
        .fbk-form__submit-btn {
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          position: relative;
          width: 100%;
          margin-top: 10px; } }

.infoblock__content:after {
  content: '';
  display: block;
  clear: both; }

.infoblock__content-text {
  width: calc(99.9% * 6/10 - 16px); }

.infoblock__content-text:nth-child(1n) {
  float: left;
  margin-right: 40px;
  clear: none; }

.infoblock__content-text:last-child {
  margin-right: 0; }

.infoblock__content-text:nth-child(2n) {
  margin-right: 0;
  float: right; }

.infoblock__content-text:nth-child(2n + 1) {
  clear: both; }
  @media screen and (max-width: 47.75em) {
    .infoblock__content-text {
      width: auto; }
    .infoblock__content-text:last-child {
    float: none;
    clear: none;
    margin-right: 0;
    width: auto; }
    .infoblock__content-text:nth-child(1n) {
    float: none;
    clear: none;
    margin-right: 0;
    width: auto; }
    .infoblock__content-text:nth-child(1n + 1) {
    float: none;
    clear: none;
    margin-right: 0;
    width: auto; } }

.infoblock__content-img {
  width: calc(99.9% * 4/10 - 24px); }

.infoblock__content-img:nth-child(1n) {
  float: left;
  margin-right: 40px;
  clear: none; }

.infoblock__content-img:last-child {
  margin-right: 0; }

.infoblock__content-img:nth-child(2n) {
  margin-right: 0;
  float: right; }

.infoblock__content-img:nth-child(2n + 1) {
  clear: both; }
  @media screen and (max-width: 47.75em) {
    .infoblock__content-img {
      display: none; } }

.infoblock__title, .infoblock__subtitle {
  font-family: ProximaNova-700;
  margin-bottom: 30px; }

.infoblock__title {
  text-transform: uppercase; }
  .infoblock__title_outside {
    padding-left: 25px; }

.infoblock__description {
  padding-right: 20px;
  line-height: 1.5;
  margin-bottom: 0; }
  .infoblock__description-list-item {
    list-style-type: disc;
    list-style-position: inside; }
  .infoblock__description-img {
    width: 100%;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .15);
    margin: 35px 0; }

.infoblock__links {
  margin: 20px 0; }
  .infoblock__links-link {
    text-transform: uppercase;
    font-family: ProximaNova-700;
    display: block;
    color: #00adef;
    margin-bottom: 0;
    line-height: 2.2;
    -webkit-transition: all 0.15s 0s ease-in-out;
    transition: all 0.15s 0s ease-in-out; }
    @media screen and (max-width: 47.75em) {
      .infoblock__links-link {
        font-size: 1rem;
        line-height: 2; } }
    .infoblock__links-link:hover {
      color: #006389; }

.infoblock__aside-img {
  margin: 0;
  width: 100%;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .15); }
  .infoblock__aside-img:not(:first-child) {
    margin-top: 40px; }

.infoblock--title {
  margin-bottom: 10px !important; }
  .infoblock--title .infoblock__content-text {
    padding-bottom: 30px; }

.resizable-infoblock {
  position: relative;
  background-color: #fefefe;
  padding-top: 50px;
  padding-bottom: 60px; }
  .resizable-infoblock__resize-wrap {
    -webkit-transition: all 1s 0s ease-in-out;
    transition: all 1s 0s ease-in-out;
    max-height: 4000px;
    overflow: hidden; }
  .resizable-infoblock:not(.is-active) .resizable-infoblock__resize-wrap {
    max-height: 0; }

.fp_header {
  min-height: 460px;
  background: -webkit-linear-gradient(120deg, rgba(254, 254, 254, 0) 0%, rgba(254, 254, 254, .1) 100%), url(../img/jpg/fp_header-bg.jpg) center no-repeat;
  background: linear-gradient(-30deg, rgba(254, 254, 254, 0) 0%, rgba(254, 254, 254, .1) 100%), url(../img/jpg/fp_header-bg.jpg) center no-repeat;
  background-size: cover;
  color: #fefefe;
  position: relative; }
  .fp_header__content {
    margin-top: 103px;
    margin-bottom: 20px;
    padding: 55px 39px !important;
    min-height: 357px;
    background-color: rgba(0, 173, 239, .9); }
  @media screen and (max-width: 47.8125em) {
    .fp_header__content {
      width: 75%; } }
  @media screen and (max-width: 34.6875em) {
    .fp_header__title {
      font-size: 1.5rem; } }
  @media screen and (max-width: 29.0625em) {
    .fp_header__content {
      width: 100%; }
    .fp_header__title {
      font-size: 1.625rem; } }
  @media screen and (max-width: 23.4375em) {
    .fp_header__title {
      font-size: 1.3125rem; } }
  .fp_header__title {
    margin: 0;
    margin-top: 40px;
    text-transform: uppercase;
    word-wrap: break-word;
    font-family: ProximaNova-900;
    line-height: 1; }
    @media screen and (min-width: 47.8125em) and (max-width: 55.25em) {
      .fp_header__title {
        font-size: 3.46154vw; } }
  .fp_header__description {
    margin-top: 35px;
    max-width: 390px;
    font-size: 1.125rem;
    line-height: 1.56; }
  .fp_header__content-button {
    margin-top: 21px; }
  .fp_header::after {
    content: '';
    position: absolute;
    top: 100%;
    width: 100%;
    height: 21px;
    background: url(../img/png/fp_header_bottom_gradient.png) 0 0 repeat-x;
    z-index: 1; }

.fp_services {
  position: relative;
  overflow: hidden;
  background-color: #fefefe; }
  .fp_services__content {
    padding: 20px 17px; }
  .fp_services__text-content {
    display: inline-block;
    padding: 33px 20px;
    width: 45%; }
    @media screen and (max-width: 47.75em) {
      .fp_services__text-content {
        width: 100%; } }
    .fp_services__text-content-parag {
      margin-bottom: 20px; }
  .fp_services__tabs-panel-img {
    float: right;
    max-width: 55%;
    max-height: 314px;
    margin-top: 31px; }
    @media screen and (max-width: 47.75em) {
      .fp_services__tabs-panel-img {
        display: none; } }
  .fp_services__tabs-panel-title {
    margin: 0;
    line-height: 1.4;
    font-size: 1.5rem;
    font-family: ProximaNova-700;
    text-transform: uppercase;
    text-align: center; }
  .fp_services__text-content-ref {
    margin-bottom: 27px; }
  .fp_services__btn {
    min-width: 240px;
    text-align: center; }

.brand-ref__logo {
  display: inline-block;
  max-width: 22%;
  vertical-align: middle; }

.brand-ref__description {
  display: inline-block;
  padding-left: 3%;
  max-width: 75%;
  color: #7b7b7b;
  vertical-align: middle;
  font-size: 0.75rem;
  line-height: 1.5; }

.fp_instruments:after {
  content: '';
  display: block;
  clear: both; }

.fp_instruments {
  margin-top: 45px;
  margin-bottom: 60px;
  text-align: center; }
  .fp_instruments__title {
    text-transform: uppercase;
    font-family: ProximaNova-700; }
  .fp_instruments__blocks {
    margin: 27px 0; }
  .fp_instruments__button-more {
    margin-top: 40px; }

.instruments-block {
  position: relative;
  overflow: hidden;
  padding: 40px 43px !important;
  min-height: 227px;
  text-align: left; }
  @media screen and (max-width: 47.75em) {
    .instruments-block {
      text-align: center; }
      .instruments-block__button {
        min-width: 208px; } }
  .instruments-block__bg {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: -1;
    margin: 0; }
    .instruments-block__bg img {
      min-width: 100%;
      min-height: 100%; }
    .instruments-block__bg:after {
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      position: absolute;
      content: ''; }
  .instruments-block__title {
    top: 82px;
    color: #fefefe;
    text-align: center;
    text-transform: uppercase;
    font-family: ProximaNova-700; }
    @media screen and (min-width: 47.8125em) and (max-width: 55.25em) {
      .instruments-block__title {
        font-size: 2.88462vw; } }
  .instruments-block__button {
    position: absolute;
    bottom: 40px; }
  .instruments-block:nth-child(odd) .instruments-block__bg:after {
    background-color: rgba(0, 173, 239, .8); }
  .instruments-block:nth-child(even) .instruments-block__bg:after {
    background-color: rgba(0, 173, 239, .46); }

.sw_main {
  margin: 35px auto 40px;
  padding: 55px 40px 65px;
  background-color: #fefefe; }
  @media screen and (max-width: 47.75em) {
    .sw_main {
      margin: 0;
      padding: 30px 20px 35px; } }

.sw_description__title {
  font-family: ProximaNova-700;
  text-transform: uppercase; }

.sw_description__text {
  line-height: 1.5;
  max-width: 830px; }
  .sw_description__text p, .sw_description__text p > * {
    color: #121212;
    font-family: ProximaNova, Open Sans, Gill Sans MT, Gill Sans, Corbel, Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    background-color: transparent !important;
    line-height: 1.5 !important; }
  @media screen and (max-width: 47.75em) {
    .sw_description__text {
      text-align: justify;
      padding-top: 20px; } }

.sw_stages {
  margin-top: 70px;
  text-align: center; }
  @media screen and (max-width: 47.75em) {
    .sw_stages {
      margin-top: 50px; } }
  .sw_stages__title {
    font-family: ProximaNova-700;
    text-transform: uppercase; }
  .sw_stages__blocks {
    margin-top: 45px; }
  .sw_stages__block {
    position: relative;
    top: -30px;
    opacity: 0;
    -webkit-transition: all 0.5s 0.2s ease-in-out;
    transition: all 0.5s 0.2s ease-in-out; }
    .sw_stages__block:not(:first-child) {
      margin-top: 60px; }
      @media screen and (max-width: 47.75em) {
        .sw_stages__block:not(:first-child) {
          margin-top: 30px; } }
    .sw_stages__block.is-active {
      top: 0;
      opacity: 1; }

.ct_main {
  margin-top: 35px;
  margin-bottom: 40px;
  min-height: calc(100vh - 311px); }

.ct_main:before {
  content: '';
  display: table; }

.ct_main:after {
  content: '';
  display: table;
  clear: both; }

.ct_contacts-wrap {
  position: relative; }

.ct_contacts {
  float: left;
  width: calc(50% - 10px); }
  .ct_contacts__block:not(:first-child) {
    margin-top: 20px; }
  .ct_contacts__block a {
    color: #121212; }

.ct_feedback {
  float: right;
  width: calc(50% - 10px);
  height: 100%;
  background-color: #fefefe;
  padding: 20px 35px;
  height: 100%; }
  .ct_feedback__title {
    font-family: ProximaNova-700;
    text-transform: uppercase;
    margin-bottom: 15px; }
  .ct_feedback .fbk-form__submit-btn {
    position: relative;
    right: -140px;
    bottom: 0; }

.fbk-form__field.field-contactform-message .fbk-form__field-label {
  background: #f8f8f8;
  width: 100%;
  left: 0;
  margin-top: -5px;
  padding-top: 10px;
  text-align: left;
  padding-left: 20px; }

@media screen and (max-width: 47.75em) {
  .ct_contacts,
  .ct_feedback {
    position: static;
    display: block;
    width: 100%; }
  .ct_feedback {
    margin-top: 20px; } }

.st_tabs {
  margin-top: 40px;
  text-align: center; }
  .st_tabs__title {
    display: inline-block;
    margin: 0 10px; }

.st_tabs-content {
  margin-top: 40px; }
  .st_tabs-content__panel {
    visibility: hidden;
    height: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.5s 0s ease-in-out;
    transition: opacity 0.5s 0s ease-in-out; }
    .st_tabs-content__panel.is-active {
      visibility: visible;
      height: auto;
      opacity: 1; }
  .st_tabs-content__block {
    padding-left: 40px;
    margin-bottom: 30px; }
    @media screen and (max-width: 47.75em) {
      .st_tabs-content__block {
        padding-left: 20px;
        padding-right: 20px; } }
  .st_tabs-content__subblock {
    margin-bottom: 80px; }
  .st_tabs-content__resize-btn {
    position: absolute;
    bottom: 60px;
    left: 40px; }
    @media screen and (max-width: 47.75em) {
      .st_tabs-content__resize-btn {
        left: 20px; } }

.ab_main,
.ab_header,
.ab_header__slider {
  position: relative; }

.ab_about {
  margin-top: 90px;
  padding-left: 25px;
  padding-right: 50px; }
  .ab_about__subblock {
    margin-bottom: 30px; }
  .ab_about__resize-btn {
    position: absolute;
    left: 25px;
    bottom: 40px; }

.header-slider .img,
.header-slider .video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 9999px; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .header-slider .img,
    .header-slider .video {
      height: auto; } }

.header-slider .video:-ms-fullscreen {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -ms-transform: translate(0%, 0%);
      transform: translate(0%, 0%); }

.header-slider .js_slider {
  position: relative;
  margin: 0 auto;
  text-align: center;
  background-color: #000; }
  .header-slider .js_slider__slide {
    position: relative;
    height: 500px; }
    @media screen and (max-width: 47.75em) {
      .header-slider .js_slider__slide {
        height: 300px; } }

.header-slider .js_slider-nav {
  width: 100%;
  text-align: center;
  -webkit-transform: translate(-50%, calc(-120% - 10px));
          transform: translate(-50%, calc(-120% - 10px));
  -ms-transform: translateY(-120%) translateY(-10px) translateX(-50%);
  max-width: 65rem; }
  @media screen and (max-width: 47.75em) {
    .header-slider .js_slider-nav {
      display: none; } }
  .header-slider .js_slider-nav .slick-track {
    width: 100% !important; }
  .header-slider .js_slider-nav__item {
    position: relative;
    display: inline-block !important;
    float: none !important;
    max-width: 150px;
    max-height: 100px;
    height: 6vw;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 7px 12px rgba(0, 0, 0, .3); }
    .header-slider .js_slider-nav__item:not(:last-of-type) {
      margin-right: 20px; }
    .header-slider .js_slider-nav__item:after {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      background-color: transparent;
      box-shadow: inset 0 0 0 3px #00adef;
      -webkit-transition: all 0.15s 0s ease-in-out;
      transition: all 0.15s 0s ease-in-out; }
    .header-slider .js_slider-nav__item:not(.slick-current) {
      box-shadow: none; }
      .header-slider .js_slider-nav__item:not(.slick-current):after {
        background-color: rgba(0, 0, 0, .4);
        box-shadow: none; }
  .header-slider .js_slider-nav__item-ico {
    z-index: 3; }

@media screen and (max-width: 31.25em) {
  .header-slider .img,
  .header-slider .video {
    height: 100%; } }

.controls {
  overflow: hidden;
  background: transparent;
  width: 100%;
  position: relative; }
  .controls, .controls > * {
    padding: 0;
    margin: 0; }
  .controls[data-state=hidden] {
    display: none; }
  .controls[data-state=visible] {
    display: block; }
  .controls > * {
    width: 3.90625%;
    height: 100%;
    margin-left: 0.1953125%;
    display: block; }
  .controls > *:first-child {
    margin-left: 0; }
  .controls .progress {
    cursor: pointer;
    width: 50%; }
  .controls button {
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    border: none;
    cursor: pointer;
    text-indent: -99999px;
    background: transparent;
    background-size: contain;
    background-repeat: no-repeat; }
    .controls button:hover, .controls button:focus {
      opacity: .5; }
    .controls button[data-state="play"] {
      width: 32px;
      height: 32px;
      background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCIgdmlld0JveD0iMCAwIDQ0My4zMDcgNDQzLjMwNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQzLjMwNyA0NDMuMzA2OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTQxNS45MzQsMjEyLjc5OUwzNi43ODgsMi4wOTdDMzIuNDExLTAuMzc3LDI4LjY1LTAuNjYxLDI1LjUxLDEuMjQyYy0zLjE0LDEuOTAyLTQuNzA4LDUuMzI4LTQuNzA4LDEwLjI3NlY0MzEuNzggICBjMCw0Ljk1MiwxLjU2OSw4LjM4MSw0LjcwOCwxMC4yODRjMy4xNCwxLjkwMiw2LjkwMSwxLjYyMiwxMS4yNzgtMC44NTVsMzc5LjE0Ni0yMTAuNzAzYzQuMzgxLTIuNDc4LDYuNTcxLTUuNDM0LDYuNTcxLTguODU2ICAgQzQyMi41MDUsMjE4LjIyNCw0MjAuMzE0LDIxNS4yNzQsNDE1LjkzNCwyMTIuNzk5eiIgZmlsbD0iI0ZGRkZGRiIvPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=); }
    .controls button[data-state="pause"] {
      width: 32px;
      height: 32px;
      background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzNjUgMzY1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzNjUgMzY1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCI+CjxnPgoJPHJlY3QgeD0iNzQuNSIgd2lkdGg9IjczIiBoZWlnaHQ9IjM2NSIgZmlsbD0iI0ZGRkZGRiIvPgoJPHJlY3QgeD0iMjE3LjUiIHdpZHRoPSI3MyIgaGVpZ2h0PSIzNjUiIGZpbGw9IiNGRkZGRkYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K); }
  .controls progress {
    display: block;
    width: 100%;
    height: 81%;
    margin-top: 0.125rem;
    border: none;
    color: #0095dd;
    border-radius: 2px; }
    .controls progress[data-state="fake"] {
      background: #e6e6e6;
      height: 65%; }
    .controls progress span {
      width: 0%;
      height: 100%;
      display: inline-block;
      background-color: #2a84cd; }
    .controls progress::-moz-progress-bar {
      background-color: #0095dd; }
    .controls progress::-webkit-progress-value {
      background-color: #0095dd; }

.ab_team {
  margin-top: 80px;
  margin-bottom: 90px; }
  @media (max-width: 25rem) {
    .ab_team p {
      font-size: 0.9375rem; } }
  .ab_team__persons:after {
  content: '';
  display: block;
  clear: both; }
  .ab_team__person {
    position: relative;
    padding: 40px;
    -webkit-transition: all 0.3s 0s ease-in-out;
    transition: all 0.3s 0s ease-in-out; }
    @media (max-width: 25rem) {
      .ab_team__person {
        padding: 40px 15px; } }
    .ab_team__person.is-active {
      z-index: 10;
      box-shadow: 0 6px 46px rgba(0, 0, 0, .15); }
      .ab_team__person.is-active .ab_team__person-title-text {
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); }
    .ab_team__person:not(.is-active):hover {
      z-index: 5;
      color: #fefefe;
      box-shadow: 0 6px 46px rgba(0, 0, 0, .15);
      background-color: #00adef; }
      .ab_team__person:not(.is-active):hover .ab_team__resize-btn {
        background-color: #fefefe; }
        .ab_team__person:not(.is-active):hover .ab_team__resize-btn:after, .ab_team__person:not(.is-active):hover .ab_team__resize-btn:before {
          background-color: #00adef; }
  .ab_team__person-title {
    position: relative;
    margin: 0; }
    .ab_team__person-title-img-wrap {
      position: relative;
      display: inline-block;
      vertical-align: middle;
      width: 110px;
      height: 110px;
      border-radius: 50%;
      overflow: hidden;
      z-index: 1;
      margin-right: 15px; }
    .ab_team__person-title-img {
      width: auto;
      height: 100%;
      max-width: unset; }
    .ab_team__person-title-text {
      position: relative;
      -webkit-transform: translateY(-80%);
          -ms-transform: translateY(-80%);
              transform: translateY(-80%);
      display: block;
      position: absolute;
      top: 50%;
      left: 125px;
      -webkit-transition: -webkit-transform 0.3s 0s ease-in-out;
      transition: -webkit-transform 0.3s 0s ease-in-out;
      transition: transform 0.3s 0s ease-in-out;
      transition: transform 0.3s 0s ease-in-out, -webkit-transform 0.3s 0s ease-in-out; }
      @media (max-width: 25rem) {
        .ab_team__person-title-text {
          -webkit-transform: translateY(-65%);
              -ms-transform: translateY(-65%);
                  transform: translateY(-65%);
          left: 125px; } }
      .ab_team__person-title-text-name {
        margin-bottom: 0; }
        @media screen and (max-width: 55.25em) {
          .ab_team__person-title-text-name {
            font-size: 1.25rem; } }
        @media (max-width: 25rem) {
          .ab_team__person-title-text-name {
            font-size: 1.125rem; } }
      .ab_team__person-title-text-position {
        margin-bottom: 0; }
        @media screen and (min-width: 47.8125em) and (max-width: 55.25em) {
          .ab_team__person-title-text-position {
            font-size: 0.875rem; } }
  .ab_team__person-description {
    margin-bottom: 40px;
    padding-top: 20px; }
    .ab_team__person-description p {
      margin-bottom: 0; }
    .ab_team__person-description-para {
      margin-top: 25px;
      margin-bottom: 0; }
      .ab_team__person-description-para:last-of-type {
        margin-bottom: 60px; }
  .ab_team__resize-btn {
    position: absolute;
    left: 165px;
    bottom: 40px;
    -webkit-transition: all 0.3s 0s ease-in-out;
    transition: all 0.3s 0s ease-in-out; }
    .ab_team__resize-btn:hover {
      -webkit-transform: scale(1.2) perspective(1px) translate3d(0, 0, 0);
              transform: scale(1.2) perspective(1px) translate3d(0, 0, 0);
      -webkit-perspective: 1px;
              perspective: 1px; }
    .ab_team__resize-btn.is-active {
      left: 40px; }
  .ab_team__grid-block {
    width: 49.95%; }
  .ab_team__grid-block:nth-child(1n) {
  float: left;
  margin-right: 0;
  clear: none; }
  .ab_team__grid-block:last-child {
  margin-right: 0; }
  .ab_team__grid-block:nth-child(2n) {
  margin-right: 0;
  float: right; }
  .ab_team__grid-block:nth-child(2n + 1) {
  clear: both; }
    @media screen and (max-width: 47.75em) {
      .ab_team__grid-block {
        width: auto; }
      .ab_team__grid-block:last-child {
    float: none;
    clear: none;
    margin-right: 0;
    width: auto; }
      .ab_team__grid-block:nth-child(1n) {
    float: none;
    clear: none;
    margin-right: 0;
    width: auto; }
      .ab_team__grid-block:nth-child(1n + 1) {
    float: none;
    clear: none;
    margin-right: 0;
    width: auto; } }

.js_slider-nav {
  -webkit-transition: all ease .5s;
  transition: all ease .5s; }

.video:hover + .controls,
.controls:hover {
  opacity: .8; }

.controls {
  display: block !important;
  position: absolute;
  top: 15px;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity ease .3s;
  transition: opacity ease .3s; }

.controls .progress {
  display: inline-block;
  vertical-align: top;
  height: 33px;
  margin-right: 10px; }

.controls progress {
  display: block;
  width: 100%;
  height: 81%;
  margin-top: 2px;
  margin-top: 0.125rem;
  border: none;
  overflow: hidden;
  border-radius: 2px;
  color: #0095dd;
  /* Internet Explorer uses this value as the progress bar's value colour */ }

.controls progress span {
  width: 0%;
  height: 100%;
  display: inline-block;
  background-color: #2a84cd; }

.controls button {
  text-indent: 0;
  display: inline-block;
  margin-right: 10px;
  border: 0;
  width: 32px; }
  .controls button:active, .controls button:focus {
    outline: none; }

.controls .fa {
  color: #0095dd;
  font-size: 2rem;
  font-family: FontAwesome; }

.video-dimensions {
  width: 100% !important;
  height: 100% !important; }

.video-js .vjs-tech {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.js_person__resize-wrap {
  display: none; }

@media (max-width: 25rem) {
  .ab_team__resize-btn {
    left: 140px;
    bottom: 25px; } }

.sr_main {
  margin: 80px auto 90px;
  padding: 55px 40px 65px;
  background-color: #fefefe; }
  @media screen and (max-width: 47.75em) {
    .sr_main {
      margin: 0;
      padding: 30px 20px 35px; } }

.st_services p {
  line-height: 1.6 !important; }

.inst-main {
  margin: 30px auto 40px;
  min-height: calc(100vh - 306px); }
  .inst-main__link {
    text-transform: uppercase;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #00adef; }
    @media screen and (max-width: 66.875em) {
      .inst-main__link {
        margin-left: 20px; } }

.inst-wrap {
  margin-top: 30px;
  padding: 55px 40px 65px;
  background-color: #fefefe; }
  .inst-wrap:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

.slider-wrap,
.inst-specs-download {
  display: inline-block;
  vertical-align: top; }

.slider-wrap {
  margin-right: 5%;
  max-width: 39%; }

.inst-slider {
  padding-bottom: 20px; }
  .inst-slider .slick-slide img {
    margin: 0 auto; }
  .inst-slider img {
    max-height: 253px; }
  @media screen and (max-width: 47.8125em) {
    .inst-slider img {
      height: 200px; } }
  @media screen and (max-width: 37.5em) {
    .inst-slider img {
      max-height: 253px; } }
  @media screen and (max-width: 31.25em) {
    .inst-slider img {
      height: 200px; } }
  @media screen and (max-width: 25em) {
    .inst-slider img {
      height: 150px; } }

/*.slider-nav {
  text-align: center;
  overflow-y: auto;
  height: 100px;

  & div {
    display: inline-block;
    width: 120px;
    height: 90px;
    overflow: hidden;
    & img {
      // height: 90px;
      min-height: 90px;
    }
  }
}*/
.slick-prev, .slick-next {
  color: #00adef;
  font-size: 1.5625rem;
  cursor: pointer;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.slick-prev {
  left: -25px; }

.slick-next {
  right: -25px; }

.slider-nav .slick-slide img {
  max-height: 90px;
  width: 100%;
  height: 100%;
  object-fit: contain; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .slider-nav .slick-slide img {
      height: auto; } }

.slider-nav__item {
  height: 90px;
  display: inline-block; }

.inst-descr {
  float: right;
  width: 56%; }

.inst-name {
  color: #7b7b7b;
  font-size: 1.375rem;
  display: inline-block;
  font-weight: 700;
  margin-bottom: 39px; }

.inst-compare {
  text-transform: uppercase;
  font-size: 0.875rem;
  float: right;
  line-height: 1.9375rem;
  color: #00adef;
  position: relative;
  margin-right: 27px;
  font-weight: 700; }
  .inst-compare:after {
    content: '';
    position: absolute;
    top: 7px;
    right: -27px;
    background: url("/statics/img/png/compare-img.png");
    width: 17px;
    height: 16px; }

.inst-specs__name {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.125rem;
  color: #121212;
  display: inline-block;
  margin-top: 10px; }

.measure-system {
  float: right; }
  .measure-system__item {
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 700;
    color: #9d9d9d;
    cursor: pointer;
    line-height: 1rem; }
    .measure-system__item:hover, .measure-system__item_active {
      color: #00adef; }

.inst-specs-table .inst-specs-table-more .inst-specs-table-row {
  -webkit-transition: all 1s 0s ease-in-out;
  transition: all 1s 0s ease-in-out;
  max-height: 2000px; }

.inst-specs-table .inst-specs-table-more:not(.is-active) > .inst-specs-table-row {
  max-height: 0;
  overflow: hidden; }

.inst-specs-table-row > div {
  border-top: 1px solid #e7e7e7;
  font-size: 1.125rem;
  color: #121212; }

.inst-specs-table__name {
  width: 50%;
  display: inline-block;
  margin-right: 5%;
  vertical-align: top;
  padding: 20px 0; }

.inst-specs-table__value {
  line-height: 1.5;
  width: 44%;
  display: inline-block;
  padding: 20px 0; }
  .inst-specs-table__value_imperical {
    display: none; }

.inst-specs__btn {
  margin-top: 20px;
  padding: 15px 45px;
  float: right;
  font-size: 0.875rem; }

.inst-specs-download {
  margin-top: 35px;
  min-width: 200px; }
  .inst-specs-download__file-img {
    float: left;
    margin-right: 14px; }
  .inst-specs-download__link {
    display: inline-block;
    color: #121212;
    font-size: 1.125rem;
    line-height: 1.125rem;
    border-bottom: 1px solid #9d9d9d;
    font-weight: 700; }
    .inst-specs-download__link:first-letter {
      text-transform: uppercase; }
    .inst-specs-download__link:hover {
      border-bottom-color: #00adef; }
  .inst-specs-download__file-info {
    text-transform: uppercase;
    font-size: 0.875rem;
    color: #9d9d9d;
    margin-right: 15px; }
  .inst-specs-download__print {
    text-transform: uppercase;
    font-size: 0.875rem;
    color: #00adef;
    font-weight: 700;
    target-new: tab; }

@media screen and (max-width: 60.3125em) {
  .inst-descr {
    float: none;
    width: 100%;
    margin-bottom: 100px; }
  .slider-wrap {
    max-width: 45%; } }

@media screen and (max-width: 37.5em) {
  .slider-wrap {
    margin: 0 auto;
    max-width: 74%;
    display: block; }
  .inst-specs-table__name {
    width: 54%; }
  .inst-specs-table__value {
    width: 39%; }
  .inst-specs-table-row > div {
    font-size: 0.9375rem;
    line-height: 1.25rem;
    padding: 15px 0; } }

@media screen and (max-width: 47.8125em) {
  .inst-specs__btn {
    display: block;
    float: none;
    margin: 20px auto; } }

@media screen and (max-width: 31.25em) {
  .inst-name {
    margin-bottom: 0;
    display: block; }
  .inst-compare {
    float: none;
    display: inline-block;
    margin-bottom: 10px; }
  .inst-specs__name {
    display: block;
    width: 100%; }
  .measure-system {
    float: none;
    text-align: center; } }

@media screen and (max-width: 21.875em) {
  .inst-specs-table-row > div {
    padding: 10px 0; } }

.tool {
  background-color: #fefefe;
  position: relative;
  overflow: hidden;
  padding-left: 38px;
  margin-bottom: 20px; }
  .tool_wrap {
    float: left; }
  .tool__name {
    color: #121212;
    font-size: 1.875rem;
    margin: 25px 0 7px;
    text-transform: uppercase;
    font-weight: 700; }
  .tool__link {
    color: #00adef;
    font-size: 0.875rem;
    text-transform: uppercase;
    font-weight: 700; }
  .tool__img {
    float: right;
    vertical-align: top;
    width: 350px;
    margin-right: 40px; }

.title {
  font-size: 1.875rem;
  font-weight: 700;
  text-transform: uppercase; }

.sub-title {
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.5rem;
  margin: 50px 0; }

.hide {
  display: none !important; }

.selected-engines-wrap {
  position: relative;
  display: none; }
  @media (max-width: 46.875rem) {
    .selected-engines-wrap .btn_float-right {
      margin-top: 20px;
      float: none; } }
  .selected-engines-wrap .btn {
    cursor: pointer; }
    .selected-engines-wrap .btn_normal {
      margin-left: 20px;
      padding: 15px 45px;
      font-size: 0.875rem; }
    .selected-engines-wrap .btn_float-right {
      float: right; }
      @media (max-width: 46.875rem) {
        .selected-engines-wrap .btn_float-right {
          float: none; } }

.selected-engines-btn-close {
  position: absolute;
  top: -13px;
  right: -13px;
  cursor: pointer; }

.selected-engines {
  display: inline-block;
  max-width: 80%; }
  @media (max-width: 46.875rem) {
    .selected-engines {
      display: block;
      width: 100%; } }

.selected-items {
  list-style: none; }

.selected-item {
  display: inline-block;
  margin-right: 40px; }
  .selected-item:last-of-type {
    margin-right: 0; }
  .selected-item__number {
    color: #00adef;
    font-size: 1.875rem;
    font-weight: 300; }
  .selected-item__text {
    font-size: 0.875rem;
    font-weight: 700; }
    .selected-item__text.text_normal {
      font-weight: 400; }
  .selected-item__btn-delete {
    cursor: pointer;
    margin-left: 17px; }
    .selected-item__btn-delete img {
      vertical-align: baseline; }
  @media (max-width: 46.875rem) {
    .selected-item {
      display: block; } }

.engines-column {
  width: 150px;
  margin-right: 5%;
  display: inline-block;
  vertical-align: top; }
  .engines-column:last-of-type {
    margin-right: 0; }
  .engines-column__title {
    line-height: 1.875rem;
    font-size: 1.1875rem;
    font-weight: 700; }
  .engines-column-item__text {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.875rem;
    text-transform: uppercase;
    display: inline-block;
    max-width: 103px; }
  .engines-column-item__icon {
    float: right;
    cursor: pointer;
    opacity: .5;
    -webkit-transition: all .3s;
    transition: all .3s;
    margin-right: 30px;
    margin-top: 6px;
    position: relative;
    width: 17px;
    height: 16px;
    background: url("/statics/img/png/compare-img.png") 50% 50% no-repeat; }
    .engines-column-item__icon.selected {
      background: url("/statics/img/png/compare-img-selected.png") 50% 50% no-repeat; }
    .engines-column-item__icon:hover {
      opacity: 1; }
      .engines-column-item__icon:hover:before {
        content: attr(data-tooltip);
        position: absolute;
        left: 27px;
        top: -16px;
        background-color: white;
        padding: 10px 30px;
        white-space: nowrap;
        box-shadow: 0 6px 18px rgba(0, 0, 0, .15);
        text-align: center;
        font-size: 14px;
        font-size: 0.875rem;
        font-weight: 400;
        line-height: 31px;
        line-height: 1.9375rem;
        color: #121212;
        z-index: 99; }
      .engines-column-item__icon:hover:after {
        width: 0;
        height: 0;
        border: 6px solid transparent;
        content: '';
        border-right-color: white;
        border-left: none;
        position: absolute;
        top: 50%;
        left: 100%;
        margin-top: -6px;
        margin-left: 4px;
        z-index: 99; }

.engines-info {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem; }
  .engines-info p {
    margin: 45px 0; }
  .engines-info img {
    max-width: 100%;
    height: auto;
    margin: 0 auto; }
    .engines-info img.shadow {
      box-shadow: 0 0 20px rgba(0, 0, 0, .1); }
    .engines-info img.mtop-130 {
      margin-top: 130px; }
    .engines-info img.standart {
      display: block;
      margin: 50px auto; }
    @media (max-width: 46.875rem) {
      .engines-info img {
        display: block;
        margin: 50px auto !important; } }
  .engines-info li {
    position: relative;
    padding-left: 40px; }
    .engines-info li:before {
      content: url("/statics/img/png/list-rectangle.png");
      position: absolute;
      left: 15px; }
  .engines-info .left-col {
    display: inline-block;
    width: 60%; }
    .engines-info .left-col.v-top {
      vertical-align: top; }
    .engines-info .left-col.v-bottom {
      vertical-align: bottom; }
    @media (max-width: 46.875rem) {
      .engines-info .left-col.for-mwd {
        display: inline-block;
        width: 60%; } }
    .engines-info .left-col p {
      margin-bottom: 0; }
    @media (max-width: 46.875rem) {
      .engines-info .left-col {
        display: block;
        width: 100%; } }
  .engines-info .right-col {
    display: inline-block;
    width: 39%;
    text-align: center; }
    .engines-info .right-col.v-top {
      vertical-align: top; }
    .engines-info .right-col.v-bottom {
      vertical-align: bottom; }
    @media (max-width: 46.875rem) {
      .engines-info .right-col.for-mwd {
        display: inline-block;
        width: auto; }
        .engines-info .right-col.for-mwd img {
          display: inline-block; } }
    @media (max-width: 46.875rem) {
      .engines-info .right-col {
        display: block;
        width: 100%; } }
  .engines-info .list-title {
    margin: 40px 0 10px 0; }
  .engines-info .prop-list.x-large li {
    margin-bottom: 70px; }
  .engines-info .prop-list.large li {
    margin-bottom: 20px; }
    .engines-info .prop-list.large li:last-of-type {
      margin-bottom: 0; }
      @media (max-width: 46.875rem) {
        .engines-info .prop-list.large li:last-of-type {
          margin-bottom: 50px; } }
  .engines-info .prop-list.small li {
    margin-bottom: 10px; }

@media (max-width: 46.875rem) {
  .inst-descr-compare .inst-specs__name {
    font-size: 0.9375rem; } }

.inst-descr-compare .print {
  color: #00adef;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 700;
  position: relative;
  padding-left: 35px;
  display: inline-block; }
  .inst-descr-compare .print:before {
    content: url("/statics/img/png/print-icon.png");
    position: absolute;
    left: 0; }

.inst-descr-compare .to-print {
  display: none; }

.inst-descr-compare .inst-specs-table__name {
  margin-right: 0;
  width: 38%; }

.inst-descr-compare .inst-specs-table__value {
  width: 20%; }

.inst-descr-compare .inst-specs-table-row > div {
  line-height: 1.1;
  padding: 15px 0; }

.inst-descr-compare .measure-system {
  float: none; }

.inst-descr-compare .table-responsive {
  min-height: .01%;
  overflow-x: auto; }

.inst-descr-compare .compare-engines-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px 0; }
  .inst-descr-compare .compare-engines-table td,
  .inst-descr-compare .compare-engines-table th {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.75rem;
    padding: 12px 0; }
    @media (max-width: 46.875rem) {
      .inst-descr-compare .compare-engines-table td,
      .inst-descr-compare .compare-engines-table th {
        font-size: 0.9375rem; } }
    .inst-descr-compare .compare-engines-table td a,
    .inst-descr-compare .compare-engines-table th a {
      position: relative; }
      .inst-descr-compare .compare-engines-table td a .del-text,
      .inst-descr-compare .compare-engines-table th a .del-text {
        font-size: 0.75rem;
        font-weight: 700;
        line-height: 1.9375rem;
        text-transform: uppercase;
        opacity: 0;
        -webkit-transition: opacity ease .25s;
        transition: opacity ease .25s; }
        @media (max-width: 46.875rem) {
          .inst-descr-compare .compare-engines-table td a .del-text,
          .inst-descr-compare .compare-engines-table th a .del-text {
            display: none; } }
      .inst-descr-compare .compare-engines-table td a:hover .del-text,
      .inst-descr-compare .compare-engines-table th a:hover .del-text {
        opacity: 1; }
    .inst-descr-compare .compare-engines-table td .inst-desc-title,
    .inst-descr-compare .compare-engines-table th .inst-desc-title {
      display: inline-block;
      color: #797979;
      font-size: 1.125rem;
      font-weight: 700; }
      @media (max-width: 46.875rem) {
        .inst-descr-compare .compare-engines-table td .inst-desc-title,
        .inst-descr-compare .compare-engines-table th .inst-desc-title {
          font-size: 0.9375rem; } }
  .inst-descr-compare .compare-engines-table td {
    border-bottom: 1px solid #e7e7e7; }
    .inst-descr-compare .compare-engines-table td.no-border {
      border-bottom: 0; }
  .inst-descr-compare .compare-engines-table__name {
    width: 38%;
    text-align: left; }
  .inst-descr-compare .compare-engines-table__value {
    width: 20%; }
  @media (max-width: 46.875rem) {
    .inst-descr-compare .compare-engines-table .select-engine {
      width: 120px; } }

.select-engine {
  display: inline-block;
  width: 223px;
  height: 50px;
  box-shadow: 0 6px 16px rgba(57, 101, 168, .25);
  border: 1px solid #00adef;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  position: relative;
  z-index: 2;
  text-align: left;
  font-size: 0.875rem;
  font-weight: 400; }
  .select-engine__list-main {
    width: 100%;
    display: none;
    position: absolute;
    top: 48px;
    max-height: 40vh;
    overflow-y: auto;
    margin-left: 0; }
  .select-engine__label,
  .select-engine ul li {
    width: 100%;
    display: block;
    background-color: #f8f8f8;
    cursor: pointer; }
    .select-engine__label.selected,
    .select-engine ul li.selected {
      opacity: .5;
      cursor: not-allowed;
      color: #00adef; }
    .select-engine__label.separator,
    .select-engine ul li.separator {
      cursor: not-allowed; }
  .select-engine__label {
    position: relative;
    height: 100%;
    padding: 12px 20px;
    border-bottom: 1px solid #ececec; }
    @media (max-width: 46.875rem) {
      .select-engine__label {
        padding: 12px; } }
    .select-engine__label:hover {
      background-color: white; }
    .select-engine__label.first {
      border-bottom: 0; }
      .select-engine__label.first:after {
        content: url("/statics/img/png/down-triangle.png");
        position: absolute;
        right: 15px;
        top: 10px; }
  .select-engine__label.show ~ .select-engine__list {
    display: block; }
  .select-engine__list {
    position: relative;
    display: none;
    z-index: 1;
    margin: 0; }
    .select-engine__list li {
      padding: 15px 15px 15px 40px; }
      @media (max-width: 46.875rem) {
        .select-engine__list li {
          padding: 15px 15px 15px 20px; } }
      .select-engine__list li:hover {
        background-color: white; }

@media print {
  .to-print {
    display: block !important; }
  .top-nav,
  .inst-main__link,
  .print,
  .select-engine,
  .inst-specs,
  .inst-desc-title,
  .compare-btn-main,
  .js_remove_engine,
  .footer {
    display: none !important; }
  body {
    background: #FFF;
    color: #000;
    font-size: 0.875rem; }
  .table-responsive {
    overflow: visible !important; }
  .compare-engines-table {
    width: 100%; }
  .compare-engines-table__name, .compare-engines-table__value {
    width: auto !important; } }

main {
  max-width: 65rem;
  margin: 0 auto; }

body {
  -ms-overflow-x: hidden; }

.compare-btn-main {
  padding: 13px 0 0 17px;
  position: fixed;
  bottom: 20px;
  right: 5%;
  width: 50px;
  height: 50px;
  background: white;
  box-shadow: 0 6px 16px rgba(57, 101, 168, .25);
  cursor: pointer;
  display: none;
  z-index: 1; }
  .compare-btn-main__close {
    position: absolute;
    right: -7px;
    top: -7px;
    cursor: pointer; }

.site-error {
  height: calc(100vh - 236px);
  max-width: 65rem;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 59.375em) {
    .site-error {
      height: calc(100vh - 255px); } }
  @media screen and (max-width: 47.875em) {
    .site-error {
      height: calc(100vh - 206px); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjxubyBzb3VyY2U+IiwidXRpbHMvX2V4dGVuZHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsImFwcC5jc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCJ1dGlscy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19mb250cy5zY3NzIiwiY29tcG9uZW50cy9fZ2VuZXJhbC5zY3NzIiwiY29tcG9uZW50cy9fdG9wLW5hdmlnYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX25hdi1pbnN0cnVtZW50cy5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19oYW1idXJnZXIuc2NzcyIsImNvbXBvbmVudHMvX3N0YWdlLWJsb2NrLnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0LWJsb2NrLnNjc3MiLCJjb21wb25lbnRzL19mZWVkYmFjay1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19pbmZvYmxvY2suc2NzcyIsInBhZ2VzL19mcm9udC1wYWdlLnNjc3MiLCJwYWdlcy9fc2VydmljZS13b3Jrc2hvcC5zY3NzIiwicGFnZXMvX2NvbnRhY3RzLnNjc3MiLCJwYWdlcy9fc2VydmljZXMtYW5kLXRvb2xzLnNjc3MiLCJwYWdlcy9fYWJvdXQuc2NzcyIsInBhZ2VzL19zZXJ2aWNlcy5zY3NzIiwicGFnZXMvX3Rvb2wuc2NzcyIsInBhZ2VzL190b29scy5zY3NzIiwicGFnZXMvX2VuZ2luZXMuc2NzcyIsInBhZ2VzL19jb21wYXJlLnNjc3MiLCJfbWFpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQUEsdUJBQUE7RUFBQSxtQkFBQTtFQUFBLGlCQUFBO0VBQUEsMkhBQUEsRUFBQTs7QUFBQTtFQUFBLHVCQUFBO0VBQUEsbUJBQUE7RUFBQSxpQkFBQTtFQUFBLGdLQUFBLEVBQUE7O0FBQUE7RUFBQSx1QkFBQTtFQUFBLG1CQUFBO0VBQUEsaUJBQUE7RUFBQSxvR0FBQSxFQUFBOztBQUFBO0VBQUEsdUJBQUE7RUFBQSxtQkFBQTtFQUFBLGlCQUFBO0VBQUEsK0hBQUEsRUFBQTs7QUFBQTtFQUFBLHdCQUFBO0VBQUEsbUJBQUE7RUFBQSxpQkFBQTtFQUFBLDBJQUFBLEVBQUE7O0FBQUE7RUFBQSx3QkFBQTtFQUFBLG1CQUFBO0VBQUEsaUJBQUE7RUFBQSxvSEFBQSxFQUFBOztBQUFBO0VBQUEsd0JBQUE7RUFBQSxtQkFBQTtFQUFBLGlCQUFBO0VBQUEsc0lBQUEsRUFBQTs7QUFBQTtFQUFBLHdCQUFBO0VBQUEsbUJBQUE7RUFBQSxpQkFBQTtFQUFBLDhHQUFBLEVBQUE7O0FBQUE7RUFBQSx3QkFBQTtFQUFBLG1CQUFBO0VBQUEsaUJBQUE7RUFBQSwyQ0FBQSxFQUFBOztBQUFBO0VBQUEsd0JBQUE7RUFBQSxtQkFBQTtFQUFBLGlCQUFBO0VBQUEsMEdBQUEsRUFBQTs7QUNBQTtFQUNDLG1CQUFtQjtFQUNuQixTQUFTO0VBQ1Qsb0NBQXFCO01BQXJCLGdDQUFxQjtVQUFyQiw0QkFBcUIsRUFDckI7O0FBQ0Q7RUFDQyxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLG9DQUFxQjtNQUFyQixnQ0FBcUI7VUFBckIsNEJBQXFCLEVBQ3JCOztBQUNEOztFQUNDLG1CQUFtQjtF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YnNCLEVOMkVqQjs7QUFwQkQ7RUt0RUosaUJDZXNCLEVOeURqQjs7QUFJQztFTzNFSixtQkFBbUI7RUFDbkIsZ0JBSG1CLEVQK0VkOztBQUVEO0VPL0VKLG1CQUFtQjtFQUNuQixpQkFIbUIsRVBtRmQ7O0FBTUg7RU81REosdUJEYnNCLEVOMkVqQjs7QUFwQkQ7RUt0RUosV0Nlc0IsRU55RGpCOztBQUlDO0VPM0VKLG1CQUFtQjtFQUNuQixVQUhtQixFUCtFZDs7QUFFRDtFTy9FSixtQkFBbUI7RUFDbkIsV0FIbUIsRVBtRmQ7O0FBTUg7RU81REosdUJEYnNCLEVOMkVqQjs7QUFwQkQ7RUt0RUosaUJDZXNCLEVOeURqQjs7QUFJQztFTzNFSixtQkFBbUI7RUFDbkIsZ0JBSG1CLEVQK0VkOztBQUVEO0VPL0VKLG1CQUFtQjtFQUNuQixpQkFIbUIsRVBtRmQ7O0FBTUg7RU81REosaUJEYnNCLEVOMkVqQjs7QUFwQkQ7RUt0RUosaUJDZXNCLEVOeURqQjs7QUFJQztFTzNFSixtQkFBbUI7RUFDbkIsZ0JBSG1CLEVQK0VkOztBQUVEO0VPL0VKLG1CQUFtQjtFQUNuQixpQkFIbUIsRVBtRmQ7O0FBTUg7RU81REosdUJEYnNCLEVOMkVqQjs7QUFwQkQ7RUt0RUosV0Nlc0IsRU55RGpCOztBQUlDO0VPM0VKLG1CQUFtQjtFQUNuQixVQUhtQixFUCtFZDs7QUFFRDtFTy9FSixtQkFBbUI7RUFDbkIsV0FIbUIsRVBtRmQ7O0FBTUg7RU81REosdUJEYnNCLEVOMkVqQjs7QUFwQkQ7RUt0RUosaUJDZXNCLEVOeURqQjs7QUFJQztFTzNFSixtQkFBbUI7RUFDbkIsZ0JBSG1CLEVQK0VkOztBQUVEO0VPL0VKLG1CQUFtQjtFQUNuQixpQkFIbUIsRVBtRmQ7O0FBTUg7RU81REosaUJEYnNCLEVOMkVqQjs7QUFwQkQ7RUt0RUosaUJDZXNCLEVOeURqQjs7QUFJQztFTzNFSixtQkFBbUI7RUFDbkIsZ0JBSG1CLEVQK0VkOztBQUVEO0VPL0VKLG1CQUFtQjtFQUNuQixpQkFIbUIsRVBtRmQ7O0FBTUg7RU81REosdUJEYnNCLEVOMkVqQjs7QUFwQkQ7RUt0RUosWUNlc0IsRU55RGpCOztBQWdCRDtFTzVESix1QkRic0IsRU4yRWpCOztBQUtEO0VRdkZGLFlBQWlCO0VBQ2pCLFlaOEV1RCxFWTdDeEQ7RVJxREc7SVEvREEsWUFBWSxFQUNiO0VSOERDO0lRM0RBLFlBQVksRUFDYjtFUjBEQztJUXZEQSxZWitDcUQsRVk5Q3REOztBUnNEQztFUXZGRixXQUFpQjtFQUNqQixZWjhFdUQsRVk3Q3hEO0VScURHO0lRL0RBLFlBQVksRUFDYjtFUjhEQztJUTNEQSxZQUFZLEVBQ2I7RVIwREM7SVF2REEsWVorQ3FELEVZOUN0RDs7QVJzREM7RVF2RkYsaUJBQWlCO0VBQ2pCLFlaOEV1RCxFWTdDeEQ7RVJxREc7SVEvREEsWUFBWSxFQUNiO0VSOERDO0lRM0RBLFlBQVksRUFDYjtFUjBEQztJUXZEQSxZWitDcUQsRVk5Q3REOztBUnNEQztFUXZGRixXQUFpQjtFQUNqQixZWjhFdUQsRVk3Q3hEO0VScURHO0lRL0RBLFlBQVksRUFDYjtFUjhEQztJUTNEQSxZQUFZLEVBQ2I7RVIwREM7SVF2REEsWVorQ3FELEVZOUN0RDs7QVJzREM7RVF2RkYsV0FBaUI7RUFDakIsWVo4RXVELEVZN0N4RDtFUnFERztJUS9EQSxZQUFZLEVBQ2I7RVI4REM7SVEzREEsWUFBWSxFQUNiO0VSMERDO0lRdkRBLFlaK0NxRCxFWTlDdEQ7O0FSc0RDO0VRdkZGLGlCQUFpQjtFQUNqQixZWjhFdUQsRVk3Q3hEO0VScURHO0lRL0RBLFlBQVksRUFDYjtFUjhEQztJUTNEQSxZQUFZLEVBQ2I7RVIwREM7SVF2REEsWVorQ3FELEVZOUN0RDs7QVJzREM7RVF2RkYsaUJBQWlCO0VBQ2pCLFlaOEV1RCxFWTdDeEQ7RVJxREc7SVEvREEsWUFBWSxFQUNiO0VSOERDO0lRM0RBLFlBQVksRUFDYjtFUjBEQztJUXZEQSxZWitDcUQsRVk5Q3REOztBUnNEQztFUXZGRixhQUFpQjtFQUNqQixZWjhFdUQsRVk3Q3hEO0VScURHO0lRL0RBLFlBQVksRUFDYjtFUjhEQztJUTNEQSxZQUFZLEVBQ2I7RVIwREM7SVF2REEsWVorQ3FELEVZOUN0RDs7QVI0REQ7RUd6R0YsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFSHlHbUI7O0FBRGxDO0VBSUksZUFBZTtFQUNmLGdCQUFnQixFQUNqQjs7QUFHSDtFQUNFLGVBQWU7RUFDZixnQkFBZ0IsRUFDakI7O0FBRUQ7RUc5R0YsdUJBRGlCO0VBRWpCLHdCQUZpQixFSGtIOEI7O0FBSTdDO0VPakhBLGtCQUFrQjtFQUNsQixtQkFBbUIsRVBrSGxCO0VBRkQ7SU9wSEUsWUFBWTtJQUNaLFlBQVksRUFDYjs7QVB1SEQ7OztFTzVHRixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixZQUFZLEVQMkdUOztBSUlEO0VKL0RFO0lLdEVKLGdCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZUFIbUIsRVArRWQ7RUFFRDtJTy9FSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQbUZkO0VBTUg7SU81REosZ0JEaEJzQixFTjhFakI7RUFwQkQ7SUt0RUosaUJDZXNCLEVOeURqQjtFQUlDO0lPM0VKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVArRWQ7RUFFRDtJTy9FSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQbUZkO0VBTUg7SU81REosc0JEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixXQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsVUFIbUIsRVArRWQ7RUFFRDtJTy9FSixtQkFBbUI7SUFDbkIsV0FIbUIsRVBtRmQ7RUFNSDtJTzVESix1QkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLGlCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosaUJDZXNCLEVOeURqQjtFQUlDO0lPM0VKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVArRWQ7RUFFRDtJTy9FSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixXQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsVUFIbUIsRVArRWQ7RUFFRDtJTy9FSixtQkFBbUI7SUFDbkIsV0FIbUIsRVBtRmQ7RUFNSDtJTzVESix1QkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLGlCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosaUJDZXNCLEVOeURqQjtFQUlDO0lPM0VKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVArRWQ7RUFFRDtJTy9FSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixXQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsVUFIbUIsRVArRWQ7RUFFRDtJTy9FSixtQkFBbUI7SUFDbkIsV0FIbUIsRVBtRmQ7RUFNSDtJTzVESix1QkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLGlCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosaUJDZXNCLEVOeURqQjtFQUlDO0lPM0VKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVArRWQ7RUFFRDtJTy9FSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixZQ2VzQixFTnlEakI7RUFnQkQ7SU81REosdUJEYnNCLEVOMkVqQjtFQUtEO0lRdkZGLFlBQWlCO0lBQ2pCLFlaOEV1RCxFWTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZWitDcUQsRVk5Q3REO0VSc0RDO0lRdkZGLFdBQWlCO0lBQ2pCLFlaOEV1RCxFWTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZWitDcUQsRVk5Q3REO0VSc0RDO0lRdkZGLGlCQUFpQjtJQUNqQixZWjhFdUQsRVk3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVorQ3FELEVZOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZWjhFdUQsRVk3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVorQ3FELEVZOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZWjhFdUQsRVk3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVorQ3FELEVZOUN0RDtFUnNEQztJUXZGRixpQkFBaUI7SUFDakIsWVo4RXVELEVZN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlaK0NxRCxFWTlDdEQ7RVJzREM7SVF2RkYsaUJBQWlCO0lBQ2pCLFlaOEV1RCxFWTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZWitDcUQsRVk5Q3REO0VSc0RDO0lRdkZGLGFBQWlCO0lBQ2pCLFlaOEV1RCxFWTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZWitDcUQsRVk5Q3REO0VSNEREO0lHekdGLGdCQUFnQjtJQUNoQixpQkFBaUIsRUh5R21CO0VBRGxDO0lBSUksZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUdIO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUVEO0lHOUdGLHdCQURpQjtJQUVqQix5QkFGaUIsRUhrSDhCO0VBSTdDO0lPakhBLGtCQUFrQjtJQUNsQixtQkFBbUIsRVBrSGxCO0lBRkQ7TU9wSEUsWUFBWTtNQUNaLFlBQVksRUFDYjtFUHVIRDs7O0lPNUdGLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVksRVAyR1QsRUFBQTs7QUlJRDtFSi9ERTtJS3RFSixnQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUG1GZDtFQU1IO0lPNURKLGdCRGhCc0IsRU44RWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHNCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosWUNlc0IsRU55RGpCO0VBZ0JEO0lPNURKLHVCRGJzQixFTjJFakI7RUFLRDtJUXZGRixZQUFpQjtJQUNqQixZWjhFdUQsRVk3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVorQ3FELEVZOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZWjhFdUQsRVk3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVorQ3FELEVZOUN0RDtFUnNEQztJUXZGRixpQkFBaUI7SUFDakIsWVo4RXVELEVZN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlaK0NxRCxFWTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVo4RXVELEVZN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlaK0NxRCxFWTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVo4RXVELEVZN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlaK0NxRCxFWTlDdEQ7RVJzREM7SVF2RkYsaUJBQWlCO0lBQ2pCLFlaOEV1RCxFWTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZWitDcUQsRVk5Q3REO0VSc0RDO0lRdkZGLGlCQUFpQjtJQUNqQixZWjhFdUQsRVk3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVorQ3FELEVZOUN0RDtFUnNEQztJUXZGRixhQUFpQjtJQUNqQixZWjhFdUQsRVk3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVorQ3FELEVZOUN0RDtFUjRERDtJR3pHRixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVIeUdtQjtFQURsQztJQUlJLGVBQWU7SUFDZixnQkFBZ0IsRUFDakI7RUFHSDtJQUNFLGVBQWU7SUFDZixnQkFBZ0IsRUFDakI7RUFFRDtJRzlHRix3QkFEaUI7SUFFakIseUJBRmlCLEVIa0g4QjtFQUk3QztJT2pIQSxrQkFBa0I7SUFDbEIsbUJBQW1CLEVQa0hsQjtJQUZEO01PcEhFLFlBQVk7TUFDWixZQUFZLEVBQ2I7RVB1SEQ7OztJTzVHRixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixZQUFZLEVQMkdULEVBQUE7O0FTd0ZIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVU7RUFDVixXQUFXLEVBQ1o7O0FBR0Q7RUFDRSxtQkFBbUI7RUFDbkIsaUJYckhzQjtFV3NIdEIsb0JYckgwQjtFV3NIMUIsbUNYckh5QyxFV3NIMUM7O0FBR0Q7O0VBRUUsbUJBQW1CO0VBQ25CLHFCQUFxQixFQUN0Qjs7QUFHRDs7RUFFRSxpQlhwTXFCO0VXcU1yQixxQkFBcUIsRUFDdEI7O0FBR0Q7RUFDRSxlWDVJaUI7RVc2SWpCLHFCQUFxQixFQUN0Qjs7QUFHRDs7Ozs7Ozs7O0VBTUUsZ0dYMU4yRjtFVzJOM0YsaUJYdk55QjtFV3dOekIsbUJYakxzQjtFV2tMdEIsZVg5SmtCO0VXK0psQixtQ1g1SnNDO0VXNkp0QyxjQUFjO0VBQ2Qsc0JYL0p5QjtFV2dLekIsaUJYakttQixFV3VLcEI7RUFuQkQ7Ozs7OztJQWdCSSxlWGpQZTtJV2tQZixlQUFlLEVBQ2hCOztBQU9HO0VBQ0Usb0JQaE9ZLEVPaU9iOztBQUZEO0VBQ0Usa0JQaE9ZLEVPaU9iOztBQUZEO0VBQ0UscUJQaE9ZLEVPaU9iOztBQUZEO0VBQ0Usb0JQaE9ZLEVPaU9iOztBQUZEO0VBQ0UscUJQaE9ZLEVPaU9iOztBQUZEO0VBQ0UsZ0JQaE9ZLEVPaU9iOztBTG5LTDtFS2lLSTtJQUNFLG1CUGhPWSxFT2lPYjtFQUZEO0lBQ0Usb0JQaE9ZLEVPaU9iO0VBRkQ7SUFDRSxrQlBoT1ksRU9pT2I7RUFGRDtJQUNFLG9CUGhPWSxFT2lPYjtFQUZEO0lBQ0Usb0JQaE9ZLEVPaU9iO0VBRkQ7SUFDRSxvQlBoT1ksRU9pT2IsRUFBQTs7QUFNUDtFQUNFLGVYMVFjO0VXMlFkLHNCWHZLeUI7RVd3S3pCLHFCQUFxQjtFQUNyQixnQkFBZ0IsRUFhakI7RUFqQkQ7SUFRSSxlWDlLMEIsRVdrTDNCO0VBWkg7SUFlSSxVQUFVLEVBQ1g7O0FBSUg7RUFDRSxpQlA1UGtCO0VPNlBsQixVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxpQ1gzUmlCO0VXNFJqQixlQUFlO0VBQ2YscUJYNUx5QjtFVzZMekIsWUFBWSxFQUNiOztBQUdEOzs7RUFHRSxpQlhuTnNCO0VXb050QixvQlhuTjBCO0VXb04xQiw2QlhsTXlCLEVXbU0xQjs7QUFHRDtFQUNFLG1CQUFtQixFQUNwQjs7QUFHRDtFQUNFLHNCWDdNa0I7RVc4TWxCLHFCWDVNc0IsRVc2TXZCOztBQUdEO0VBQ0UscUJYak5zQixFV2tOdkI7O0FBR0Q7RUFFSSxxQlh0TjJCO0VXdU4zQixpQkFBaUIsRUFDbEI7O0FBSUg7RUFDRSxvQlg1TnlCLEVXa08xQjtFQVBEO0lBSUksc0JYN044QjtJVzhOOUIsaUJYdFRtQixFV3VUcEI7O0FBSUg7RUFDRSxpQlgzUDBCO0VXNFAxQix1Q1BwVGtCO0VPcVRsQiwrQlhoVmlCLEVXc1ZsQjtFQVREO0lBTUksaUJYalFvQjtJV2tRcEIsZVhuVmEsRVdvVmQ7O0FBSUg7RUFDRSxlQUFlO0VBQ2YscUJQaFVrQjtFT2lVbEIsZVgzVmUsRVdnV2hCO0VBUkQ7SUFNSSx1QkFBdUIsRUFDeEI7O0FBSUg7RUFDRSxlWG5XVztFV29XWCxhQUFhO0VBQ2Isa0NYcldXLEVXc1daOztBQUdEO0VBQ0UsNkRYblRtRTtFV29UbkUsaUJYNVZ5QjtFVzZWekIsZVg1V1c7RVc2V1gsMEJYaFhnQjtFV2lYaEIsMEJYaFhpQjtFV2lYakIsc0NQdFZrQixFT3VWbkI7O0FBR0Q7RUFDRSw0QlB0VlM7RU91VlQsVUFBVTtFQUNWLDBCWHpYZ0I7RVcwWGhCLGVYdlhXO0VXd1hYLDZEWGpVbUUsRVdzVXBFOztBQzFZRDtFQUNFLG1CWnlJeUI7RVl4SXpCLHNCWnlJNEI7RVl4STVCLGlCWnlCeUI7RVl4QnpCLGlCWm1Jc0I7RVlsSXRCLGVaT2UsRVlOaEI7O0FBR0Q7RUFDRSxnQloySDhCO0VZMUg5QixpQloySGlCLEVZMUhsQjs7QUFHRDtFQUNFLGtCWjRIbUI7RVkzSG5CLGVBQWUsRUFLaEI7RUFQRDtJQUtJLGtCQUFrQixFQUNu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RUFDaEM7RUFDRDtJQUNJLFlBQVksRUFDZjtFQUNEO0lBR1EsdUJBQXVCLEVBQzFCLEVBQUE7O0FDMU5UO0VBQ0MsaUJwQ29GcUI7RW9DbkZyQixlQUFlLEVBQ2Y7O0FBQ0Q7RUFDRSx1QkFBdUIsRUFDeEI7O0FBRUQ7RUFDQyx1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYixVQUFVO0VBQ1YsWUFBWTtFQUNaLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsK0NBQTJCO0VBQzNCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsV0FBVyxFQVFYO0VBbkJEO0lBY0UsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixVQUFVO0lBQ1YsZ0JBQWdCLEVBQ2hCOztBQUdGO0VBQ0MsNEJBQVk7RUFDWixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLG1CQUFtQixFQU9uQjtFbEMyR0c7SWtDdEhKO01BTUUsNEJBQVksRUFLYixFQUFBO0VsQzJHRztJa0N0SEo7TUFTRSw0QkFBWSxFQUViLEVBQUEiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiJXZhbSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbiVoYW0ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuJWNhbSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjRcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIENvbG9yVmFyaWFibGUsIFF1YWxpZnlpbmdFbGVtZW50LCBWZW5kb3JQcmVmaXhcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyMTk5ZTgsXG4gIHNlY29uZGFyeTogIzc3NyxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNlYzU4NDAsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcblxuLy8gUmVtb3ZlIHRoaXMgaW4gNi4zXG4kLXpmLW1lbnUtaWNvbi1pbXBvcnRlZDogZmFsc2U7XG4kLXpmLWZsZXgtY2xhc3Nlcy1pbXBvcnRlZDogZmFsc2U7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJZFNlbGVjdG9yXG4gICNtYXBfY2FudmFzLFxuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cblxuICBodG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cblxuICBhcnRpY2xlLFxuICBhc2lkZSxcbiAgZGV0YWlscyxcbiAgZmlnY2FwdGlvbixcbiAgZmlndXJlLFxuICBmb290ZXIsXG4gIGhlYWRlcixcbiAgaGdyb3VwLFxuICBtYWluLFxuICBtZW51LFxuICBuYXYsXG4gIHNlY3Rpb24sXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5cbiAgYXVkaW8sXG4gIGNhbnZhcyxcbiAgcHJvZ3Jlc3MsXG4gIHZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cblxuICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cblxuICBbaGlkZGVuXSxcbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuXG4gIGE6YWN0aXZlLFxuICBhOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBkZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5cbiAgbWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbWcge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5cbiAgc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgY29kZSxcbiAga2JkLFxuICBwcmUsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIC8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIGJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cblxuICBidXR0b25bZGlzYWJsZWRdLFxuICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuXG4gIGlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG5cbiAgLyogZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH0gKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xuXG4gIGxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cblxuICBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgfVxuXG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLnNlYXJjaC1pbnB1dF9fc2VhcmNoLWZvcm0sIC5sYW5nLXRvZ2dsZXJfX3RvZ2dsZTphZnRlciwgLmxhbmctdG9nZ2xlcl9fbGFuZ3MsIC5mb290ZXJfX2RldmVsb3BlcjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLmJ0bjpiZWZvcmUsIC5idG46YWZ0ZXIsIC5zdGFnZS1ibG9ja19fdGl0bGU6YWZ0ZXIsIC5pbnN0cnVtZW50cy1ibG9ja19fYnV0dG9uLCAuaGVhZGVyLXNsaWRlciAuanNfc2xpZGVyLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnNlYXJjaC1pbnB1dF9fbGFiZWwtdG9nZ2xlOmFmdGVyLCAucmVzaXplLWJ0bjphZnRlciwgLnJlc2l6ZS1idG46YmVmb3JlLCAucGxheS1pY286YWZ0ZXIsIC5pbnN0cnVtZW50cy1ibG9ja19fYmcgaW1nLCAuaW5zdHJ1bWVudHMtYmxvY2tfX3RpdGxlLCAuaGVhZGVyLXNsaWRlciAuaW1nLFxuLmhlYWRlci1zbGlkZXIgLnZpZGVvLCAuaGVhZGVyLXNsaWRlciAuanNfc2xpZGVyLW5hdl9faXRlbTphZnRlciwgLmhlYWRlci1zbGlkZXIgLmpzX3NsaWRlci1uYXZfX2l0ZW0taWNvLCAuYWJfdGVhbV9fcGVyc29uLXRpdGxlLWltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cbi8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQ3LjgxMjVlbSZ4bWVkaXVtPTU1LjMxMjVlbSZsYXJnZT02MC4zMTI1ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlByb3hpbWFOb3ZhXCIsIFwiT3BlbiBTYW5zXCIsIFwiR2lsbCBTYW5zIE1UXCIsIFwiR2lsbCBTYW5zXCIsIENvcmJlbCwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMTIxMjEyO1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDY1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5yb3c6OmJlZm9yZSwgLnJvdzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDcuODEyNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAucm93IC5yb3cuY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLnJvdy5leHBhbmRlZCAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ny44MTI1ZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jb2x1bW4uZW5kOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmVuZC5jb2x1bW5zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1wdXNoLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtcHVsbC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1wdXNoLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtcHVsbC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMjAlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMTQuMjg1NzElO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMTIuNSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZXhwYW5kZWQucm93IC5zbWFsbC1jb2xsYXBzZS5yb3cge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbi5zbWFsbC1jZW50ZXJlZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ3LjgxMjVlbSkge1xuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAuMzEyNWVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5sYXJnZS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5sYXJnZS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5sYXJnZS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5sYXJnZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubGFyZ2UtY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgLmxhcmdlLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAubGFyZ2UtY2VudGVyZWQsIC5sYXJnZS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVuY2VudGVyZWQsXG4gIC5sYXJnZS1wdXNoLTAsXG4gIC5sYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbi5zd19kZXNjcmlwdGlvbl9fdGl0bGUsXG5oMyxcbi5zd19zdGFnZXNfX3RpdGxlLFxuaDQsXG5oNSxcbi5pbmZvYmxvY2tfX2xpbmtzLWxpbmssXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbi5zd19kZXNjcmlwdGlvbl9fdGl0bGUsXG5oMyxcbi5zd19zdGFnZXNfX3RpdGxlLFxuaDQsXG5oNSxcbi5pbmZvYmxvY2tfX2xpbmtzLWxpbmssXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlByb3hpbWFOb3ZhXCIsIFwiT3BlbiBTYW5zXCIsIFwiR2lsbCBTYW5zIE1UXCIsIFwiR2lsbCBTYW5zXCIsIENvcmJlbCwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5zd19kZXNjcmlwdGlvbl9fdGl0bGUgc21hbGwsXG4gIGgzIHNtYWxsLCAuc3dfc3RhZ2VzX190aXRsZSBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaW5mb2Jsb2NrX19saW5rcy1saW5rIHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICM5ZDlkOWQ7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuODc1cmVtOyB9XG5cbmgyLCAuc3dfZGVzY3JpcHRpb25fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuaDMsIC5zd19zdGFnZXNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmg1LCAuaW5mb2Jsb2NrX19saW5rcy1saW5rIHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDcuODEyNWVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07IH1cbiAgaDIsIC5zd19kZXNjcmlwdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgaDMsIC5zd19zdGFnZXNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBoNSwgLmluZm9ibG9ja19fbGlua3MtbGluayB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG5cbmEge1xuICBjb2xvcjogIzIxOTllODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTU4NWNmOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBtYXgtd2lkdGg6IDY1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5ZDlkOWQ7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWQ5ZDlkOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzdiN2I3YjsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzdiN2I3YjsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzEyMTIxMjtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMxMjEyMTI7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzEyMTIxMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgYm9yZGVyOiAxcHggc29saWQgIzlkOWQ5ZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgY29sb3I6ICMxMjEyMTI7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM3YjdiN2I7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDcuODEyNWVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAuMzEyNWVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3YjdiN2I7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIC5zd19kZXNjcmlwdGlvbl9fdGl0bGUsXG4gIGgzLFxuICAuc3dfc3RhZ2VzX190aXRsZSB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsIC5zd19kZXNjcmlwdGlvbl9fdGl0bGUsXG4gIGgzLFxuICAuc3dfc3RhZ2VzX190aXRsZSB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOCwgMTgsIDE4LCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LCAxOCwgMTgsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzlkOWQ5ZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdiN2I3YjsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdiN2I3YjsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDcuODEyNWVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ny44MTI1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ny44MTI1ZW0pIGFuZCAobWF4LXdpZHRoOiA1NS4yNWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTUuMzEyNWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAuMzEyNWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAuMjVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwLjMxMjVlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAuMjVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmFcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfcmVndWxhci5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvcHJveGltYV9ub3ZhX3JlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfcmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3Byb3hpbWFfbm92YV9yZWd1bGFyLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKSwgdXJsKCcuLi9mb250cy9wcm94aW1hX25vdmFfcmVndWxhci5zdmcjc3RyLXJlcGxhY2UoXCJQcm94aW1hTm92YVwiLCBcIiBcIiwgXCJfXCIpJykgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJQcm94aW1hTm92YS03MDBcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfYm9sZC5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvcHJveGltYV9ub3ZhX2JvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfYm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3Byb3hpbWFfbm92YV9ib2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKSwgdXJsKCcuLi9mb250cy9wcm94aW1hX25vdmFfYm9sZC5zdmcjc3RyLXJlcGxhY2UoXCJQcm94aW1hTm92YS03MDBcIiwgXCIgXCIsIFwiX1wiKScpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtMzAwXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcHJveGltYV9ub3ZhX2xpZ2h0LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfbGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfbGlnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfbGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpLCB1cmwoJy4uL2ZvbnRzL3Byb3hpbWFfbm92YV9saWdodC5zdmcjc3RyLXJlcGxhY2UoXCJQcm94aW1hTm92YS0zMDBcIiwgXCIgXCIsIFwiX1wiKScpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYU5vdmEtOTAwXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcHJveGltYV9ub3ZhX2JsYWNrLmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfYmxhY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfYmxhY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9wcm94aW1hX25vdmFfYmxhY2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpLCB1cmwoJy4uL2ZvbnRzL3Byb3hpbWFfbm92YV9ibGFjay5zdmcjc3RyLXJlcGxhY2UoXCJQcm94aW1hTm92YS05MDBcIiwgXCIgXCIsIFwiX1wiKScpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSWNvbW9vblwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ljb21vb24uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9pY29tb29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIiksIHVybCgnLi4vZm9udHMvaWNvbW9vbi5zdmcjc3RyLXJlcGxhY2UoXCJJY29tb29uXCIsIFwiIFwiLCBcIl9cIiknKSBmb3JtYXQoXCJzdmdcIik7IH1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4udG9wLW5hdiB7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAudG9wLW5hdiB7XG4gICAgICBtaW4taGVpZ2h0OiA3MHB4OyB9IH1cbiAgLnRvcC1uYXZfX2xvZ28tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDkuMXB4IDExLjJweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFkZWY7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDI0LCA1OSwgOTAsIDAuMTEpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgICAgLnRvcC1uYXZfX2xvZ28tY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDI1O1xuICAgICAgICBwYWRkaW5nOiA5LjFweCAxMS4ycHg7XG4gICAgICAgIGhlaWdodDogNzBweDsgfSB9XG4gIC50b3AtbmF2X19sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDU3cHg7XG4gICAgbWF4LWhlaWdodDogNTdweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAgIC50b3AtbmF2X19sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzOS45cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM5LjlweDsgfSB9XG4gICAgLnRvcC1uYXZfX2xvZ286bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XG4gICAgLnRvcC1uYXZfX2xvZ286Zmlyc3QtY2hpbGQge1xuICAgICAgYW5pbWF0aW9uOiByb3RhdGlvbiAzMHMgbGluZWFyIGluZmluaXRlOyB9XG4gIC50b3AtbmF2X19leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRvcC1uYXZfX2xpbmtzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnRvcC1uYXZfX2xpbmtzLWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAudG9wLW5hdl9fbGlua3MtaXRlbV90b29scyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAudG9wLW5hdl9fbGlua3MtaXRlbV90b29sczpob3ZlciAudG9wLW5hdl9fbGlua190b29scy5pcy1hY3RpdmU6YmVmb3JlLCAudG9wLW5hdl9fbGlua3MtaXRlbV90b29sczpob3ZlciAudG9wLW5hdl9fbGlua190b29scy5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgICAgLnRvcC1uYXZfX2xpbmtzLWl0ZW1fdG9vbHMgLm1lbnUtbGV2ZWwtMSxcbiAgICAgICAgLnRvcC1uYXZfX2xpbmtzLWl0ZW1fdG9vbHMgLm1lbnUtbGV2ZWwtaW5zLFxuICAgICAgICAudG9wLW5hdl9fbGlua3MtaXRlbV90b29scyAubWVudS1sZXZlbC1sYXN0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHotaW5kZXg6IDMwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ3LjgxMjVlbSkge1xuICAgICAgICAgIC50b3AtbmF2X19saW5rcy1pdGVtX3Rvb2xzOmhvdmVyIC50b3AtbmF2X19saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDBhZGVmOyB9XG4gICAgICAgICAgLnRvcC1uYXZfX2xpbmtzLWl0ZW1fdG9vbHM6aG92ZXIgLm1lbnUtbGV2ZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogOTcwcHg7IH1cbiAgICAgICAgICAudG9wLW5hdl9fbGlua3MtaXRlbV90b29sczpob3ZlciAubWVudS1sZXZlbC1pbnMge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMTAwJTsgfVxuICAgICAgICAgIC50b3AtbmF2X19saW5rcy1pdGVtX3Rvb2xzOmhvdmVyIC5tZW51LWxldmVsLWxhc3Qge1xuICAgICAgICAgICAgd2lkdGg6IDQxNHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ny44MTI1ZW0pIGFuZCAobWF4LXdpZHRoOiA1NS4zMTI1ZW0pIHtcbiAgICAudG9wLW5hdl9fbGlua3MtaXRlbV90b29sczpob3ZlciAubWVudS1sZXZlbC1sYXN0IHtcbiAgICAgIHdpZHRoOiAzNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ3LjgxMjVlbSkgYW5kIChtYXgtd2lkdGg6IDUxLjI1ZW0pIHtcbiAgICAudG9wLW5hdl9fbGlua3MtaXRlbV90b29sczpob3ZlciAubWVudS1sZXZlbC1sYXN0IHtcbiAgICAgIHdpZHRoOiAzMjBweDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ3LjgxMjVlbSkge1xuICAgICAgICAgIC50b3AtbmF2X19saW5rcy1pdGVtX3Rvb2xzOmhvdmVyIC5tZW51LWxldmVsLTEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAgICAgICAudG9wLW5hdl9fbGlua3MtaXRlbV90b29sczpob3ZlciAubWVudS1sZXZlbC0xID4gLm1lbnUtaXRlbTpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3BuZy90b3AtdHJpYW5nbGUtdHIucG5nKTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IC0xMXB4O1xuICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDcuNXB4KTsgfVxuICAgICAgICAgICAgLnRvcC1uYXZfX2xpbmtzLWl0ZW1fdG9vbHM6aG92ZXIgLm1lbnUtbGV2ZWwtMSA+IC5tZW51LWl0ZW06Zmlyc3Qtb2YtdHlwZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3BuZy90b3AtdHJpYW5nbGUucG5nKTsgfVxuICAgICAgICAgICAgLnRvcC1uYXZfX2xpbmtzLWl0ZW1fdG9vbHM6aG92ZXIgLm1lbnUtbGV2ZWwtMSAubWVudS1pdGVtX19zZXBhcmF0b3I6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgICAudG9wLW5hdl9fbGlua3MtaXRlbV90b29sczpob3ZlciAubWVudS1sZXZlbC0xIC5tZW51LWl0ZW1fX3NlcGFyYXRvcjpob3ZlciAubWVudS1pdGVtX190ZXh0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzM2MzYzNjtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q3ZDdkNzsgfVxuICAgICAgICAgICAgLnRvcC1uYXZfX2xpbmtzLWl0ZW1fdG9vbHM6aG92ZXIgLm1lbnUtbGV2ZWwtMSAubWVudS1pdGVtX19zZXBhcmF0b3IgLm1lbnUtaXRlbV9fdGV4dCB7XG4gICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgICAgICAgICAgICAgLnRvcC1uYXZfX2xpbmtzLWl0ZW1fdG9vbHM6aG92ZXIgLm1lbnUtbGV2ZWwtMSAubWVudS1pdGVtX19zZXBhcmF0b3IgLm1lbnUtaXRlbV9fdGV4dDphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgICAgICAgLnRvcC1uYXZfX2xpbmtzLWl0ZW1fdG9vbHM6aG92ZXIgLm1lbnUtbGV2ZWwtMSAubWVudS1pdGVtOmhvdmVyID4gLm1lbnUtbGV2ZWwge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC50b3AtbmF2X19saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyAwcyBlYXNlLWluLW91dDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDM1cHg7XG4gICAgY29sb3I6ICMxMjEyMTI7XG4gICAgbGluZS1oZWlnaHQ6IDEwMHB4OyB9XG4gICAgLnRvcC1uYXZfX2xpbms6YmVmb3JlLCAudG9wLW5hdl9fbGluazphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFkZWY7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnRvcC1uYXZfX2xpbms6aG92ZXIsIC50b3AtbmF2X19saW5rLmlzLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzAwYWRlZjsgfVxuICAgICAgLnRvcC1uYXZfX2xpbms6aG92ZXI6YmVmb3JlLCAudG9wLW5hdl9fbGluay5pcy1hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLTVweDsgfVxuICAgICAgLnRvcC1uYXZfX2xpbms6aG92ZXI6YWZ0ZXIsIC50b3AtbmF2X19saW5rLmlzLWFjdGl2ZTphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAtNXB4OyB9XG4gICAgLnRvcC1uYXZfX2xpbmtfdG9vbHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7IH1cbiAgICAgIC50b3AtbmF2X19saW5rX3Rvb2xzOmhvdmVyOmJlZm9yZSwgLnRvcC1uYXZfX2xpbmtfdG9vbHM6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NS4yNWVtKSB7XG4gICAgICAgIC50b3AtbmF2X19saW5rX3Rvb2xzIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMzVweDsgfSB9XG4gICAgLnRvcC1uYXZfX2xpbmsuaXMtYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDBhZGVmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAuMjVlbSkge1xuICAgICAgLnRvcC1uYXZfX2xpbmsge1xuICAgICAgICBtYXJnaW46IDAgMThweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTEuNTYyNWVtKSB7XG4gICAgICAudG9wLW5hdl9fbGluayB7XG4gICAgICAgIG1hcmdpbjogMCAxM3B4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny44MTI1ZW0pIHtcbiAgICAgIC50b3AtbmF2X19saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMxMjEyMTI7IH1cbiAgICAgICAgLnRvcC1uYXZfX2xpbms6aG92ZXI6YWZ0ZXIsIC50b3AtbmF2X19saW5rOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfSB9XG4gIC50b3AtbmF2X19pbnN0cnVtZW50cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny43NWVtKSB7XG4gICAgLnRvcC1uYXZfX2Jsb2NrIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTEwMCU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIC50b3AtbmF2X19ibG9jay5pcy1hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMHZ3OyB9XG4gICAgICAudG9wLW5hdl9fYmxvY2sgLnRvcC1uYXZfX2xpbmtzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLnRvcC1uYXZfX2Jsb2NrIC50b3AtbmF2X19saW5rcy1pdGVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWRlZjsgfVxuICAgICAgICAgIC50b3AtbmF2X19ibG9jayAudG9wLW5hdl9fbGlua3MtaXRlbV90b29scyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAudG9wLW5hdl9fYmxvY2sgLnRvcC1uYXZfX2xpbmtzLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q3ZDdkNzsgfVxuICAgICAgLnRvcC1uYXZfX2Jsb2NrIC50b3AtbmF2X19saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC50b3AtbmF2X19ibG9jayAudG9wLW5hdl9faW5zdHJ1bWVudHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDIyJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuICAgICAgLnRvcC1uYXZfX2Jsb2NrIC50b3AtbmF2X19leHBhbmQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q3ZDdkNztcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgei1pbmRleDogNTsgfVxuICAgICAgLnRvcC1uYXZfX2Jsb2NrIC5tZW51LWl0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC50b3AtbmF2X19ibG9jayAubWVudS1pdGVtIC50b3AtbmF2X19leHBhbmQge1xuICAgICAgICAgIGNvbG9yOiAjMzYzNjM2OyB9XG4gICAgICAgICAgLnRvcC1uYXZfX2Jsb2NrIC5tZW51LWl0ZW0gLnRvcC1uYXZfX2V4cGFuZC5pcy1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgLnRvcC1uYXZfX2Jsb2NrIC5tZW51LWl0ZW1fX3RleHQge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC50b3AtbmF2X19ibG9jayAubWVudS1pdGVtX190ZXh0OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG4ubWVudS1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5tZW51LWl0ZW1fX3RleHQge1xuICAgIGNvbG9yOiAjMzYzNjM2O1xuICAgIGxpbmUtaGVpZ2h0OiA2M3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDM5cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMxcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkN2Q3ZDc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My43NWVtKSB7XG4gICAgICAubWVudS1pdGVtX190ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjEuNTYyNWVtKSB7XG4gICAgICAubWVudS1pdGVtX190ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTEuNTYyNWVtKSB7XG4gICAgICAubWVudS1pdGVtX190ZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gICAgLm1lbnUtaXRlbV9fdGV4dDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDlweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcG5nL3JpZ2h0LXRyaWFuZ2xlLnBuZyk7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA0LjVweCk7IH1cbiAgLm1lbnUtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWRlZjsgfVxuICAgIC5tZW51LWl0ZW06aG92ZXIgPiAubWVudS1pdGVtX190ZXh0IHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAubWVudS1pdGVtOmhvdmVyID4gLm1lbnUtaXRlbV9fdGV4dDphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcG5nL3JpZ2h0LXRyaWFuZ2xlLXdoaXRlLnBuZyk7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlZGY2OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5LjM3NWVtKSB7XG4gICAgLmNhcmQtaW1hZ2VfX2ltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjgycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NS4zMTI1ZW0pIHtcbiAgICAuY2FyZC1pbWFnZV9faW1hZ2Uge1xuICAgICAgbWFyZ2luOiA1N3B4IDM0cHggNDRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUxLjI1ZW0pIHtcbiAgICAuY2FyZC1pbWFnZV9faW1hZ2Uge1xuICAgICAgbWFyZ2luOiA1N3B4IDE5cHggNDRweDsgfSB9XG5cbi5jYXJkLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyNXB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NS4zMTI1ZW0pIHtcbiAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMTBweDsgfSB9XG4gIC5jYXJkLWNvbnRlbnRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzc5Nzk3OTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5jYXJkLWNvbnRlbnRfX2luZm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAzMiU7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgICAuY2FyZC1jb250ZW50X19pbmZvX192YWx1ZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogOTAwOyB9XG4gICAgLmNhcmQtY29udGVudF9faW5mb19fZGltZW5zaW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY2FyZC1jb250ZW50X19pbmZvX19jaGFyYWN0ZXJpc3RpYyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jYXJkLWNvbnRlbnQgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogMjhweDsgfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0aW9uIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG4ubmF2LWluc3RydW1lbnRzX19zZWFyY2gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5hdi1pbnN0cnVtZW50c19fbGFuZy10b2dnbGVyIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5uYXYtaW5zdHJ1bWVudHNfX3NlYXJjaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2VhcmNoLWlucHV0IFt0eXBlPVwiY2hlY2tib3hcIl1baWQ9XCJzZWFyY2gtdG9nZ2xlXCJdIHtcbiAgQHV0aWwgaGlkZS12aXN1YWxseTsgfVxuXG4uc2VhcmNoLWlucHV0X19sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHNpemU6IDE2cHg7IH1cblxuLnNlYXJjaC1pbnB1dF9fbGFiZWwtdG9nZ2xlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zZWFyY2gtaW5wdXRfX2xhYmVsLXRvZ2dsZTpob3ZlcjphZnRlciB7XG4gICAgY29sb3I6ICMwMGFkZWY7IH1cbiAgLnNlYXJjaC1pbnB1dF9fbGFiZWwtdG9nZ2xlOmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgMHMgZWFzZS1pbi1vdXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjN2I3YjdiO1xuICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgc2l6ZTogMTZweDsgfVxuXG4uc2VhcmNoLWlucHV0X19zZWFyY2gtZm9ybSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O1xuICByaWdodDogMjVweDtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDA7XG4gIGJveC1zaGFkb3c6IC01cHggMCAyMHB4ICMwMGFkZWY7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAuc2VhcmNoLWlucHV0X19zZWFyY2gtZm9ybSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9IH1cbiAgLnNlYXJjaC1pbnB1dF9fc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwYWRlZjtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAuc2VhcmNoLWlucHV0X19zZWFyY2gtZm9ybSBpbnB1dDpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5zZWFyY2gtaW5wdXQgW3R5cGU9XCJjaGVja2JveFwiXVtpZD1cInNlYXJjaC10b2dnbGVcIl06Y2hlY2tlZCArIC5zZWFyY2gtaW5wdXRfX2xhYmVsIC5zZWFyY2gtaW5wdXRfX2xhYmVsLXRvZ2dsZTphZnRlciB7XG4gIGNvbG9yOiAjMDBhZGVmOyB9XG5cbi5zZWFyY2gtaW5wdXQgW3R5cGU9XCJjaGVja2JveFwiXVtpZD1cInNlYXJjaC10b2dnbGVcIl06Y2hlY2tlZCArIC5zZWFyY2gtaW5wdXRfX2xhYmVsIC5zZWFyY2gtaW5wdXRfX3NlYXJjaC1mb3JtIHtcbiAgd2lkdGg6IDE3MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAuc2VhcmNoLWlucHV0IFt0eXBlPVwiY2hlY2tib3hcIl1baWQ9XCJzZWFyY2gtdG9nZ2xlXCJdOmNoZWNrZWQgKyAuc2VhcmNoLWlucHV0X19sYWJlbCAuc2VhcmNoLWlucHV0X19zZWFyY2gtZm9ybSB7XG4gICAgICB3aWR0aDogY2FsYyg4MHZ3IC0gODVweCk7IH0gfVxuXG4ubGFuZy10b2dnbGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBjb2xvcjogIzdiN2I3YjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxMXB4OyB9XG4gIC5sYW5nLXRvZ2dsZXIgW3R5cGU9XCJjaGVja2JveFwiXVtpZD1cImxhbmctdG9nZ2xlXCJdIHtcbiAgICBAdXRpbCBoaWRlLXZpc3VhbGx5OyB9XG4gIC5sYW5nLXRvZ2dsZXJfX3RvZ2dsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmxhbmctdG9nZ2xlcl9fdG9nZ2xlOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzdiN2I3YjtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTVweCwgLTEwMCUpIHJvdGF0ZSg0NWRlZykgcm90YXRlWSgwKTtcbiAgICAgIHNpemU6IDdweDsgfVxuICAgIC5sYW5nLXRvZ2dsZXJfX3RvZ2dsZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDdweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gIC5sYW5nLXRvZ2dsZXIgW3R5cGU9XCJjaGVja2JveFwiXVtpZD1cImxhbmctdG9nZ2xlXCJdOmNoZWNrZWQgKyAubGFuZy10b2dnbGVyX190b2dnbGU6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4LCAtNTAlKSByb3RhdGUoNDVkZWcpIHJvdGF0ZVooOTBkZWcpOyB9XG4gIC5sYW5nLXRvZ2dsZXIgW3R5cGU9XCJjaGVja2JveFwiXVtpZD1cImxhbmctdG9nZ2xlXCJdOmNoZWNrZWQgKyAubGFuZy10b2dnbGVyX190b2dnbGUgLmxhbmctdG9nZ2xlcl9fdG9nZ2xlLWxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmxhbmctdG9nZ2xlciBbdHlwZT1cImNoZWNrYm94XCJdW2lkPVwibGFuZy10b2dnbGVcIl06Y2hlY2tlZCArIC5sYW5nLXRvZ2dsZXJfX3RvZ2dsZSAubGFuZy10b2dnbGVyX190b2dnbGUtbGFiZWw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWRlZjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYW5nLXRvZ2dsZXIgW3R5cGU9XCJjaGVja2JveFwiXVtpZD1cImxhbmctdG9nZ2xlXCJdOm5vdCg6Y2hlY2tlZCkgKyAubGFuZy10b2dnbGVyX190b2dnbGUgLmxhbmctdG9nZ2xlcl9fdG9nZ2xlLWxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgMC4ycyBlYXNlLWluLW91dDsgfVxuICAubGFuZy10b2dnbGVyIFt0eXBlPVwiY2hlY2tib3hcIl1baWQ9XCJsYW5nLXRvZ2dsZVwiXTpub3QoOmNoZWNrZWQpICsgLmxhbmctdG9nZ2xlcl9fdG9nZ2xlOmhvdmVyIC5sYW5nLXRvZ2dsZXJfX3RvZ2dsZS1sYWJlbCB7XG4gICAgY29sb3I6ICMwMGFkZWY7IH1cbiAgLmxhbmctdG9nZ2xlciBbdHlwZT1cImNoZWNrYm94XCJdW2lkPVwibGFuZy10b2dnbGVcIl06bm90KDpjaGVja2VkKSArIC5sYW5nLXRvZ2dsZXJfX3RvZ2dsZTpob3ZlcjphZnRlciB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDBhZGVmO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMGFkZWY7IH1cbiAgLmxhbmctdG9nZ2xlciBbdHlwZT1cImNoZWNrYm94XCJdW2lkPVwibGFuZy10b2dnbGVcIl06Y2hlY2tlZCB+IC5sYW5nLXRvZ2dsZXJfX2xhbmdzIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgLmxhbmctdG9nZ2xlciBbdHlwZT1cImNoZWNrYm94XCJdW2lkPVwibGFuZy10b2dnbGVcIl06bm90KDpjaGVja2VkKSB+IC5sYW5nLXRvZ2dsZXJfX2xhbmdzIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmxhbmctdG9nZ2xlcl9fbGFuZ3Mge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgcGFkZGluZzogMCA3cHg7XG4gICAgY29sb3I6ICM3YjdiN2I7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICAubGFuZy10b2dnbGVyX19sYW5nczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhZGVmO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmZvb3RlciB7XG4gIG1pbi1oZWlnaHQ6IDEzNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgIC5mb290ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmZvb3Rlcl9fYnJhbmQge1xuICAgIHBhZGRpbmctdG9wOiAyOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgICAgLmZvb3Rlcl9fYnJhbmQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG4gICAgLmZvb3Rlcl9fYnJhbmQtY29weXJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgICBjb2xvcjogIzdiN2I3YjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgICAgICAuZm9vdGVyX19icmFuZC1jb3B5cmlnaHQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICAuZm9vdGVyX19kZXZlbG9wZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiA0MnB4O1xuICAgIG1pbi13aWR0aDogMjA4cHg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMzZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAgIC5mb290ZXJfX2RldmVsb3BlciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogNjhweDsgfSB9XG4gICAgLmZvb3Rlcl9fZGV2ZWxvcGVyOmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgMHMgZWFzZS1pbi1vdXQ7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1yaWdodDogOXB4O1xuICAgICAgY29sb3I6ICNlZGVkZWQ7XG4gICAgICBjb250ZW50OiAnXFxlOTAyJztcbiAgICAgIGZvbnQ6IDI4cHggSWNvbW9vbjsgfVxuICAgIC5mb290ZXJfX2RldmVsb3Blcjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgLmZvb3Rlcl9fZGV2ZWxvcGVyOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMWM4NGM1OyB9XG4gICAgLmZvb3Rlcl9fZGV2ZWxvcGVyLS1jb2xvci1lbXBoYXNpemUge1xuICAgICAgY29sb3I6ICM5ZDlkOWQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgIC5mb290ZXItbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuZm9vdGVyLW5hdl9fbGlua3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5LjM3NWVtKSB7XG4gICAgICAuZm9vdGVyLW5hdl9fbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMy42cHg7IH0gfVxuICAgIC5mb290ZXItbmF2X19saW5rcy1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMzZweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTkuMzc1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1uYXZfX2xpbmtzLWl0ZW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNy4ycHg7IH0gfVxuICAuZm9vdGVyLW5hdl9fbGluayB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgMHMgZWFzZS1pbi1vdXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5mb290ZXItbmF2X19saW5rOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIDBzIGVhc2UtaW4tb3V0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAgIC5mb290ZXItbmF2X19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAuZm9vdGVyLW5hdl9fbGluazpob3ZlcjphZnRlciB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC43KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7IH1cblxuQGN1c3RvbS1zZWxlY3RvciA6LS1ob3ZlciA6aG92ZXIsIDphY3RpdmU7XG4uYnRuIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgMHMgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBhZGVmO1xuICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoNTcsIDEwMSwgMTY4LCAwLjI1KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDsgfVxuICAuYnRuOmFjdGl2ZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMDVzIDBzIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDAgMHB4IDBweCByZ2JhKDU3LCAxMDEsIDE2OCwgMC4yNSk7IH1cbiAgLmJ0bjpiZWZvcmUsIC5idG46YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmJ0bjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idG46YWZ0ZXIge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLmJ0bi0tbWFpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBhZGVmO1xuICAgIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cbiAgICAuYnRuLS1tYWluOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhZGVmOyB9XG4gICAgLmJ0bi0tbWFpbjotLWhvdmVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODhiYzsgfVxuICAuYnRuLS1hbHQge1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzEyMTIxMiAhaW1wb3J0YW50OyB9XG4gICAgLmJ0bi0tYWx0OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ0bi0tYWx0Oi0taG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDE3MywgMjM5LCAwLjUpOyB9XG4gICAgICAuYnRuLS1hbHQ6LS1ob3ZlcjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3MywgMjM5LCAwLjUpOyB9XG4gIC5idG4tLWJsYW5rIHtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuICAgIC5idG4tLWJsYW5rOi0taG92ZXIge1xuICAgICAgY29sb3I6ICMwMGFkZWYgIWltcG9ydGFudDsgfVxuICAgICAgLmJ0bi0tYmxhbms6LS1ob3ZlcjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idG4tLXRhYiB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzEyMTIxMiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuYnRuLS10YWI6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDU3LCAxMDEsIDE2OCwgMC4yNSk7IH1cbiAgICAuaXMtYWN0aXZlIC5idG4tLXRhYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDU3LCAxMDEsIDE2OCwgMC4yNSk7IH1cbiAgLmJ0bi0tYmlnIHtcbiAgICBwYWRkaW5nOiAxNHB4IDM5cHg7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5idG4tLW1lZGl1bSB7XG4gICAgcGFkZGluZzogMTBweCA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4ucmVzaXplLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgc2l6ZTogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWRlZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSg1NywgMTAxLCAxNjgsIDAuMjUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgMHMgZWFzZS1pbi1vdXQ7IH1cbiAgLnJlc2l6ZS1idG46YWZ0ZXIsIC5yZXNpemUtYnRuOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgMHMgZWFzZS1pbi1vdXQ7IH1cbiAgLnJlc2l6ZS1idG46YWZ0ZXIge1xuICAgIHNpemU6IDJweCA1MCU7IH1cbiAgLnJlc2l6ZS1idG46YmVmb3JlIHtcbiAgICBzaXplOiA1MCUgMnB4OyB9XG4gIC5yZXNpemUtYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Mzg5OyB9XG4gIC5yZXNpemUtYnRuLmlzLWFjdGl2ZTphZnRlciB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAucmVzaXplLWJ0bi5pcy1hY3RpdmU6YmVmb3JlIHtcbiAgICB3aWR0aDogNDAlOyB9XG5cbi5wbGF5LWljbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgc2l6ZTogNDRweDtcbiAgYm9yZGVyOiAzcHggc29saWQgIzAwYWRlZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5wbGF5LWljbzphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQwJSwgLTUwJSk7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgIzAwYWRlZjtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEwcHg7IH1cblxuLmhhbWJ1cmdlci1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjZweDtcbiAgcmlnaHQ6IDI1cHg7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDcuODEyNWVtKSB7XG4gICAgLmhhbWJ1cmdlci1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oYW1idXJnZXItYnV0dG9uIGlucHV0W2lkPVwibmF2LW1lbnUtbW9iaWxlLWJ1dHRvblwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLWJ1dHRvbiAuaGFtYnVyZ2VyLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5oYW1idXJnZXItYnV0dG9uIC5oYW1idXJnZXItYmFyLFxuICAuaGFtYnVyZ2VyLWJ1dHRvbiAuaGFtYnVyZ2VyLWJhcjphZnRlcixcbiAgLmhhbWJ1cmdlci1idXR0b24gLmhhbWJ1cmdlci1iYXI6YmVmb3JlIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDJweDsgfVxuICAuaGFtYnVyZ2VyLWJ1dHRvbiAuaGFtYnVyZ2VyLWJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICMwMGFkZWY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBtcyAzMDBtcztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxuICAuaGFtYnVyZ2VyLWJ1dHRvbiAuaGFtYnVyZ2VyLWJhcjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDhweDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICMwMGFkZWY7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMzAwbXMgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLCB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpOyB9XG4gIC5oYW1idXJnZXItYnV0dG9uIC5oYW1idXJnZXItYmFyOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMDBhZGVmO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdHJhbnNpdGlvbjogdG9wIDMwMG1zIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSwgdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTsgfVxuICAuaGFtYnVyZ2VyLWJ1dHRvbiBpbnB1dFtpZD1cIm5hdi1tZW51LW1vYmlsZS1idXR0b25cIl06Y2hlY2tlZCArIC5oYW1idXJnZXItbWVudSAuaGFtYnVyZ2VyLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxNzMsIDIzOSwgMCk7IH1cbiAgICAuaGFtYnVyZ2VyLWJ1dHRvbiBpbnB1dFtpZD1cIm5hdi1tZW51LW1vYmlsZS1idXR0b25cIl06Y2hlY2tlZCArIC5oYW1idXJnZXItbWVudSAuaGFtYnVyZ2VyLWJhcjphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0b3AgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLCB0cmFuc2Zvcm0gMzAwbXMgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgLmhhbWJ1cmdlci1idXR0b24gaW5wdXRbaWQ9XCJuYXYtbWVudS1tb2JpbGUtYnV0dG9uXCJdOmNoZWNrZWQgKyAuaGFtYnVyZ2VyLW1lbnUgLmhhbWJ1cmdlci1iYXI6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSksIHRyYW5zZm9ybSAzMDBtcyAzMDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5zdGFnZS1ibG9jayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc3RhZ2UtYmxvY2tfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZy1ib3R0b206IDI3cHg7IH1cbiAgICAuc3RhZ2UtYmxvY2tfX3RpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgQHV0aWwgdHJpYW5nbGUoMTBweCwgICMwMGFkZWYsIGRvd24pO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMTVweCAhaW1wb3J0YW50OyB9XG4gIC5zdGFnZS1ibG9ja19fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDI1NHB4O1xuICAgIG1heC13aWR0aDogNzc2cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhZGVmO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbG9zdC11dGlsaXR5OiBjbGVhcmZpeDsgfVxuICAuc3RhZ2UtYmxvY2tfX3RleHQsIC5zdGFnZS1ibG9ja19faW1nIHtcbiAgICBsb3N0LWNvbHVtbjogMS8yIDIgMHB4OyB9XG4gIC5zdGFnZS1ibG9ja19fdGV4dCB7XG4gICAgcGFkZGluZzogNDBweCAzMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnN0YWdlLWJsb2NrX19pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvanBnL3N0YWdlLWJsb2NrLTEuanBnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny43NWVtKSB7XG4gICAgLnN0YWdlLWJsb2NrX190ZXh0LCAuc3RhZ2UtYmxvY2tfX2ltZyB7XG4gICAgICBsb3N0LWNvbHVtbjogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAuc3RhZ2UtYmxvY2tfX3RleHQge1xuICAgICAgcGFkZGluZzogMjVweCAyMHB4OyB9XG4gICAgLnN0YWdlLWJsb2NrX19pbWcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwdncpOyB9IH1cblxuLmNvbnRhY3QtYmxvY2sge1xuICBwYWRkaW5nOiAyMHB4IDM1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBQcm94aW1hTm92YS03MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmNvbnRhY3QtYmxvY2tfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmEtNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuY29udGFjdC1ibG9ja19fc3ViYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY29udGFjdC1ibG9ja19fc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlByb3hpbWFOb3ZhXCIsIFwiT3BlbiBTYW5zXCIsIFwiR2lsbCBTYW5zIE1UXCIsIFwiR2lsbCBTYW5zXCIsIENvcmJlbCwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICM3YjdiN2I7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jb250YWN0LWJsb2NrX19zdWJ0ZXh0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgIC5jb250YWN0LWJsb2NrX19zdWJ0ZXh0IGEge1xuICAgICAgY29sb3I6ICMxMjEyMTI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgMHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5jb250YWN0LWJsb2NrX19zdWJ0ZXh0IGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjMTIxMjEyOyB9XG4gICAgICAuY29udGFjdC1ibG9ja19fc3VidGV4dCBhOmhvdmVyLCAuY29udGFjdC1ibG9ja19fc3VidGV4dCBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDBhZGVmOyB9XG4gIC5jb250YWN0LWJsb2NrX19ociB7XG4gICAgbWluLWhlaWdodDogMTg5cHg7IH1cblxuLmZiay1mb3JtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mYmstZm9ybV9fZmllbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mYmstZm9ybV9fZmllbGQtaW5wdXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAyNXB4IDIwcHggMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIDBzIGVhc2UtaW4tb3V0O1xuICAgICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDsgfVxuICAgICAgLmZiay1mb3JtX19maWVsZC1pbnB1dDpmb2N1cywgLmZiay1mb3JtX19maWVsZC1pbnB1dC5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLmZiay1mb3JtX19maWVsZC1pbnB1dDpmb2N1cyArIC5mYmstZm9ybV9fZmllbGQtbGFiZWwsIC5mYmstZm9ybV9fZmllbGQtaW5wdXQuaXMtYWN0aXZlICsgLmZiay1mb3JtX19maWVsZC1sYWJlbCB7XG4gICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgICAuZmJrLWZvcm1fX2ZpZWxkLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yKSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgMHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5mYmstZm9ybV9fZmllbGQtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwLCBpbnNldCAwIDAgMTBweCAjZWM1ODQwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgMHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgLmZiay1mb3JtX19maWVsZC1pbnB1dC5pcy1pbnZhbGlkLWlucHV0IH4gLmZiay1mb3JtX19maWVsZC1lcnJvciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZmJrLWZvcm1fX2ZpZWxkLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNnB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIGNvbG9yOiAjOWQ5ZDlkO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIDBzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuZmJrLWZvcm1fX2ZpZWxkLWxhYmVsLmlzLWFjdGl2ZSB7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAuZmJrLWZvcm1fX2ZpZWxkLWVycm9yIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogI2VjNTg0MDsgfVxuICAuZmJrLWZvcm1fX3RleHRhcmVhIHtcbiAgICBtaW4taGVpZ2h0OiAzODBweDtcbiAgICByZXNpemU6IG5vbmU7IH1cbiAgICAuZmJrLWZvcm1fX3RleHRhcmVhLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAsIGluc2V0IDAgMCAxMHB4ICNlYzU4NDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny43NWVtKSB7XG4gICAgICAuZmJrLWZvcm1fX3RleHRhcmVhIHtcbiAgICAgICAgbWluLWhlaWdodDogMjUwcHg7IH0gfVxuICAuZmJrLWZvcm1fX3N1Ym1pdCB7XG4gICAgQHV0aWwgaGlkZS12aXN1YWxseTsgfVxuICAgIC5mYmstZm9ybV9fc3VibWl0LWJ0biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMzVweDtcbiAgICAgIGJvdHRvbTogMzVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgICAgICAuZmJrLWZvcm1fX3N1Ym1pdC1idG4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAwIDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG5cbi5pbmZvYmxvY2tfX2NvbnRlbnQge1xuICBjbGVhcjogZml4OyB9XG5cbi5pbmZvYmxvY2tfX2NvbnRlbnQtdGV4dCB7XG4gIGxvc3QtY29sdW1uOiA2LzEwIDIgNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny43NWVtKSB7XG4gICAgLmluZm9ibG9ja19fY29udGVudC10ZXh0IHtcbiAgICAgIGxvc3QtY29sdW1uOiBub25lOyB9IH1cblxuLmluZm9ibG9ja19fY29udGVudC1pbWcge1xuICBsb3N0LWNvbHVtbjogNC8xMCAyIDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgIC5pbmZvYmxvY2tfX2NvbnRlbnQtaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaW5mb2Jsb2NrX190aXRsZSwgLmluZm9ibG9ja19fc3VidGl0bGUge1xuICBmb250LWZhbWlseTogUHJveGltYU5vdmEtNzAwO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5pbmZvYmxvY2tfX3RpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuaW5mb2Jsb2NrX190aXRsZV9vdXRzaWRlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cblxuLmluZm9ibG9ja19fZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5pbmZvYmxvY2tfX2Rlc2NyaXB0aW9uLWxpc3QtaXRlbSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTsgfVxuICAuaW5mb2Jsb2NrX19kZXNjcmlwdGlvbi1pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBtYXJnaW46IDM1cHggMDsgfVxuXG4uaW5mb2Jsb2NrX19saW5rcyB7XG4gIG1hcmdpbjogMjBweCAwOyB9XG4gIC5pbmZvYmxvY2tfX2xpbmtzLWxpbmsge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzAwYWRlZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIDBzIGVhc2UtaW4tb3V0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgICAgLmluZm9ibG9ja19fbGlua3MtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7IH0gfVxuICAgIC5pbmZvYmxvY2tfX2xpbmtzLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDYzODk7IH1cblxuLmluZm9ibG9ja19fYXNpZGUtaW1nIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gIC5pbmZvYmxvY2tfX2FzaWRlLWltZzpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4uaW5mb2Jsb2NrLS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfVxuICAuaW5mb2Jsb2NrLS10aXRsZSAuaW5mb2Jsb2NrX19jb250ZW50LXRleHQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG5cbi5yZXNpemFibGUtaW5mb2Jsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7IH1cbiAgLnJlc2l6YWJsZS1pbmZvYmxvY2tfX3Jlc2l6ZS13cmFwIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgMHMgZWFzZS1pbi1vdXQ7XG4gICAgbWF4LWhlaWdodDogNDAwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc2l6YWJsZS1pbmZvYmxvY2s6bm90KC5pcy1hY3RpdmUpIC5yZXNpemFibGUtaW5mb2Jsb2NrX19yZXNpemUtd3JhcCB7XG4gICAgbWF4LWhlaWdodDogMDsgfVxuXG4uZnBfaGVhZGVyIHtcbiAgbWluLWhlaWdodDogNDYwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMzBkZWcsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMCkgMCUsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4xKSAxMDAlKSwgdXJsKC4uL2ltZy9qcGcvZnBfaGVhZGVyLWJnLmpwZykgY2VudGVyIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZnBfaGVhZGVyX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxMDNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDU1cHggMzlweCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDM1N3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTczLCAyMzksIDAuOSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuODEyNWVtKSB7XG4gICAgLmZwX2hlYWRlcl9fY29udGVudCB7XG4gICAgICB3aWR0aDogNzUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzQuNjg3NWVtKSB7XG4gICAgLmZwX2hlYWRlcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuMDYyNWVtKSB7XG4gICAgLmZwX2hlYWRlcl9fY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mcF9oZWFkZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIzLjQzNzVlbSkge1xuICAgIC5mcF9oZWFkZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfSB9XG4gIC5mcF9oZWFkZXJfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmEtOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDcuODEyNWVtKSBhbmQgKG1heC13aWR0aDogNTUuMjVlbSkge1xuICAgICAgLmZwX2hlYWRlcl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMuNDYxNTR2dzsgfSB9XG4gIC5mcF9oZWFkZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1heC13aWR0aDogMzkwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2OyB9XG4gIC5mcF9oZWFkZXJfX2NvbnRlbnQtYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMXB4OyB9XG4gIC5mcF9oZWFkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjFweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3BuZy9mcF9oZWFkZXJfYm90dG9tX2dyYWRpZW50LnBuZykgMCAwIHJlcGVhdC14O1xuICAgIHotaW5kZXg6IDE7IH1cblxuLmZwX3NlcnZpY2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC5mcF9zZXJ2aWNlc19fY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweCAxN3B4OyB9XG4gIC5mcF9zZXJ2aWNlc19fdGV4dC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMzNweCAyMHB4O1xuICAgIHdpZHRoOiA0NSU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny43NWVtKSB7XG4gICAgICAuZnBfc2VydmljZXNfX3RleHQtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuZnBfc2VydmljZXNfX3RleHQtY29udGVudC1wYXJhZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5mcF9zZXJ2aWNlc19fdGFicy1wYW5lbC1pbWcge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXgtd2lkdGg6IDU1JTtcbiAgICBtYXgtaGVpZ2h0OiAzMTRweDtcbiAgICBtYXJnaW4tdG9wOiAzMXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgICAgLmZwX3NlcnZpY2VzX190YWJzLXBhbmVsLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuZnBfc2VydmljZXNfX3RhYnMtcGFuZWwtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmEtNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mcF9zZXJ2aWNlc19fdGV4dC1jb250ZW50LXJlZiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjdweDsgfVxuICAuZnBfc2VydmljZXNfX2J0biB7XG4gICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmJyYW5kLXJlZl9fbG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAyMiU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmJyYW5kLXJlZl9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMyU7XG4gIG1heC13aWR0aDogNzUlO1xuICBjb2xvcjogIzdiN2I3YjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5mcF9pbnN0cnVtZW50cyB7XG4gIGNsZWFyOiBmaXg7XG4gIG1hcmdpbi10b3A6IDQ1cHg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZnBfaW5zdHJ1bWVudHNfX3RpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBQcm94aW1hTm92YS03MDA7IH1cbiAgLmZwX2luc3RydW1lbnRzX19ibG9ja3Mge1xuICAgIG1hcmdpbjogMjdweCAwOyB9XG4gIC5mcF9pbnN0cnVtZW50c19fYnV0dG9uLW1vcmUge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLmluc3RydW1lbnRzLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiA0MHB4IDQzcHggIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMjI3cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgIC5pbnN0cnVtZW50cy1ibG9jayB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5pbnN0cnVtZW50cy1ibG9ja19fYnV0dG9uIHtcbiAgICAgICAgbWluLXdpZHRoOiAyMDhweDsgfSB9XG4gIC5pbnN0cnVtZW50cy1ibG9ja19fYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAwIDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmluc3RydW1lbnRzLWJsb2NrX19iZyBpbWcge1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAgIC5pbnN0cnVtZW50cy1ibG9ja19fYmc6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlIDAgMDtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5pbnN0cnVtZW50cy1ibG9ja19fdGl0bGUge1xuICAgIHRvcDogODJweDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogUHJveGltYU5vdmEtNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDcuODEyNWVtKSBhbmQgKG1heC13aWR0aDogNTUuMjVlbSkge1xuICAgICAgLmluc3RydW1lbnRzLWJsb2NrX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44ODQ2MnZ3OyB9IH1cbiAgLmluc3RydW1lbnRzLWJsb2NrX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDQwcHg7IH1cbiAgLmluc3RydW1lbnRzLWJsb2NrOm50aC1jaGlsZChvZGQpIC5pbnN0cnVtZW50cy1ibG9ja19fYmc6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTczLCAyMzksIDAuOCk7IH1cbiAgLmluc3RydW1lbnRzLWJsb2NrOm50aC1jaGlsZChldmVuKSAuaW5zdHJ1bWVudHMtYmxvY2tfX2JnOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3MywgMjM5LCAwLjQ2KTsgfVxuXG4uc3dfbWFpbiB7XG4gIG1hcmdpbjogMzVweCBhdXRvIDQwcHg7XG4gIHBhZGRpbmc6IDU1cHggNDBweCA2NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAuc3dfbWFpbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHggMzVweDsgfSB9XG5cbi5zd19kZXNjcmlwdGlvbl9fdGl0bGUge1xuICBmb250LWZhbWlseTogUHJveGltYU5vdmEtNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5zd19kZXNjcmlwdGlvbl9fdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1heC13aWR0aDogODMwcHg7IH1cbiAgLnN3X2Rlc2NyaXB0aW9uX190ZXh0IHAsIC5zd19kZXNjcmlwdGlvbl9fdGV4dCBwID4gKiB7XG4gICAgY29sb3I6ICMxMjEyMTI7XG4gICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLCBPcGVuIFNhbnMsIEdpbGwgU2FucyBNVCwgR2lsbCBTYW5zLCBDb3JiZWwsIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAuc3dfZGVzY3JpcHRpb25fX3RleHQge1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9IH1cblxuLnN3X3N0YWdlcyB7XG4gIG1hcmdpbi10b3A6IDcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny43NWVtKSB7XG4gICAgLnN3X3N0YWdlcyB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cbiAgLnN3X3N0YWdlc19fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBQcm94aW1hTm92YS03MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc3dfc3RhZ2VzX19ibG9ja3Mge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7IH1cbiAgLnN3X3N0YWdlc19fYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0zMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5zd19zdGFnZXNfX2Jsb2NrOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAgICAgLnN3X3N0YWdlc19fYmxvY2s6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICAgIC5zd19zdGFnZXNfX2Jsb2NrLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5jdF9tYWluIHtcbiAgbG9zdC11dGlsaXR5OiBjbGVhcmZpeDtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMxMXB4KTsgfVxuXG4uY3RfY29udGFjdHMtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY3RfY29udGFjdHMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH1cbiAgLmN0X2NvbnRhY3RzX19ibG9jazpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY3RfY29udGFjdHNfX2Jsb2NrIGEge1xuICAgIGNvbG9yOiAjMTIxMjEyOyB9XG5cbi5jdF9mZWVkYmFjayB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMjBweCAzNXB4O1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmN0X2ZlZWRiYWNrX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmN0X2ZlZWRiYWNrIC5mYmstZm9ybV9fc3VibWl0LWJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAtMTQwcHg7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5mYmstZm9ybV9fZmllbGQuZmllbGQtY29udGFjdGZvcm0tbWVzc2FnZSAuZmJrLWZvcm1fX2ZpZWxkLWxhYmVsIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAuY3RfY29udGFjdHMsXG4gIC5jdF9mZWVkYmFjayB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3RfZmVlZGJhY2sge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuXG4uc3RfdGFicyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc3RfdGFic19fdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMTBweDsgfVxuXG4uc3RfdGFicy1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAuc3RfdGFicy1jb250ZW50X19wYW5lbCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIDBzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnN0X3RhYnMtY29udGVudF9fcGFuZWwuaXMtYWN0aXZlIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zdF90YWJzLWNvbnRlbnRfX2Jsb2NrIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAgIC5zdF90YWJzLWNvbnRlbnRfX2Jsb2NrIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cbiAgLnN0X3RhYnMtY29udGVudF9fc3ViYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgLnN0X3RhYnMtY29udGVudF9fcmVzaXplLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNjBweDtcbiAgICBsZWZ0OiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuNzVlbSkge1xuICAgICAgLnN0X3RhYnMtY29udGVudF9fcmVzaXplLWJ0biB7XG4gICAgICAgIGxlZnQ6IDIwcHg7IH0gfVxuXG4uYWJfbWFpbixcbi5hYl9oZWFkZXIsXG4uYWJfaGVhZGVyX19zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFiX2Fib3V0IHtcbiAgbWFyZ2luLXRvcDogOTBweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gIC5hYl9hYm91dF9fc3ViYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmFiX2Fib3V0X19yZXNpemUtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjVweDtcbiAgICBib3R0b206IDQwcHg7IH1cblxuLmhlYWRlci1zbGlkZXIgLmltZyxcbi5oZWFkZXItc2xpZGVyIC52aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBtYXgtd2lkdGg6IDk5OTlweDsgfVxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC5oZWFkZXItc2xpZGVyIC5pbWcsXG4gICAgLmhlYWRlci1zbGlkZXIgLnZpZGVvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbi5oZWFkZXItc2xpZGVyIC52aWRlbzotbXMtZnVsbHNjcmVlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKTsgfVxuXG4uaGVhZGVyLXNsaWRlciAuanNfc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5oZWFkZXItc2xpZGVyIC5qc19zbGlkZXJfX3NsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA1MDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAgIC5oZWFkZXItc2xpZGVyIC5qc19zbGlkZXJfX3NsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG5cbi5oZWFkZXItc2xpZGVyIC5qc19zbGlkZXItbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgY2FsYygtMTIwJSAtIDEwcHgpKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwJSkgdHJhbnNsYXRlWSgtMTBweCkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgbWF4LXdpZHRoOiA2NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny43NWVtKSB7XG4gICAgLmhlYWRlci1zbGlkZXIgLmpzX3NsaWRlci1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItc2xpZGVyIC5qc19zbGlkZXItbmF2IC5zbGljay10cmFjayB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAuaGVhZGVyLXNsaWRlciAuanNfc2xpZGVyLW5hdl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICBoZWlnaHQ6IDZ2dztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAgIC5oZWFkZXItc2xpZGVyIC5qc19zbGlkZXItbmF2X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAuaGVhZGVyLXNsaWRlciAuanNfc2xpZGVyLW5hdl9faXRlbTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCAjMDBhZGVmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIDBzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmhlYWRlci1zbGlkZXIgLmpzX3NsaWRlci1uYXZfX2l0ZW06bm90KC5zbGljay1jdXJyZW50KSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuaGVhZGVyLXNsaWRlciAuanNfc2xpZGVyLW5hdl9faXRlbTpub3QoLnNsaWNrLWN1cnJlbnQpOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5oZWFkZXItc2xpZGVyIC5qc19zbGlkZXItbmF2X19pdGVtLWljbyB7XG4gICAgei1pbmRleDogMzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMS4yNWVtKSB7XG4gIC5oZWFkZXItc2xpZGVyIC5pbWcsXG4gIC5oZWFkZXItc2xpZGVyIC52aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmNvbnRyb2xzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbnRyb2xzLCAuY29udHJvbHMgPiAqIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29udHJvbHNbZGF0YS1zdGF0ZT1oaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb250cm9sc1tkYXRhLXN0YXRlPXZpc2libGVdIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY29udHJvbHMgPiAqIHtcbiAgICB3aWR0aDogMy45MDYyNSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE5NTMxMjUlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jb250cm9scyA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5jb250cm9scyAucHJvZ3Jlc3Mge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5jb250cm9scyBidXR0b24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAuY29udHJvbHMgYnV0dG9uOmhvdmVyLCAuY29udHJvbHMgYnV0dG9uOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IC41OyB9XG4gICAgLmNvbnRyb2xzIGJ1dHRvbltkYXRhLXN0YXRlPVwicGxheVwiXSB7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7dXRmODtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWFYTnZMVGc0TlRrdE1TSS9QZ284SVMwdElFZGxibVZ5WVhSdmNqb2dRV1J2WW1VZ1NXeHNkWE4wY21GMGIzSWdNVFl1TUM0d0xDQlRWa2NnUlhod2IzSjBJRkJzZFdjdFNXNGdMaUJUVmtjZ1ZtVnljMmx2YmpvZ05pNHdNQ0JDZFdsc1pDQXdLU0FnTFMwK0Nqd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJK0NqeHpkbWNnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdkbVZ5YzJsdmJqMGlNUzR4SWlCcFpEMGlRMkZ3WVY4eElpQjRQU0l3Y0hnaUlIazlJakJ3ZUNJZ2QybGtkR2c5SWpNeWNIZ2lJR2hsYVdkb2REMGlNekp3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFEwTXk0ek1EY2dORFF6TGpNd05pSWdjM1I1YkdVOUltVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a09tNWxkeUF3SURBZ05EUXpMak13TnlBME5ETXVNekEyT3lJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStDanhuUGdvSlBIQmhkR2dnWkQwaVRUUXhOUzQ1TXpRc01qRXlMamM1T1V3ek5pNDNPRGdzTWk0d09UZERNekl1TkRFeExUQXVNemMzTERJNExqWTFMVEF1TmpZeExESTFMalV4TERFdU1qUXlZeTB6TGpFMExERXVPVEF5TFRRdU56QTRMRFV1TXpJNExUUXVOekE0TERFd0xqSTNObFkwTXpFdU56Z2dJQ0JqTUN3MExqazFNaXd4TGpVMk9TdzRMak00TVN3MExqY3dPQ3d4TUM0eU9EUmpNeTR4TkN3eExqa3dNaXcyTGprd01Td3hMall5TWl3eE1TNHlOemd0TUM0NE5UVnNNemM1TGpFME5pMHlNVEF1TnpBell6UXVNemd4TFRJdU5EYzRMRFl1TlRjeExUVXVORE0wTERZdU5UY3hMVGd1T0RVMklDQWdRelF5TWk0MU1EVXNNakU0TGpJeU5DdzBNakF1TXpFMExESXhOUzR5TnpRc05ERTFMamt6TkN3eU1USXVOems1ZWlJZ1ptbHNiRDBpSTBaR1JrWkdSaUl2UGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDand2YzNablBnbz0pOyB9XG4gICAgLmNvbnRyb2xzIGJ1dHRvbltkYXRhLXN0YXRlPVwicGF1c2VcIl0ge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO3V0Zjg7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlhWE52TFRnNE5Ua3RNU0kvUGdvOElTMHRJRWRsYm1WeVlYUnZjam9nUVdSdlltVWdTV3hzZFhOMGNtRjBiM0lnTVRrdU1DNHdMQ0JUVmtjZ1JYaHdiM0owSUZCc2RXY3RTVzRnTGlCVFZrY2dWbVZ5YzJsdmJqb2dOaTR3TUNCQ2RXbHNaQ0F3S1NBZ0xTMCtDanh6ZG1jZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBek5qVWdNelkxSWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0F6TmpVZ016WTFPeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJZ2QybGtkR2c5SWpNeWNIZ2lJR2hsYVdkb2REMGlNekp3ZUNJK0NqeG5QZ29KUEhKbFkzUWdlRDBpTnpRdU5TSWdkMmxrZEdnOUlqY3pJaUJvWldsbmFIUTlJak0yTlNJZ1ptbHNiRDBpSTBaR1JrWkdSaUl2UGdvSlBISmxZM1FnZUQwaU1qRTNMalVpSUhkcFpIUm9QU0kzTXlJZ2FHVnBaMmgwUFNJek5qVWlJR1pwYkd3OUlpTkdSa1pHUmtZaUx6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOFp6NEtQQzluUGdvOEwzTjJaejRLKTsgfVxuICAuY29udHJvbHMgcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODElO1xuICAgIG1hcmdpbi10b3A6IDAuMTI1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogIzAwOTVkZDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAuY29udHJvbHMgcHJvZ3Jlc3NbZGF0YS1zdGF0ZT1cImZha2VcIl0ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGhlaWdodDogNjUlOyB9XG4gICAgLmNvbnRyb2xzIHByb2dyZXNzIHNwYW4ge1xuICAgICAgd2lkdGg6IDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJhODRjZDsgfVxuICAgIC5jb250cm9scyBwcm9ncmVzczo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTVkZDsgfVxuICAgIC5jb250cm9scyBwcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NWRkOyB9XG5cbi5hYl90ZWFtIHtcbiAgbWFyZ2luLXRvcDogODBweDtcbiAgbWFyZ2luLWJvdHRvbTogOTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAuYWJfdGVhbSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gIC5hYl90ZWFtX19wZXJzb25zIHtcbiAgICBjbGVhcjogZml4OyB9XG4gIC5hYl90ZWFtX19wZXJzb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2UtaW4tb3V0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICAuYWJfdGVhbV9fcGVyc29uIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAxNXB4OyB9IH1cbiAgICAuYWJfdGVhbV9fcGVyc29uLmlzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDQ2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICAgICAgLmFiX3RlYW1fX3BlcnNvbi5pcy1hY3RpdmUgLmFiX3RlYW1fX3BlcnNvbi10aXRsZS10ZXh0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmFiX3RlYW1fX3BlcnNvbjpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggNDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWRlZjsgfVxuICAgICAgLmFiX3RlYW1fX3BlcnNvbjpub3QoLmlzLWFjdGl2ZSk6aG92ZXIgLmFiX3RlYW1fX3Jlc2l6ZS1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgIC5hYl90ZWFtX19wZXJzb246bm90KC5pcy1hY3RpdmUpOmhvdmVyIC5hYl90ZWFtX19yZXNpemUtYnRuOmFmdGVyLCAuYWJfdGVhbV9fcGVyc29uOm5vdCguaXMtYWN0aXZlKTpob3ZlciAuYWJfdGVhbV9fcmVzaXplLWJ0bjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFkZWY7IH1cbiAgLmFiX3RlYW1fX3BlcnNvbi10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5hYl90ZWFtX19wZXJzb24tdGl0bGUtaW1nLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHNpemU6IDExMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAuYWJfdGVhbV9fcGVyc29uLXRpdGxlLWltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7IH1cbiAgICAuYWJfdGVhbV9fcGVyc29uLXRpdGxlLXRleHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04MCUpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDEyNXB4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgMHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAuYWJfdGVhbV9fcGVyc29uLXRpdGxlLXRleHQge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjUlKTtcbiAgICAgICAgICBsZWZ0OiAxMjVweDsgfSB9XG4gICAgICAuYWJfdGVhbV9fcGVyc29uLXRpdGxlLXRleHQtbmFtZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUuMjVlbSkge1xuICAgICAgICAgIC5hYl90ZWFtX19wZXJzb24tdGl0bGUtdGV4dC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAgIC5hYl90ZWFtX19wZXJzb24tdGl0bGUtdGV4dC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgICAuYWJfdGVhbV9fcGVyc29uLXRpdGxlLXRleHQtcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ3LjgxMjVlbSkgYW5kIChtYXgtd2lkdGg6IDU1LjI1ZW0pIHtcbiAgICAgICAgICAuYWJfdGVhbV9fcGVyc29uLXRpdGxlLXRleHQtcG9zaXRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLmFiX3RlYW1fX3BlcnNvbi1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgIC5hYl90ZWFtX19wZXJzb24tZGVzY3JpcHRpb24gcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmFiX3RlYW1fX3BlcnNvbi1kZXNjcmlwdGlvbi1wYXJhIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuYWJfdGVhbV9fcGVyc29uLWRlc2NyaXB0aW9uLXBhcmE6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAuYWJfdGVhbV9fcmVzaXplLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE2NXB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlLWluLW91dDsgfVxuICAgIC5hYl90ZWFtX19yZXNpemUtYnRuOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcGVyc3BlY3RpdmU6IDFweDsgfVxuICAgIC5hYl90ZWFtX19yZXNpemUtYnRuLmlzLWFjdGl2ZSB7XG4gICAgICBsZWZ0OiA0MHB4OyB9XG4gIC5hYl90ZWFtX19ncmlkLWJsb2NrIHtcbiAgICBsb3N0LWNvbHVtbjogMS8yIDIgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljc1ZW0pIHtcbiAgICAgIC5hYl90ZWFtX19ncmlkLWJsb2NrIHtcbiAgICAgICAgbG9zdC1jb2x1bW46IG5vbmU7IH0gfVxuXG4uanNfc2xpZGVyLW5hdiB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIC41czsgfVxuXG4udmlkZW86aG92ZXIgKyAuY29udHJvbHMsXG4uY29udHJvbHM6aG92ZXIge1xuICBvcGFjaXR5OiAuODsgfVxuXG4uY29udHJvbHMge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIC4zczsgfVxuXG4uY29udHJvbHMgLnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBoZWlnaHQ6IDMzcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uY29udHJvbHMgcHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogODElO1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIG1hcmdpbi10b3A6IDAuMTI1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogIzAwOTVkZDtcbiAgLyogSW50ZXJuZXQgRXhwbG9yZXIgdXNlcyB0aGlzIHZhbHVlIGFzIHRoZSBwcm9ncmVzcyBiYXIncyB2YWx1ZSBjb2xvdXIgKi8gfVxuXG4uY29udHJvbHMgcHJvZ3Jlc3Mgc3BhbiB7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYTg0Y2Q7IH1cblxuLmNvbnRyb2xzIGJ1dHRvbiB7XG4gIHRleHQtaW5kZW50OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMzJweDsgfVxuICAuY29udHJvbHMgYnV0dG9uOmFjdGl2ZSwgLmNvbnRyb2xzIGJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG4uY29udHJvbHMgLmZhIHtcbiAgY29sb3I6ICMwMDk1ZGQ7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOyB9XG5cbi52aWRlby1kaW1lbnNpb25zIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLnZpZGVvLWpzIC52anMtdGVjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLmpzX3BlcnNvbl9fcmVzaXplLXdyYXAge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuICAuYWJfdGVhbV9fcmVzaXplLWJ0biB7XG4gICAgbGVmdDogMTQwcHg7XG4gICAgYm90dG9tOiAyNXB4OyB9IH1cblxuLnNyX21haW4ge1xuICBtYXJnaW46IDgwcHggYXV0byA5MHB4O1xuICBwYWRkaW5nOiA1NXB4IDQwcHggNjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny43NWVtKSB7XG4gICAgLnNyX21haW4ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4IDM1cHg7IH0gfVxuXG4uc3Rfc2VydmljZXMgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjYgIWltcG9ydGFudDsgfVxuXG4uaW5zdC1tYWluIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gNDBweDtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMwNnB4KTsgfVxuICAuaW5zdC1tYWluX19saW5rIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDBhZGVmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjYuODc1ZW0pIHtcbiAgICAgIC5pbnN0LW1haW5fX2xpbmsge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbi5pbnN0LXdyYXAge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nOiA1NXB4IDQwcHggNjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAuaW5zdC13cmFwOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZXItd3JhcCxcbi5pbnN0LXNwZWNzLWRvd25sb2FkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5zbGlkZXItd3JhcCB7XG4gIG1hcmdpbi1yaWdodDogNSU7XG4gIG1heC13aWR0aDogMzklOyB9XG5cbi5pbnN0LXNsaWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gIC5pbnN0LXNsaWRlciAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuaW5zdC1zbGlkZXIgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAyNTNweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny44MTI1ZW0pIHtcbiAgICAuaW5zdC1zbGlkZXIgaW1nIHtcbiAgICAgIGhlaWdodDogMjAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuaW5zdC1zbGlkZXIgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDI1M3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzEuMjVlbSkge1xuICAgIC5pbnN0LXNsaWRlciBpbWcge1xuICAgICAgaGVpZ2h0OiAyMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAuaW5zdC1zbGlkZXIgaW1nIHtcbiAgICAgIGhlaWdodDogMTUwcHg7IH0gfVxuXG4vKi5zbGlkZXItbmF2IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBoZWlnaHQ6IDEwMHB4O1xuXG4gICYgZGl2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogOTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICYgaW1nIHtcbiAgICAgIC8vIGhlaWdodDogOTBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgfVxuICB9XG59Ki9cbi5zbGljay1wcmV2LCAuc2xpY2stbmV4dCB7XG4gIGNvbG9yOiAjMDBhZGVmO1xuICBmb250LXNpemU6IDI1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTI1cHg7IH1cblxuLnNsaWRlci1uYXYgLnNsaWNrLXNsaWRlIGltZyB7XG4gIG1heC1oZWlnaHQ6IDkwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuc2xpZGVyLW5hdiAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbi5zbGlkZXItbmF2X19pdGVtIHtcbiAgaGVpZ2h0OiA5MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmluc3QtZGVzY3Ige1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA1NiU7IH1cblxuLmluc3QtbmFtZSB7XG4gIGNvbG9yOiAjN2I3YjdiO1xuICBmb250LXNpemU6IDIycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogMzlweDsgfVxuXG4uaW5zdC1jb21wYXJlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICBjb2xvcjogIzAwYWRlZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDI3cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmluc3QtY29tcGFyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogN3B4O1xuICAgIHJpZ2h0OiAtMjdweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RhdGljcy9pbWcvcG5nL2NvbXBhcmUtaW1nLnBuZ1wiKTtcbiAgICB3aWR0aDogMTdweDtcbiAgICBoZWlnaHQ6IDE2cHg7IH1cblxuLmluc3Qtc3BlY3NfX25hbWUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjMTIxMjEyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLm1lYXN1cmUtc3lzdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZWFzdXJlLXN5c3RlbV9faXRlbSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzlkOWQ5ZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cbiAgICAubWVhc3VyZS1zeXN0ZW1fX2l0ZW06aG92ZXIsIC5tZWFzdXJlLXN5c3RlbV9faXRlbV9hY3RpdmUge1xuICAgICAgY29sb3I6ICMwMGFkZWY7IH1cblxuLmluc3Qtc3BlY3MtdGFibGUgLmluc3Qtc3BlY3MtdGFibGUtbW9yZSAuaW5zdC1zcGVjcy10YWJsZS1yb3cge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgMHMgZWFzZS1pbi1vdXQ7XG4gIG1heC1oZWlnaHQ6IDIwMDBweDsgfVxuXG4uaW5zdC1zcGVjcy10YWJsZSAuaW5zdC1zcGVjcy10YWJsZS1tb3JlOm5vdCguaXMtYWN0aXZlKSA+IC5pbnN0LXNwZWNzLXRhYmxlLXJvdyB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmluc3Qtc3BlY3MtdGFibGUtcm93ID4gZGl2IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICMxMjEyMTI7IH1cblxuLmluc3Qtc3BlY3MtdGFibGVfX25hbWUge1xuICB3aWR0aDogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNSU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuXG4uaW5zdC1zcGVjcy10YWJsZV9fdmFsdWUge1xuICBsaW5lLWhlaWdodDogMS41O1xuICB3aWR0aDogNDQlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICAuaW5zdC1zcGVjcy10YWJsZV9fdmFsdWVfaW1wZXJpY2FsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5pbnN0LXNwZWNzX19idG4ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nOiAxNXB4IDQ1cHg7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5pbnN0LXNwZWNzLWRvd25sb2FkIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbWluLXdpZHRoOiAyMDBweDsgfVxuICAuaW5zdC1zcGVjcy1kb3dubG9hZF9fZmlsZS1pbWcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTRweDsgfVxuICAuaW5zdC1zcGVjcy1kb3dubG9hZF9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjMTIxMjEyO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzlkOWQ5ZDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmluc3Qtc3BlY3MtZG93bmxvYWRfX2xpbms6Zmlyc3QtbGV0dGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuaW5zdC1zcGVjcy1kb3dubG9hZF9fbGluazpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDBhZGVmOyB9XG4gIC5pbnN0LXNwZWNzLWRvd25sb2FkX19maWxlLWluZm8ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjOWQ5ZDlkO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAuaW5zdC1zcGVjcy1kb3dubG9hZF9fcHJpbnQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMDBhZGVmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGFyZ2V0LW5ldzogdGFiOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwLjMxMjVlbSkge1xuICAuaW5zdC1kZXNjciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgLnNsaWRlci13cmFwIHtcbiAgICBtYXgtd2lkdGg6IDQ1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAuc2xpZGVyLXdyYXAge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNzQlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pbnN0LXNwZWNzLXRhYmxlX19uYW1lIHtcbiAgICB3aWR0aDogNTQlOyB9XG4gIC5pbnN0LXNwZWNzLXRhYmxlX192YWx1ZSB7XG4gICAgd2lkdGg6IDM5JTsgfVxuICAuaW5zdC1zcGVjcy10YWJsZS1yb3cgPiBkaXYge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny44MTI1ZW0pIHtcbiAgLmluc3Qtc3BlY3NfX2J0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMS4yNWVtKSB7XG4gIC5pbnN0LW5hbWUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmluc3QtY29tcGFyZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmluc3Qtc3BlY3NfX25hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWFzdXJlLXN5c3RlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjEuODc1ZW0pIHtcbiAgLmluc3Qtc3BlY3MtdGFibGUtcm93ID4gZGl2IHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuXG4udG9vbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1sZWZ0OiAzOHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC50b29sX3dyYXAge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC50b29sX19uYW1lIHtcbiAgICBjb2xvcjogIzEyMTIxMjtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbWFyZ2luOiAyNXB4IDAgN3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudG9vbF9fbGluayB7XG4gICAgY29sb3I6ICMwMGFkZWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudG9vbF9faW1nIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMzUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uc3ViLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbWFyZ2luOiA1MHB4IDA7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNlbGVjdGVkLWVuZ2luZXMtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAuc2VsZWN0ZWQtZW5naW5lcy13cmFwIC5idG5fZmxvYXQtcmlnaHQge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgLnNlbGVjdGVkLWVuZ2luZXMtd3JhcCAuYnRuIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2VsZWN0ZWQtZW5naW5lcy13cmFwIC5idG5fbm9ybWFsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZzogMTVweCA0NXB4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5zZWxlY3RlZC1lbmdpbmVzLXdyYXAgLmJ0bl9mbG9hdC1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICAuc2VsZWN0ZWQtZW5naW5lcy13cmFwIC5idG5fZmxvYXQtcmlnaHQge1xuICAgICAgICAgIGZsb2F0OiBub25lOyB9IH1cblxuLnNlbGVjdGVkLWVuZ2luZXMtYnRuLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xM3B4O1xuICByaWdodDogLTEzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2VsZWN0ZWQtZW5naW5lcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiA4MCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgLnNlbGVjdGVkLWVuZ2luZXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zZWxlY3RlZC1pdGVtcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnNlbGVjdGVkLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuICAuc2VsZWN0ZWQtaXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc2VsZWN0ZWQtaXRlbV9fbnVtYmVyIHtcbiAgICBjb2xvcjogIzAwYWRlZjtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuc2VsZWN0ZWQtaXRlbV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuc2VsZWN0ZWQtaXRlbV9fdGV4dC50ZXh0X25vcm1hbCB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5zZWxlY3RlZC1pdGVtX19idG4tZGVsZXRlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDE3cHg7IH1cbiAgICAuc2VsZWN0ZWQtaXRlbV9fYnRuLWRlbGV0ZSBpbWcge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgIC5zZWxlY3RlZC1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmVuZ2luZXMtY29sdW1uIHtcbiAgd2lkdGg6IDE1MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDUlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLmVuZ2luZXMtY29sdW1uOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5lbmdpbmVzLWNvbHVtbl9fdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5lbmdpbmVzLWNvbHVtbi1pdGVtX190ZXh0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwM3B4OyB9XG4gIC5lbmdpbmVzLWNvbHVtbi1pdGVtX19pY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdGF0aWNzL2ltZy9wbmcvY29tcGFyZS1pbWcucG5nXCIpIDUwJSA1MCUgbm8tcmVwZWF0OyB9XG4gICAgLmVuZ2luZXMtY29sdW1uLWl0ZW1fX2ljb24uc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL3N0YXRpY3MvaW1nL3BuZy9jb21wYXJlLWltZy1zZWxlY3RlZC5wbmdcIikgNTAlIDUwJSBuby1yZXBlYXQ7IH1cbiAgICAuZW5naW5lcy1jb2x1bW4taXRlbV9faWNvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZW5naW5lcy1jb2x1bW4taXRlbV9faWNvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjdweDtcbiAgICAgICAgdG9wOiAtMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICAgICAgIGNvbG9yOiAjMTIxMjEyO1xuICAgICAgICB6LWluZGV4OiA5OTsgfVxuICAgICAgLmVuZ2luZXMtY29sdW1uLWl0ZW1fX2ljb246aG92ZXI6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICB6LWluZGV4OiA5OTsgfVxuXG4uZW5naW5lcy1pbmZvIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAuZW5naW5lcy1pbmZvIHAge1xuICAgIG1hcmdpbjogNDVweCAwOyB9XG4gIC5lbmdpbmVzLWluZm8gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLmVuZ2luZXMtaW5mbyBpbWcuc2hhZG93IHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgIC5lbmdpbmVzLWluZm8gaW1nLm10b3AtMTMwIHtcbiAgICAgIG1hcmdpbi10b3A6IDEzMHB4OyB9XG4gICAgLmVuZ2luZXMtaW5mbyBpbWcuc3RhbmRhcnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDUwcHggYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgLmVuZ2luZXMtaW5mbyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIC5lbmdpbmVzLWluZm8gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgICAuZW5naW5lcy1pbmZvIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIvc3RhdGljcy9pbWcvcG5nL2xpc3QtcmVjdGFuZ2xlLnBuZ1wiKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDE1cHg7IH1cbiAgLmVuZ2luZXMtaW5mbyAubGVmdC1jb2wge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNjAlOyB9XG4gICAgLmVuZ2luZXMtaW5mbyAubGVmdC1jb2wudi10b3Age1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5lbmdpbmVzLWluZm8gLmxlZnQtY29sLnYtYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgIC5lbmdpbmVzLWluZm8gLmxlZnQtY29sLmZvci1td2Qge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA2MCU7IH0gfVxuICAgIC5lbmdpbmVzLWluZm8gLmxlZnQtY29sIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgLmVuZ2luZXMtaW5mbyAubGVmdC1jb2wge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZW5naW5lcy1pbmZvIC5yaWdodC1jb2wge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzklO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5lbmdpbmVzLWluZm8gLnJpZ2h0LWNvbC52LXRvcCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLmVuZ2luZXMtaW5mbyAucmlnaHQtY29sLnYtYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgIC5lbmdpbmVzLWluZm8gLnJpZ2h0LWNvbC5mb3ItbXdkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgICAuZW5naW5lcy1pbmZvIC5yaWdodC1jb2wuZm9yLW13ZCBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAuZW5naW5lcy1pbmZvIC5yaWdodC1jb2wge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZW5naW5lcy1pbmZvIC5saXN0LXRpdGxlIHtcbiAgICBtYXJnaW46IDQwcHggMCAxMHB4IDA7IH1cbiAgLmVuZ2luZXMtaW5mbyAucHJvcC1saXN0LngtbGFyZ2UgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH1cbiAgLmVuZ2luZXMtaW5mbyAucHJvcC1saXN0LmxhcmdlIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmVuZ2luZXMtaW5mbyAucHJvcC1saXN0LmxhcmdlIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgLmVuZ2luZXMtaW5mbyAucHJvcC1saXN0LmxhcmdlIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG4gIC5lbmdpbmVzLWluZm8gLnByb3AtbGlzdC5zbWFsbCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgLmluc3QtZGVzY3ItY29tcGFyZSAuaW5zdC1zcGVjc19fbmFtZSB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9IH1cblxuLmluc3QtZGVzY3ItY29tcGFyZSAucHJpbnQge1xuICBjb2xvcjogIzAwYWRlZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5pbnN0LWRlc2NyLWNvbXBhcmUgLnByaW50OmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiL3N0YXRpY3MvaW1nL3BuZy9wcmludC1pY29uLnBuZ1wiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDsgfVxuXG4uaW5zdC1kZXNjci1jb21wYXJlIC50by1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmluc3QtZGVzY3ItY29tcGFyZSAuaW5zdC1zcGVjcy10YWJsZV9fbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDM4JTsgfVxuXG4uaW5zdC1kZXNjci1jb21wYXJlIC5pbnN0LXNwZWNzLXRhYmxlX192YWx1ZSB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLmluc3QtZGVzY3ItY29tcGFyZSAuaW5zdC1zcGVjcy10YWJsZS1yb3cgPiBkaXYge1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBwYWRkaW5nOiAxNXB4IDA7IH1cblxuLmluc3QtZGVzY3ItY29tcGFyZSAubWVhc3VyZS1zeXN0ZW0ge1xuICBmbG9hdDogbm9uZTsgfVxuXG4uaW5zdC1kZXNjci1jb21wYXJlIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgbWluLWhlaWdodDogLjAxJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4uaW5zdC1kZXNjci1jb21wYXJlIC5jb21wYXJlLWVuZ2luZXMtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDEwcHggMDsgfVxuICAuaW5zdC1kZXNjci1jb21wYXJlIC5jb21wYXJlLWVuZ2luZXMtdGFibGUgdGQsXG4gIC5pbnN0LWRlc2NyLWNvbXBhcmUgLmNvbXBhcmUtZW5naW5lcy10YWJsZSB0aCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgcGFkZGluZzogMTJweCAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAuaW5zdC1kZXNjci1jb21wYXJlIC5jb21wYXJlLWVuZ2luZXMtdGFibGUgdGQsXG4gICAgICAuaW5zdC1kZXNjci1jb21wYXJlIC5jb21wYXJlLWVuZ2luZXMtdGFibGUgdGgge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuICAgIC5pbnN0LWRlc2NyLWNvbXBhcmUgLmNvbXBhcmUtZW5naW5lcy10YWJsZSB0ZCBhLFxuICAgIC5pbnN0LWRlc2NyLWNvbXBhcmUgLmNvbXBhcmUtZW5naW5lcy10YWJsZSB0aCBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmluc3QtZGVzY3ItY29tcGFyZSAuY29tcGFyZS1lbmdpbmVzLXRhYmxlIHRkIGEgLmRlbC10ZXh0LFxuICAgICAgLmluc3QtZGVzY3ItY29tcGFyZSAuY29tcGFyZS1lbmdpbmVzLXRhYmxlIHRoIGEgLmRlbC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIC4yNXM7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgLmluc3QtZGVzY3ItY29tcGFyZSAuY29tcGFyZS1lbmdpbmVzLXRhYmxlIHRkIGEgLmRlbC10ZXh0LFxuICAgICAgICAgIC5pbnN0LWRlc2NyLWNvbXBhcmUgLmNvbXBhcmUtZW5naW5lcy10YWJsZSB0aCBhIC5kZWwtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5pbnN0LWRlc2NyLWNvbXBhcmUgLmNvbXBhcmUtZW5naW5lcy10YWJsZSB0ZCBhOmhvdmVyIC5kZWwtdGV4dCxcbiAgICAgIC5pbnN0LWRlc2NyLWNvbXBhcmUgLmNvbXBhcmUtZW5naW5lcy10YWJsZSB0aCBhOmhvdmVyIC5kZWwtdGV4dCB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuaW5zdC1kZXNjci1jb21wYXJlIC5jb21wYXJlLWVuZ2luZXMtdGFibGUgdGQgLmluc3QtZGVzYy10aXRsZSxcbiAgICAuaW5zdC1kZXNjci1jb21wYXJlIC5jb21wYXJlLWVuZ2luZXMtdGFibGUgdGggLmluc3QtZGVzYy10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogIzc5Nzk3OTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICAuaW5zdC1kZXNjci1jb21wYXJlIC5jb21wYXJlLWVuZ2luZXMtdGFibGUgdGQgLmluc3QtZGVzYy10aXRsZSxcbiAgICAgICAgLmluc3QtZGVzY3ItY29tcGFyZSAuY29tcGFyZS1lbmdpbmVzLXRhYmxlIHRoIC5pbnN0LWRlc2MtdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gIC5pbnN0LWRlc2NyLWNvbXBhcmUgLmNvbXBhcmUtZW5naW5lcy10YWJsZSB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTc7IH1cbiAgICAuaW5zdC1kZXNjci1jb21wYXJlIC5jb21wYXJlLWVuZ2luZXMtdGFibGUgdGQubm8tYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLmluc3QtZGVzY3ItY29tcGFyZSAuY29tcGFyZS1lbmdpbmVzLXRhYmxlX19uYW1lIHtcbiAgICB3aWR0aDogMzglO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmluc3QtZGVzY3ItY29tcGFyZSAuY29tcGFyZS1lbmdpbmVzLXRhYmxlX192YWx1ZSB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAuaW5zdC1kZXNjci1jb21wYXJlIC5jb21wYXJlLWVuZ2luZXMtdGFibGUgLnNlbGVjdC1lbmdpbmUge1xuICAgICAgd2lkdGg6IDEyMHB4OyB9IH1cblxuLnNlbGVjdC1lbmdpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMjNweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoNTcsIDEwMSwgMTY4LCAwLjI1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwYWRlZjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5zZWxlY3QtZW5naW5lX19saXN0LW1haW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDhweDtcbiAgICBtYXgtaGVpZ2h0OiA0MHZoO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNlbGVjdC1lbmdpbmVfX2xhYmVsLFxuICAuc2VsZWN0LWVuZ2luZSB1bCBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2VsZWN0LWVuZ2luZV9fbGFiZWwuc2VsZWN0ZWQsXG4gICAgLnNlbGVjdC1lbmdpbmUgdWwgbGkuc2VsZWN0ZWQge1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgY29sb3I6ICMwMGFkZWY7IH1cbiAgICAuc2VsZWN0LWVuZ2luZV9fbGFiZWwuc2VwYXJhdG9yLFxuICAgIC5zZWxlY3QtZW5naW5lIHVsIGxpLnNlcGFyYXRvciB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5zZWxlY3QtZW5naW5lX19sYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2VjZWM7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgIC5zZWxlY3QtZW5naW5lX19sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7IH0gfVxuICAgIC5zZWxlY3QtZW5naW5lX19sYWJlbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgIC5zZWxlY3QtZW5naW5lX19sYWJlbC5maXJzdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgICAuc2VsZWN0LWVuZ2luZV9fbGFiZWwuZmlyc3Q6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIvc3RhdGljcy9pbWcvcG5nL2Rvd24tdHJpYW5nbGUucG5nXCIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDEwcHg7IH1cbiAgLnNlbGVjdC1lbmdpbmVfX2xhYmVsLnNob3cgfiAuc2VsZWN0LWVuZ2luZV9fbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNlbGVjdC1lbmdpbmVfX2xpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnNlbGVjdC1lbmdpbmVfX2xpc3QgbGkge1xuICAgICAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggNDBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgIC5zZWxlY3QtZW5naW5lX19saXN0IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAyMHB4OyB9IH1cbiAgICAgIC5zZWxlY3QtZW5naW5lX19saXN0IGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLnRvLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC50b3AtbmF2LFxuICAuaW5zdC1tYWluX19saW5rLFxuICAucHJpbnQsXG4gIC5zZWxlY3QtZW5naW5lLFxuICAuaW5zdC1zcGVjcyxcbiAgLmluc3QtZGVzYy10aXRsZSxcbiAgLmNvbXBhcmUtYnRuLW1haW4sXG4gIC5qc19yZW1vdmVfZW5naW5lLFxuICAuZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgYm9keSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgLmNvbXBhcmUtZW5naW5lcy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbXBhcmUtZW5naW5lcy10YWJsZV9fbmFtZSwgLmNvbXBhcmUtZW5naW5lcy10YWJsZV9fdmFsdWUge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG5tYWluIHtcbiAgbWF4LXdpZHRoOiA2NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuYm9keSB7XG4gIC1tcy1vdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLmNvbXBhcmUtYnRuLW1haW4ge1xuICBwYWRkaW5nOiAxM3B4IDAgMCAxN3B4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMjBweDtcbiAgcmlnaHQ6IDUlO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDU3LCAxMDEsIDE2OCwgMC4yNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTsgfVxuICAuY29tcGFyZS1idG4tbWFpbl9fY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTdweDtcbiAgICB0b3A6IC03cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zaXRlLWVycm9yIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjM2cHgpO1xuICBtYXgtd2lkdGg6IDY1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5LjM3NWVtKSB7XG4gICAgLnNpdGUtZXJyb3Ige1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjU1cHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuODc1ZW0pIHtcbiAgICAuc2l0ZS1lcnJvciB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMDZweCk7IH0gfVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmV2ZWFsXG4vLyAgMjkuIFNsaWRlclxuLy8gIDMwLiBTd2l0Y2hcbi8vICAzMS4gVGFibGVcbi8vICAzMi4gVGFic1xuLy8gIDMzLiBUaHVtYm5haWxcbi8vICAzNC4gVGl0bGUgQmFyXG4vLyAgMzUuIFRvb2x0aXBcbi8vICAzNi4gVG9wIEJhclxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEwNDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyMTk5ZTgsXG4gIHNlY29uZGFyeTogIzc3NyxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNlYzU4NDAsXG4pO1xuJGxpZ2h0LWdyYXk6ICNmOGY4Zjg7XG4kbWVkaXVtLWdyYXk6ICM5ZDlkOWQ7XG4kZGFyay1ncmF5OiAjN2I3YjdiO1xuJGJsYWNrOiAjMTIxMjEyO1xuJGRlZXAtYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kdGhlbWUtY29sb3I6ICMwMGFkZWY7Ly82MGFkZWZcbiRudGhlbWUtY29sb3I6ICMwMGFkZWY7XG4kbWVudS10ZXh0OiAjMzYzNjM2O1xuXG4kYmctY29sb3I6ICRsaWdodC1ncmF5O1xuXG4kYm9keS1iYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogXCJQcm94aW1hTm92YVwiLFwiT3BlbiBTYW5zXCIsXCJHaWxsIFNhbnMgTVRcIixcIkdpbGwgU2Fuc1wiLENvcmJlbCxBcmlhbCxzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDc2NXB4LFxuICB4bWVkaXVtOiA4ODVweCxcbiAgbGFyZ2U6IDk2NXB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDMwLFxuICAgICdoMic6IDI0LFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAzNixcbiAgICAnaDInOiAzMCxcbiAgICAnaDMnOiAyNCxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNCxcbiAgICAnaDYnOiAxMCxcbiAgKSxcbik7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE1LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNi4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE3LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyAxOC4gRmxleCBWaWRlb1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMjMuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNC4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXppbmRleDogLTE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcblxuLy8gMjUuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNi4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI3LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjguIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAyOS4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzAuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAzMS4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcblxuLy8gMzIuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gMzMuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM0LiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAzNS4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzYuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDFyZW07XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xuICAgICQtemYtc2l6ZTogJHNpemUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksIFwiLiN7JGNvbHVtbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQbGFjZWhvbGRlckluRXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB8bnVsbH0gJGd1dHRlciBbbnVsbF0gLSBHdXR0ZXIgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIHRoZSBtYXJnaW5zLiBTZXQgdG8gYG51bGxgIHRvIHJlZmVyIHRvIHRoZSByZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncy5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicge1xuICAgICRndXR0ZXI6ICgkLXpmLXplcm8tYnJlYWtwb2ludDogJGd1dHRlcik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCR2YWx1ZSkgLyAyICogLTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cbiAgXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjNcbiRzbWFsbC11cDogbnVsbDtcbiRzbWFsbC1vbmx5OiBudWxsO1xuJG1lZGl1bS11cDogbnVsbDtcbiRtZWRpdW0tb25seTogbnVsbDtcbiRsYXJnZS11cDogbnVsbDtcbiRsYXJnZS1vbmx5OiBudWxsO1xuJHhsYXJnZS11cDogbnVsbDtcbiR4bGFyZ2Utb25seTogbnVsbDtcbiR4eGxhcmdlLXVwOiBudWxsO1xuJHh4bGFyZ2Utb25seTogbnVsbDtcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXI6ICRndXR0ZXIpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFNpemVzIG9mIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG5cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzaXplc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAgICN7JGhlYWRlcn0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IGZvcmVncm91bmQoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm9udC1mYWNlXG4vLyAtLS0tLS0tLS1cbkBtaXhpbiBmb250LWZhY2UoJG5hbWUsICRwYXRoLCAkd2VpZ2h0OiBudWxsLCAkc3R5bGU6IG51bGwsICRleHRzOiBlb3Qgd29mZiB0dGYgb3RmIHN2Zykge1xuXHQkc3JjOiBudWxsO1xuXHQkZXh0bW9kczogKFxuXHRcdGVvdDogXCI/XCIsXG5cdFx0c3ZnOiBcIiNcIiArIHN0ci1yZXBsYWNlKCRuYW1lLCBcIiBcIiwgXCJfXCIpXG5cdCk7XG5cdCRmb3JtYXRzOiAoXG5cdFx0b3RmOiBcIm9wZW50eXBlXCIsXG5cdFx0dHRmOiBcInRydWV0eXBlXCJcblx0KTtcblxuXHRAZWFjaCAkZXh0IGluICRleHRzIHtcblx0XHQkZXh0bW9kOiBpZihtYXAtaGFzLWtleSgkZXh0bW9kcywgJGV4dCksICRleHQgKyBtYXAtZ2V0KCRleHRtb2RzLCAkZXh0KSwgJGV4dCk7XG5cdFx0JGZvcm1hdDogaWYobWFwLWhhcy1rZXkoJGZvcm1hdHMsICRleHQpLCBtYXAtZ2V0KCRmb3JtYXRzLCAkZXh0KSwgJGV4dCk7XG5cdFx0JHNyYzogYXBwZW5kKCRzcmMsIHVybChxdW90ZSgkcGF0aCArIFwiLlwiICsgJGV4dG1vZCkpIGZvcm1hdChxdW90ZSgkZm9ybWF0KSksIGNvbW1hKTtcblx0fVxuXHRAZm9udC1mYWNlIHtcblx0XHRmb250LXdlaWdodDogJHdlaWdodDtcblx0XHRmb250LXN0eWxlOiAkc3R5bGU7XG5cdFx0Zm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcblx0XHRzcmM6ICRzcmM7XG5cdH1cbn1cblxuLy8gVHJhbnNpdGlvblxuLy8gLS0tLS0tLS0tLVxuQG1peGluIHRycygkdGltZTogMC4xNXMsICRwcm9wOiBhbGwsICRkZWxheTogMHMsICRlYXNpbmc6IGVhc2UtaW4tb3V0KSB7XG5cdHRyYW5zaXRpb246ICRwcm9wICR0aW1lICRkZWxheSAkZWFzaW5nO1xufVxuXG4vLyBBbGlnbnNcbi8vIC0tLS0tLVxuIiwiLy8gRm9udHNcbi8vIC0tLS0tXG5cbkBpbmNsdWRlIGZvbnQtZmFjZShcIlByb3hpbWFOb3ZhXCIsIFwiLi4vZm9udHMvcHJveGltYV9ub3ZhX3JlZ3VsYXJcIik7XG5AaW5jbHVkZSBmb250LWZhY2UoXCJQcm94aW1hTm92YS03MDBcIiwgXCIuLi9mb250cy9wcm94aW1hX25vdmFfYm9sZFwiKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIlByb3hpbWFOb3ZhLTMwMFwiLCBcIi4uL2ZvbnRzL3Byb3hpbWFfbm92YV9saWdodFwiKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIlByb3hpbWFOb3ZhLTkwMFwiLCBcIi4uL2ZvbnRzL3Byb3hpbWFfbm92YV9ibGFja1wiKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIkljb21vb25cIiwgXCIuLi9mb250cy9pY29tb29uXCIpO1xuIiwiLy8gR2VuZXJhbFxuLy8gLS0tLS0tLVxuXG5ib2R5LmlzLWFjdGl2ZSB7XG59XG5cbnVsIHtcblx0bWFyZ2luOiAwO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4iLCIvLyBUb3AgbmF2aWdhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLnRvcC1uYXYge1xuXHQkaGVpZ2h0OiAxMDBweDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRtaW4taGVpZ2h0OiAkaGVpZ2h0ICogMC43O1xuXHR9XG5cblx0Ly9vdmVyZmxvdzogaGlkZGVuOyAvL2Zvci10b29scy1tZW51XG5cdG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuXHQmX19sb2dvLWNvbnRhaW5lciB7XG5cdFx0JHYtcGFkOiAxM3B4O1xuXHRcdCRoLXBhZDogMTZweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0JHYtcGFkOiAkdi1wYWQgKiAwLjc7XG5cdFx0XHQkaC1wYWQ6ICRoLXBhZCAqIDAuNztcblxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHotaW5kZXg6IDI1O1xuXHRcdFx0cGFkZGluZzogJHYtcGFkICRoLXBhZDtcblx0XHRcdGhlaWdodDogJGhlaWdodCAqIDAuNztcblx0XHR9XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6ICR2LXBhZCAkaC1wYWQ7XG5cdFx0aGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcblx0XHRib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMjQsIDU5LCA5MCwgMC4xMSlcblx0fVxuXHQmX19sb2dvIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdG1heC13aWR0aDogMC41NyAqICRoZWlnaHQgKiAwLjc7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwLjU3ICogJGhlaWdodCAqIDAuNztcblx0XHR9XG5cblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXgtd2lkdGg6IDAuNTcgKiAkaGVpZ2h0O1xuXHRcdG1heC1oZWlnaHQ6IDAuNTcgKiAkaGVpZ2h0O1xuXG5cdFx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwLjA0ICogJGhlaWdodDtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRhbmltYXRpb246IHJvdGF0aW9uIDMwcyBsaW5lYXIgaW5maW5pdGU7XG5cdFx0fVxuXHR9XG5cdCZfX2V4cGFuZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQmX19saW5rcyB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdCYtaXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdCZfdG9vbHMge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0Jjpob3ZlciAudG9wLW5hdl9fbGlua190b29scy5pcy1hY3RpdmUge1xuXHRcdFx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubWVudS1sZXZlbC0xLFxuXHRcdFx0XHQubWVudS1sZXZlbC1pbnMsXG5cdFx0XHRcdC5tZW51LWxldmVsLWxhc3Qge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0ei1pbmRleDogMzA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHQudG9wLW5hdl9fbGluayB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkdGhlbWUtY29sb3I7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQubWVudS1sZXZlbCB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDI0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogOTcwcHg7IC8vIERlZmF1bHQgdmFsdWUgNjEwcHguIFRPRE86IE1ha2UgYXV0byBoZWlnaHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5tZW51LWxldmVsLWlucyB7XG5cdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0bGVmdDogMTAwJTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5tZW51LWxldmVsLWxhc3Qge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNDE0cHg7XG5cdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0bGVmdDogMTAwJTtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg4ODUgZG93bikge1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAzNTBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDgyMCBkb3duKSB7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDMyMHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQubWVudS1sZXZlbC0xIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdHRvcDogMTAwJTtcblx0XHRcdFx0XHRcdFx0bGVmdDogMDtcblxuXHRcdFx0XHRcdFx0XHQ+Lm1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxN3B4O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcG5nL3RvcC10cmlhbmdsZS10ci5wbmcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRvcDogLTExcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gNy41cHgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0Jjpob3ZlcjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3BuZy90b3AtdHJpYW5nbGUucG5nKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQubWVudS1pdGVtIHtcblx0XHRcdFx0XHRcdFx0XHQmX19zZXBhcmF0b3Ige1xuXHRcdFx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQubWVudS1pdGVtX190ZXh0IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJG1lbnUtdGV4dDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q3ZDdkNztcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0Lm1lbnUtaXRlbV9fdGV4dCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHQmPiAubWVudS1sZXZlbCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmX19saW5rIHtcblx0XHQkdHJzLXRpbWU6IDAuMnM7XG5cblx0XHRAaW5jbHVkZSB0cnMoJHRycy10aW1lKTtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAzO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDAgMzVweDtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdGxpbmUtaGVpZ2h0OiAkaGVpZ2h0O1xuXG5cdFx0JjpiZWZvcmUsXG5cdFx0JjphZnRlciB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogNTAlO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRoZWlnaHQ6IDNweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogJHRoZW1lLWNvbG9yO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGxlZnQ6IC01cHg7XG5cdFx0XHR9XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0cmlnaHQ6IC01cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl90b29scyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogNTBweDtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMzVweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogJHRoZW1lLWNvbG9yO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KDEwMjAgZG93bikge1xuXHRcdFx0Ly8gJl90b29scyB7XG5cdFx0XHQvLyBcdHBhZGRpbmc6IDA7XG5cdFx0XHQvLyB9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeG1lZGl1bSBkb3duKSB7XG5cdFx0XHRtYXJnaW46IDAgMThweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg4MjVweCBkb3duKSB7XG5cdFx0XHRtYXJnaW46IDAgMTNweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoNzY1IGRvd24pe1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdCY6YWZ0ZXIsXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCZfX2luc3RydW1lbnRzIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cdH1cblxuXHQvLyBNb2JpbGUgdmlld1xuXHQvLyAtLS0tLS0tLS0tLVxuXHQmX19ibG9jayB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHQkaGVpZ2h0OiAkaGVpZ2h0ICogMC43O1xuXG5cdFx0XHRAaW5jbHVkZSB0cnMoMC4zcyk7XG5cblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IC0xMDAlO1xuXHRcdFx0ei1pbmRleDogMztcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG5cblx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDB2dztcblx0XHRcdH1cblx0XHRcdC50b3AtbmF2IHtcblx0XHRcdFx0Jl9fbGlua3Mge1xuXHRcdFx0XHRcdC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAkaGVpZ2h0O1xuXHRcdFx0XHRcdC8vIGxlZnQ6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0XHQmLWl0ZW0ge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2Q3ZDdkNztcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcblxuXHRcdFx0XHRcdFx0Jl90b29scyB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkN2Q3ZDc7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCZfX2xpbmsge1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogJGhlaWdodDtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMjBweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCZfX2luc3RydW1lbnRzIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHJpZ2h0OiAyMiU7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCZfX2V4cGFuZCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cdFx0XHRcdFx0d2lkdGg6ICRoZWlnaHQvMS4yNTtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q3ZDdkNztcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjVweDtcblx0XHRcdFx0XHR6LWluZGV4OiA1O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5tZW51LWl0ZW0ge1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2Q3ZDdkNztcblx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0LnRvcC1uYXZfX2V4cGFuZCB7XG5cdFx0XHRcdFx0Y29sb3I6ICRtZW51LXRleHQ7XG5cblx0XHRcdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCZfX3RleHQge1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAyMHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gRW5kIG9mIG1vYmlsZSB2aWV3XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuLm1lbnUtaXRlbSB7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuXHQmX190ZXh0IHtcblx0XHRjb2xvcjogJG1lbnUtdGV4dDtcblx0XHRsaW5lLWhlaWdodDogNjNweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdG1hcmdpbi1sZWZ0OiAzOXB4O1xuXHRcdG1hcmdpbi1yaWdodDogMjJweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMXB4O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDdkN2Q3O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxMDIwIGRvd24pIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAzMHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyNXB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjVweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KDk4NSBkb3duKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTZweDtcblx0ICAgIG1hcmdpbi1yaWdodDogMTVweDtcblx0ICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoODI1IGRvd24pIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHQgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHQgICAgcGFkZGluZy1yaWdodDogMTVweDtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0d2lkdGg6IDVweDtcblx0XHRcdGhlaWdodDogOXB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9wbmcvcmlnaHQtdHJpYW5nbGUucG5nKTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dG9wOiBjYWxjKDUwJSAtIDQuNXB4KTtcblx0XHR9XG5cblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcblx0XHQ+Lm1lbnUtaXRlbV9fdGV4dCB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcG5nL3JpZ2h0LXRyaWFuZ2xlLXdoaXRlLnBuZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jYXJkLWltYWdlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2UyZWRmNjtcblx0Jl9faW1hZ2Uge1xuXHRcdC8vIG1hcmdpbjogNTdweCA2M3B4IDQ0cHg7XG5cdFx0Ly8gbWF4LXdpZHRoOiAyODhweDtcblx0XHQvLyBUT0RPOiBVbmNvbW1lbnQgc3R5bGVzIGFib3ZlIGlmIHBpY3R1cmVzIHdpbGwgYmUgbm9ybWFsIHNpemVcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KDk1MCBkb3duKSB7XG5cdFx0Jl9faW1hZ2Uge1xuXHRcdFx0bWF4LXdpZHRoOiAyODJweDtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCg4ODUgZG93bikge1xuXHRcdCZfX2ltYWdlIHtcblx0XHRcdG1hcmdpbjogNTdweCAzNHB4IDQ0cHg7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoODIwIGRvd24pIHtcblx0XHQmX19pbWFnZSB7XG5cdFx0XHRtYXJnaW46IDU3cHggMTlweCA0NHB4O1xuXHRcdH1cblx0fVxufVxuLmNhcmQtY29udGVudCB7XG5cdHBhZGRpbmc6IDI1cHggMTBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KDg4NSBkb3duKSB7XG5cdFx0cGFkZGluZzogMjVweCAxMHB4O1xuXHR9XG5cdCZfX3RpdGxlIHtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogIzc5Nzk3OTtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHR9XG5cdCZfX2luZm8ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdHdpZHRoOiAzMiU7XG5cdFx0cGFkZGluZzogMCA1cHg7XG5cdFx0Jl9fdmFsdWUge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHR9XG5cdFx0Jl9fZGltZW5zaW9uIHtcblx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXHRcdCZfX2NoYXJhY3RlcmlzdGljIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0fVxuXHR9XG5cdC5idG4ge1xuXHRcdG1hcmdpbi10b3A6IDI4cHg7XG5cdH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGlvbiB7XG5cdGZyb20ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHR9XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuXHR9XG59XG4iLCIubmF2LWluc3RydW1lbnRzIHtcblx0Jl9fc2VhcmNoIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0Jl9fbGFuZy10b2dnbGVyIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cblx0Jl9fc2VhcmNoIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuXG4vLyBTZWFyY2ggaW5wdXRcbi8vIC0tLS0tLS0tLS0tLVxuXG4uc2VhcmNoLWlucHV0IHtcblx0W3R5cGU9XCJjaGVja2JveFwiXVtpZD1cInNlYXJjaC10b2dnbGVcIl0ge1xuXHRcdEB1dGlsIGhpZGUtdmlzdWFsbHk7XG5cdH1cblx0Jl9fbGFiZWwge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IDFweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRzaXplOiAxNnB4O1xuXHR9XG5cdCZfX2xhYmVsLXRvZ2dsZSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29sb3I6ICR0aGVtZS1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRAZXh0ZW5kICVjYW07XG5cdFx0XHRAaW5jbHVkZSB0cnMoKTtcblxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHRjb250ZW50OiAnXFxmMDAyJztcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0c2l6ZTogMTZweDtcblx0XHR9XG5cdH1cblx0Jl9fc2VhcmNoLWZvcm0ge1xuXHRcdEBleHRlbmQgJXZhbTtcblx0XHRAaW5jbHVkZSB0cnMoMC4zcyk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblxuXHRcdHJpZ2h0OiAyNXB4O1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR3aWR0aDogMDtcblx0XHRib3gtc2hhZG93OiAtNXB4IDAgMjBweCAkdGhlbWUtY29sb3I7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRpbnB1dCB7XG5cdFx0XHRwYWRkaW5nOiAzcHggNXB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkdGhlbWUtY29sb3I7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRbdHlwZT1cImNoZWNrYm94XCJdW2lkPVwic2VhcmNoLXRvZ2dsZVwiXTpjaGVja2VkICsgLnNlYXJjaC1pbnB1dF9fbGFiZWwge1xuXHRcdC5zZWFyY2gtaW5wdXRfX2xhYmVsLXRvZ2dsZTphZnRlciB7XG5cdFx0XHRjb2xvcjogJHRoZW1lLWNvbG9yO1xuXHRcdH1cblx0XHQuc2VhcmNoLWlucHV0X19zZWFyY2gtZm9ybSB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoODB2dyAtIDg1cHgpO1xuXHRcdFx0fVxuXG5cdFx0XHR3aWR0aDogMTcwcHhcblx0XHR9XG5cdH1cbn1cblxuLy8gTGFuZ3VhZ2UgdG9nZ2xlclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGFuZy10b2dnbGVyIHtcblx0JGNvbG9yOiAkZGFyay1ncmF5O1xuXHQkbGFuZy10b2dnbGUtaGVpZ2h0OiAyMHB4O1xuXHQkdHJhbnNsYXRlLXRpbWU6IDAuMnM7XG5cdCR0cmFuc2xhdGUtZGVsYXk6ICR0cmFuc2xhdGUtdGltZTtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cdGNvbG9yOiAkY29sb3I7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogMTFweDtcblxuXHRbdHlwZT1cImNoZWNrYm94XCJdW2lkPVwibGFuZy10b2dnbGVcIl0ge1xuXHRcdEB1dGlsIGhpZGUtdmlzdWFsbHk7XG5cdH1cblx0Jl9fdG9nZ2xlIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdEBleHRlbmQgJXZhbTtcblx0XHRcdEBpbmNsdWRlIHRycygkdHJhbnNsYXRlLXRpbWUgKiAxLjUpO1xuXG5cdFx0XHRsZWZ0OiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1cHgsIC0xMDAlKSByb3RhdGUoNDVkZWcpIHJvdGF0ZVkoMCk7XG5cdFx0XHRzaXplOiA3cHg7XG5cdFx0fVxuXHRcdCYtbGFiZWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cGFkZGluZzogMCA3cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRsaW5lLWhlaWdodDogJGxhbmctdG9nZ2xlLWhlaWdodDtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LFxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuXHRcdH1cblx0fVxuXHRbdHlwZT1cImNoZWNrYm94XCJdW2lkPVwibGFuZy10b2dnbGVcIl06Y2hlY2tlZCArIC5sYW5nLXRvZ2dsZXJfX3RvZ2dsZSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTBweCwgLTUwJSkgcm90YXRlKDQ1ZGVnKSByb3RhdGVaKDkwZGVnKTtcblx0XHR9XG5cdFx0LmxhbmctdG9nZ2xlcl9fdG9nZ2xlLWxhYmVsIHtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LFxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LFxuXHRcdFx0XHR0cmFuc2Zvcm0gJHRyYW5zbGF0ZS10aW1lIGVhc2UtaW4tb3V0O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRbdHlwZT1cImNoZWNrYm94XCJdW2lkPVwibGFuZy10b2dnbGVcIl06bm90KDpjaGVja2VkKSArIC5sYW5nLXRvZ2dsZXJfX3RvZ2dsZSB7XG5cdFx0LmxhbmctdG9nZ2xlcl9fdG9nZ2xlLWxhYmVsIHtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LFxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LFxuXHRcdFx0XHR0cmFuc2Zvcm0gJHRyYW5zbGF0ZS10aW1lICR0cmFuc2xhdGUtZGVsYXkgZWFzZS1pbi1vdXQ7XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0LmxhbmctdG9nZ2xlcl9fdG9nZ2xlLWxhYmVsIHtcblx0XHRcdFx0Y29sb3I6ICR0aGVtZS1jb2xvcjtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItcmlnaHQtY29sb3I6ICR0aGVtZS1jb2xvcjtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHRoZW1lLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRbdHlwZT1cImNoZWNrYm94XCJdW2lkPVwibGFuZy10b2dnbGVcIl06Y2hlY2tlZCB+IC5sYW5nLXRvZ2dsZXJfX2xhbmdzIHtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCxcblx0XHRcdGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsXG5cdFx0XHR0cmFuc2Zvcm0gJHRyYW5zbGF0ZS10aW1lICR0cmFuc2xhdGUtZGVsYXkgZWFzZS1pbi1vdXQ7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cdFt0eXBlPVwiY2hlY2tib3hcIl1baWQ9XCJsYW5nLXRvZ2dsZVwiXTpub3QoOmNoZWNrZWQpIH4gLmxhbmctdG9nZ2xlcl9fbGFuZ3Mge1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LFxuXHRcdFx0YmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxcblx0XHRcdHRyYW5zZm9ybSAkdHJhbnNsYXRlLXRpbWUgZWFzZS1pbi1vdXQ7XG5cdH1cblx0Jl9fbGFuZ3Mge1xuXHRcdEBleHRlbmQgJXZhbTtcblxuXHRcdGxlZnQ6IDA7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0cGFkZGluZzogMCA3cHg7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0XHRsaW5lLWhlaWdodDogJGxhbmctdG9nZ2xlLWhlaWdodDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIEZvb3RlclxuLy8gLS0tLS0tXG5cbi5mb290ZXIge1xuXHQkZm9vdGVyLWhlaWdodDogMTM2cHg7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0bWluLWhlaWdodDogJGZvb3Rlci1oZWlnaHQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlcC1ibGFjaztcblx0Y29sb3I6ICR3aGl0ZTtcblxuXHQmX19icmFuZCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHR9XG5cblx0XHRwYWRkaW5nLXRvcDogMjhweDtcblxuXHRcdCYtY29weXJpZ2h0IHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi10b3A6IDE2cHg7XG5cdFx0XHRtaW4td2lkdGg6IDIyMHB4O1xuXHRcdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHRmb250LXNpemU6IDEycHhcblx0XHR9XG5cdH1cblx0Jl9fZGV2ZWxvcGVyIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0bGluZS1oZWlnaHQ6ICRmb290ZXItaGVpZ2h0IC8gMjtcblx0XHR9XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tbGVmdDogNDJweDtcblx0XHRtaW4td2lkdGg6IDIwOHB4O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWhlaWdodDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdEBleHRlbmQgJXZhbTtcblx0XHRcdEBpbmNsdWRlIHRycygpO1xuXG5cdFx0XHRyaWdodDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZy1yaWdodDogOXB4O1xuXHRcdFx0Y29sb3I6ICNlZGVkZWQ7XG5cdFx0XHRjb250ZW50OiAnXFxlOTAyJztcblx0XHRcdGZvbnQ6IDI4cHggSWNvbW9vbjtcblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbG9yOiAjMWM4NGM1O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLS1jb2xvci1lbXBoYXNpemUge1xuXHRcdFx0Y29sb3I6ICRtZWRpdW0tZ3JheTtcblx0XHR9XG5cdH1cblx0Ji1uYXYge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQmX19saW5rcyB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDk1MCBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6ICRmb290ZXItaGVpZ2h0IC8gMTA7XG5cdFx0XHR9XG5cblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0Ji1pdGVtIHtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg5NTAgZG93bikge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWhlaWdodCAvIDU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWhlaWdodFxuXHRcdFx0fVxuXHRcdH1cblx0XHQmX19saW5rIHtcblx0XHRcdCR0cnMtdGltZTogMC4ycztcblxuXHRcdFx0QGluY2x1ZGUgdHJzKCR0cnMtdGltZSk7XG5cblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAwIDEycHg7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdEBpbmNsdWRlIHRycygkdHJzLXRpbWUpO1xuXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDFweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG5cblx0XHRcdH1cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjMpO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAY3VzdG9tLXNlbGVjdG9yIDotLWhvdmVyIDpob3ZlciwgOmFjdGl2ZTtcbiRidG4tc2hhZG93LWNvbG9yOiByZ2JhKDU3LCAxMDEsIDE2OCwgMC4yNSk7XG4kYnRuLW1haW4tY29sb3I6ICR0aGVtZS1jb2xvcjtcbiRidG4tYWx0LWNvbG9yOiAkd2hpdGU7XG5cbi5idG4ge1xuXHRAaW5jbHVkZSB0cnMoMC4xcyk7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRidG4tbWFpbi1jb2xvcjtcblx0Ym94LXNoYWRvdzogMCA2cHggMTZweCAkYnRuLXNoYWRvdy1jb2xvcjtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcblxuXHQmOmFjdGl2ZSB7XG5cdFx0QGluY2x1ZGUgdHJzKDAuMDVzKTtcblxuXHRcdGJveC1zaGFkb3c6IDAgMHB4IDBweCAkYnRuLXNoYWRvdy1jb2xvcjtcblx0fVxuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0QGV4dGVuZCAlaGFtO1xuXHRcdEBpbmNsdWRlIHRycygwLjNzKTtcblxuXHRcdHRvcDogMDtcblx0XHR6LWluZGV4OiAtMTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0Y29udGVudDogJyc7XG5cdH1cblx0JjpiZWZvcmUge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdHdpZHRoOiA4MCU7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLVxuXHQmLS1tYWluIHtcblx0XHRib3JkZXItY29sb3I6ICRidG4tbWFpbi1jb2xvcjtcblx0XHRjb2xvcjogJGJ0bi1hbHQtY29sb3IgIWltcG9ydGFudDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRidG4tbWFpbi1jb2xvcjtcblx0XHR9XG5cdFx0JjotLWhvdmVyOmFmdGVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRidG4tbWFpbi1jb2xvciwgMTApO1xuXHRcdH1cblx0fVxuXG5cdCYtLWFsdCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnRuLWFsdC1jb2xvcjtcblx0XHRjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWFsdC1jb2xvcjtcblx0XHR9XG5cblx0XHQmOi0taG92ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKCRidG4tbWFpbi1jb2xvciwgMC41KTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRidG4tbWFpbi1jb2xvciwgMC41KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS1ibGFuayB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYnRuLWFsdC1jb2xvcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRjb2xvcjogJGJ0bi1hbHQtY29sb3IgIWltcG9ydGFudDtcblxuXHRcdCY6LS1ob3ZlciB7XG5cdFx0XHRjb2xvcjogJGJ0bi1tYWluLWNvbG9yICFpbXBvcnRhbnQ7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ0bi1hbHQtY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji0tdGFiIHtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRidG4tYWx0LWNvbG9yO1xuXHRcdFx0Ym94LXNoYWRvdzogMCA2cHggMTZweCAkYnRuLXNoYWRvdy1jb2xvcjtcblxuXHRcdH1cblxuXHRcdC5pcy1hY3RpdmUgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWFsdC1jb2xvcjtcblx0XHRcdGJvcmRlci1jb2xvcjogJGJ0bi1hbHQtY29sb3I7XG5cdFx0XHRib3gtc2hhZG93OiAwIDZweCAxNnB4ICRidG4tc2hhZG93LWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tXG5cdCYtLWJpZyB7XG5cdFx0cGFkZGluZzogMTRweCAzOXB4O1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0fVxuXHQmLS1tZWRpdW0ge1xuXHRcdHBhZGRpbmc6IDEwcHggNDBweDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdH1cbn1cblxuLnJlc2l6ZS1idG4ge1xuXHQkYnRuLXNpemU6IDMwcHg7XG5cdCRzaWduLXdlaWdodDogMnB4O1xuXHQkc2lnbi1sZW5ndGg6IDUwJTtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHNpemU6ICRidG4tc2l6ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDU3LCAxMDEsIDE2OCwgMC4yNSk7XG5cdEBpbmNsdWRlIHRycygpO1xuXG5cdCY6YWZ0ZXIsXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRAZXh0ZW5kICVjYW07XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdEBpbmNsdWRlIHRycygpO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdHNpemU6ICRzaWduLXdlaWdodCAkc2lnbi1sZW5ndGg7XG5cdH1cblx0JjpiZWZvcmUge1xuXHRcdHNpemU6ICRzaWduLWxlbmd0aCAkc2lnbi13ZWlnaHQ7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHRoZW1lLWNvbG9yLCAyMCk7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR3aWR0aDogJHNpZ24tbGVuZ3RoICogMC44O1xuXHRcdH1cblx0fVxufVxuXG4ucGxheS1pY28ge1xuXHQkaWNvLXNpemU6IDQ0cHggIWRlZmF1bHQ7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRzaXplOiAkaWNvLXNpemU7XG5cdGJvcmRlcjogM3B4IHNvbGlkICR0aGVtZS1jb2xvcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdEBleHRlbmQgJWNhbTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDAlLCAtNTAlKTtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItbGVmdDogJGljby1zaXplICogMTcvNDQgc29saWQgJHRoZW1lLWNvbG9yO1xuXHRcdGJvcmRlci10b3Atd2lkdGg6ICRpY28tc2l6ZSAqIDEwLzQ0O1xuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6ICRpY28tc2l6ZSAqIDEwLzQ0O1xuXHR9XG59XG4iLCIkaGFtYnVyZ2VyLWJhci13aWR0aDogMjhweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItYmFyLWhlaWdodDogMnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1iYXItc3BhY2luZzogOHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1jb2xvcjogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGhhbWJ1cmdlci10cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcyAhZGVmYXVsdDtcblxuLmhhbWJ1cmdlci1idXR0b24ge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMjZweDtcblx0cmlnaHQ6IDI1cHg7XG5cdHotaW5kZXg6IDEwMDA7XG5cdHdpZHRoOiAkaGFtYnVyZ2VyLWJhci13aWR0aDtcblx0aGVpZ2h0OiAkaGFtYnVyZ2VyLWJhci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWJhci1zcGFjaW5nKjI7XG5cblx0aW5wdXRbaWQ9XCJuYXYtbWVudS1tb2JpbGUtYnV0dG9uXCJdIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogLTk5OTlweDtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdC5oYW1idXJnZXItbWVudSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAkaGFtYnVyZ2VyLWJhci13aWR0aDtcblx0XHRoZWlnaHQ6ICRoYW1idXJnZXItYmFyLWhlaWdodCArICRoYW1idXJnZXItYmFyLXNwYWNpbmcqMjtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblx0LmhhbWJ1cmdlci1iYXIsXG5cdC5oYW1idXJnZXItYmFyOmFmdGVyLFxuXHQuaGFtYnVyZ2VyLWJhcjpiZWZvcmUge1xuXHRcdHdpZHRoOiAkaGFtYnVyZ2VyLWJhci13aWR0aDtcblx0XHRoZWlnaHQ6ICRoYW1idXJnZXItYmFyLWhlaWdodDtcblx0fVxuXHQuaGFtYnVyZ2VyLWJhciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQ6ICRoYW1idXJnZXItY29sb3I7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDBtcyAkaGFtYnVyZ2VyLXRyYW5zaXRpb24tZHVyYXRpb247XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRoYW1idXJnZXItYmFyLXNwYWNpbmcpO1xuXHR9XG5cdC5oYW1idXJnZXItYmFyOmJlZm9yZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogJGhhbWJ1cmdlci1iYXItc3BhY2luZztcblx0XHRsZWZ0OiAwO1xuXHRcdGJhY2tncm91bmQ6ICRoYW1idXJnZXItY29sb3I7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHR0cmFuc2l0aW9uOiBib3R0b20gJGhhbWJ1cmdlci10cmFuc2l0aW9uLWR1cmF0aW9uICRoYW1idXJnZXItdHJhbnNpdGlvbi1kdXJhdGlvbiBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSksIHRyYW5zZm9ybSAkaGFtYnVyZ2VyLXRyYW5zaXRpb24tZHVyYXRpb24gY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuXHR9XG5cdC5oYW1idXJnZXItYmFyOmFmdGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAkaGFtYnVyZ2VyLWJhci1zcGFjaW5nO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZDogJGhhbWJ1cmdlci1jb2xvcjtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHRyYW5zaXRpb246IHRvcCAkaGFtYnVyZ2VyLXRyYW5zaXRpb24tZHVyYXRpb24gJGhhbWJ1cmdlci10cmFuc2l0aW9uLWR1cmF0aW9uIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSwgdHJhbnNmb3JtICRoYW1idXJnZXItdHJhbnNpdGlvbi1kdXJhdGlvbiBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG5cdH1cblx0aW5wdXRbaWQ9XCJuYXYtbWVudS1tb2JpbGUtYnV0dG9uXCJdOmNoZWNrZWQgKyAuaGFtYnVyZ2VyLW1lbnUge1xuXHRcdC5oYW1idXJnZXItYmFyIHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRoYW1idXJnZXItY29sb3IsIDEpO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiB0b3AgJGhhbWJ1cmdlci10cmFuc2l0aW9uLWR1cmF0aW9uIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSwgdHJhbnNmb3JtICRoYW1idXJnZXItdHJhbnNpdGlvbi1kdXJhdGlvbiAkaGFtYnVyZ2VyLXRyYW5zaXRpb24tZHVyYXRpb24gY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7O1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IGJvdHRvbSAkaGFtYnVyZ2VyLXRyYW5zaXRpb24tZHVyYXRpb24gY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLCB0cmFuc2Zvcm0gJGhhbWJ1cmdlci10cmFuc2l0aW9uLWR1cmF0aW9uICRoYW1idXJnZXItdHJhbnNpdGlvbi1kdXJhdGlvbiBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7O1xuXHRcdFx0fVxuXHRcdH19XG59XG4iLCIvLyBTdGFnZSBibG9ja1xuLy8gLS0tLS0tLS0tLS1cblxuLnN0YWdlLWJsb2NrIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdCZfX3RpdGxlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Zm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0cGFkZGluZy1ib3R0b206IDI3cHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0QGV4dGVuZCAlaGFtO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0QHV0aWwgdHJpYW5nbGUoMTBweCwgICN7JHRoZW1lLWNvbG9yfSwgZG93bik7XG5cdFx0XHRib3JkZXItdG9wLXdpZHRoOiAxNXB4ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi1oZWlnaHQ6IDI1NHB4O1xuXHRcdG1heC13aWR0aDogNzc2cHg7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGxvc3QtdXRpbGl0eTogY2xlYXJmaXg7XG5cdH1cblx0Jl9fdGV4dCxcblx0Jl9faW1nIHtcblx0XHRsb3N0LWNvbHVtbjogMS8yIDIgMHB4O1xuXHR9XG5cdCZfX3RleHQge1xuXHRcdHBhZGRpbmc6IDQwcHggMzBweDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cdCZfX2ltZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9qcGcvc3RhZ2UtYmxvY2stMS5qcGcpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0Jl9fdGV4dCxcblx0XHQmX19pbWcge1xuXHRcdFx0bG9zdC1jb2x1bW46IG5vbmU7XG5cdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdH1cblx0XHQmX190ZXh0IHtcblx0XHRcdHBhZGRpbmc6IDI1cHggMjBweDtcblx0XHR9XG5cdFx0Jl9faW1nIHtcblx0XHRcdGhlaWdodDogY2FsYyg1MHZ3KTtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIENvbnRhY3QgYmxvY2tcbi8vIC0tLS0tLS0tLS0tLS1cblxuLmNvbnRhY3QtYmxvY2sge1xuXHRwYWRkaW5nOiAyMHB4IDM1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Zm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblxuXHQmX190aXRsZSB7XG5cdFx0Zm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdH1cblx0Jl9fc3ViYmxvY2t7XG5cdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0fVxuXHR9XG5cdCZfX3N1YnRpdGxlIHtcblx0XHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cdCZfX3N1YnRleHQge1xuXHRcdG1hcmdpbjogMDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0QGluY2x1ZGUgdHJzKCk7XG5cblx0XHRcdCY6dmlzaXRlZCB7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogJHRoZW1lLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmX19ociB7XG5cdFx0bWluLWhlaWdodDogMTg5cHg7XG5cdH1cbn1cbiIsIi8vIEZlZWRiYWNrIGZvcm1cbi8vIC0tLS0tLS0tLS0tLS1cblxuLmZiay1mb3JtIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdCZfX2ZpZWxkIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHQmLWlucHV0IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZzogMjVweCAyMHB4IDEwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRAaW5jbHVkZSB0cnMoKTtcblx0XHRcdGZvbnQtZmFtaWx5OiBQcm94aW1hTm92YS03MDA7XG5cblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cblx0XHRcdFx0JiArIC5mYmstZm9ybV9fZmllbGQtbGFiZWwge1xuXHRcdFx0XHRcdHRvcDogNXB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKCRibGFjaywgMC4yKSAhaW1wb3J0YW50O1xuXHRcdFx0XHRAaW5jbHVkZSB0cnMoKTtcblxuXHRcdFx0fVxuXG5cdFx0XHQmLmlzLWludmFsaWQtaW5wdXQge1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCwgaW5zZXQgMCAwIDEwcHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG5cdFx0XHRcdEBpbmNsdWRlIHRycygpO1xuXG5cdFx0XHRcdCYgfiAuZmJrLWZvcm1fX2ZpZWxkLWVycm9yIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtbGFiZWwge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDE2cHg7XG5cdFx0XHRsZWZ0OiAyMHB4O1xuXHRcdFx0Y29sb3I6ICRtZWRpdW0tZ3JheTtcblx0XHRcdEBpbmNsdWRlIHRycygpO1xuXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdHRvcDogNXB4O1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji1lcnJvciB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0Y29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RleHRhcmVhIHtcblx0XHRtaW4taGVpZ2h0OiAzODBweDtcblx0XHRyZXNpemU6IG5vbmU7XG5cblx0XHQmLmlzLWludmFsaWQtaW5wdXQge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAsIGluc2V0IDAgMCAxMHB4IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0bWluLWhlaWdodDogMjUwcHg7XG5cdFx0fVxuXHR9XG5cblx0Jl9fc3VibWl0IHtcblx0XHRAdXRpbCBoaWRlLXZpc3VhbGx5O1xuXG5cdFx0Ji1idG4ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDM1cHg7XG5cdFx0XHRib3R0b206IDM1cHg7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmUgMCAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIEluZm9ybWF0aW9uIGJsb2NrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4uaW5mb2Jsb2NrIHtcblx0Jl9fY29udGVudCB7XG5cdFx0Y2xlYXI6IGZpeDtcblx0fVxuXHQmX19jb250ZW50LXRleHQge1xuXHRcdGxvc3QtY29sdW1uOiA2LzEwIDIgNDBweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0bG9zdC1jb2x1bW46IG5vbmU7XG5cdFx0fVxuXHR9XG5cdCZfX2NvbnRlbnQtaW1nIHtcblx0XHRsb3N0LWNvbHVtbjogNC8xMCAyIDQwcHg7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUsXG5cdCZfX3N1YnRpdGxlIHtcblx0XHRmb250LWZhbWlseTogUHJveGltYU5vdmEtNzAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdH1cblx0Jl9fdGl0bGUge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Jl9vdXRzaWRlIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMjVweDtcblx0XHR9XG5cdH1cblx0Jl9fZGVzY3JpcHRpb24ge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0Ji1saXN0LWl0ZW0ge1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuXHRcdFx0bGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuXHRcdH1cblxuXHRcdCYtaW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Ym94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRcdFx0bWFyZ2luOiAzNXB4IDA7XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGlua3Mge1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXG5cdFx0Ji1saW5rIHtcblx0XHRcdEBleHRlbmQgaDU7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Zm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y29sb3I6ICR0aGVtZS1jb2xvcjtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMi4yO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIHRycygpO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IGRhcmtlbigkdGhlbWUtY29sb3IsIDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19hc2lkZS1pbWcge1xuXHRcdG1hcmdpbjogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cblx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi10b3A6IDQwcHg7XG5cdFx0fVxuXHR9XG5cblx0Ji0tdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcblxuXHRcdC5pbmZvYmxvY2tfX2NvbnRlbnQtdGV4dCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHR9XG5cdH1cbn1cblxuLnJlc2l6YWJsZS1pbmZvYmxvY2sge1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRwYWRkaW5nLXRvcDogNTBweDtcblx0cGFkZGluZy1ib3R0b206IDYwcHg7XG5cblx0Jl9fcmVzaXplLXdyYXAge1xuXHRcdEBpbmNsdWRlIHRycygxcyk7XG5cdFx0bWF4LWhlaWdodDogNDAwMHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblxuXHQmOm5vdCguaXMtYWN0aXZlKSAucmVzaXphYmxlLWluZm9ibG9ja19fcmVzaXplLXdyYXAge1xuXHRcdG1heC1oZWlnaHQ6IDA7XG5cdH1cbn1cbiIsIi8vIEZyb250IHBhZ2UgaGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4uZnBfaGVhZGVyIHtcblx0bWluLWhlaWdodDogNDYwcHg7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMzBkZWcsIHJnYmEoJHdoaXRlLCAwKSAwJSwgcmdiYSgkd2hpdGUsIDAuMSkgMTAwJSksIHVybCguLi9pbWcvanBnL2ZwX2hlYWRlci1iZy5qcGcpIGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmX19jb250ZW50IHtcblx0XHRtYXJnaW4tdG9wOiAxMDNweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdHBhZGRpbmc6IDU1cHggMzlweCAhaW1wb3J0YW50O1xuXHRcdG1pbi1oZWlnaHQ6IDM1N3B4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCR0aGVtZS1jb2xvciwgMC4xKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KDc2NSBkb3duKSB7XG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHR3aWR0aDogNzUlO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KDU1NSBkb3duKSB7XG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KDQ2NSBkb3duKSB7XG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAyNnB4O1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KDM3NSBkb3duKSB7XG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAyMXB4O1xuXHRcdH1cblx0fVxuXHQmX190aXRsZSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0Zm9udC1zaXplOiAzNiAvIDEwNDAgKiAxMDB2dztcblx0XHR9XG5cblx0XHRtYXJnaW46IDA7XG5cdFx0bWFyZ2luLXRvcDogNDBweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0XHRmb250LWZhbWlseTogUHJveGltYU5vdmEtOTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxXG5cdH1cblx0Jl9fZGVzY3JpcHRpb24ge1xuXHRcdG1hcmdpbi10b3A6IDM1cHg7XG5cdFx0bWF4LXdpZHRoOiAzOTBweDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTY7XG5cdH1cblx0Jl9fY29udGVudC1idXR0b24ge1xuXHRcdG1hcmdpbi10b3A6IDIxcHg7XG5cdH1cblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAyMXB4O1xuXHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWcvcG5nL2ZwX2hlYWRlcl9ib3R0b21fZ3JhZGllbnQucG5nKSAwIDAgcmVwZWF0LXg7XG5cdFx0ei1pbmRleDogMTtcblx0fVxufVxuXG5cbi8vIEZyb250IHBhZ2Ugc2VydmljZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZwX3NlcnZpY2VzIHtcblx0JHRhYi1sYWJlbHMtaGVpZ2h0OiA3NnB4O1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG5cdCZfX2NvbnRlbnQge1xuXHRcdHBhZGRpbmc6IDIwcHggMTdweDtcblx0fVxuXHQmX190ZXh0LWNvbnRlbnQge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmc6IDMzcHggMjBweDtcblx0XHR3aWR0aDogNDUlO1xuXG5cdFx0Ji1wYXJhZyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdH1cblx0fVxuXHQmX190YWJzLXBhbmVsLWltZyB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHRcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWF4LXdpZHRoOiA1NSU7XG5cdFx0bWF4LWhlaWdodDogMzE0cHg7XG5cdFx0bWFyZ2luLXRvcDogMzFweDtcblx0fVxuXHQmX190YWJzLXBhbmVsLXRpdGxlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0Zm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcbiAgICBcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdCZfX3RleHQtY29udGVudC1yZWYge1xuXHRcdG1hcmdpbi1ib3R0b206IDI3cHg7XG5cdH1cblx0Jl9fYnRuIHtcblx0XHRtaW4td2lkdGg6IDI0MHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG4uYnJhbmQtcmVmIHtcblx0Jl9fbG9nbyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1heC13aWR0aDogMjIlO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0Jl9fZGVzY3JpcHRpb24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nLWxlZnQ6IDMlO1xuXHRcdG1heC13aWR0aDogNzUlO1xuXHRcdGNvbG9yOiAkZGFyay1ncmF5O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdH1cbn1cblxuXG4vLyBGcm9udG4gcGFnZSBpbnN0cnVtZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZwX2luc3RydW1lbnRzIHtcblx0Y2xlYXI6IGZpeDtcblx0bWFyZ2luLXRvcDogNDVweDtcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdCZfX3RpdGxlIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtZmFtaWx5OiBQcm94aW1hTm92YS03MDA7XG5cdH1cblx0Jl9fYmxvY2tzIHtcblx0XHRtYXJnaW46IDI3cHggMDtcblx0fVxuXHQmX19idXR0b24tbW9yZSB7XG5cdFx0bWFyZ2luLXRvcDogNDBweDtcblx0fVxufVxuXG4uaW5zdHJ1bWVudHMtYmxvY2sge1xuXHQkdmVydGljYWwtcGFkZGluZzogNDBweDtcblx0JGhvcml6b250YWwtcGFkZGluZzogNDNweDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQmX19idXR0b24ge1xuXHRcdFx0bWluLXdpZHRoOiAyMDhweDtcblx0XHR9XG5cdH1cblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6ICR2ZXJ0aWNhbC1wYWRkaW5nICRob3Jpem9udGFsLXBhZGRpbmcgIWltcG9ydGFudDtcblx0bWluLWhlaWdodDogMjI3cHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0Jl9fYmcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZSAwIDA7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0aW1nIHtcblx0XHRcdEBleHRlbmQgJWNhbTtcblxuXHRcdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdFx0bWluLWhlaWdodDogMTAwJTtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGUgMCAwO1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0fVxuXHR9XG5cdCZfX3RpdGxlIHtcblx0XHRAZXh0ZW5kICVjYW07XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0Zm9udC1zaXplOiAzMCAvIDEwNDAgKiAxMDB2dztcblx0XHR9XG5cblx0XHR0b3A6IDgycHg7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LWZhbWlseTogUHJveGltYU5vdmEtNzAwXG5cdH1cblx0Jl9fYnV0dG9uIHtcblx0XHRAZXh0ZW5kICVoYW07XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAkdmVydGljYWwtcGFkZGluZztcblx0fVxuXHQmOm50aC1jaGlsZChvZGQpIHtcblx0XHQuaW5zdHJ1bWVudHMtYmxvY2tfX2JnOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCR0aGVtZS1jb2xvciwgMC4yKTtcblx0XHR9XG5cdH1cblx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdC5pbnN0cnVtZW50cy1ibG9ja19fYmc6YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHRoZW1lLWNvbG9yLCAwLjU0KTtcblx0XHR9XG5cdH1cbn1cbiIsIi5zd19tYWluIHtcblx0bWFyZ2luOiAzNXB4IGF1dG8gNDBweDtcblx0cGFkZGluZzogNTVweCA0MHB4IDY1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMzBweCAyMHB4IDM1cHg7XG5cdH1cbn1cblxuLnN3X2Rlc2NyaXB0aW9uIHtcblx0Jl9fdGl0bGUge1xuXHRcdEBleHRlbmQgaDI7XG5cblx0XHRmb250LWZhbWlseTogUHJveGltYU5vdmEtNzAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cblxuXHQmX190ZXh0IHtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdG1heC13aWR0aDogODMwcHg7XG5cdFx0Ly/QodC+0LPQu9Cw0YHQvdC+INGC0YDQtdCx0L7QstCw0L3QuNGP0Lwg0LfQsNC60LDQt9GH0LjQutCwOiDRg9Cx0YDQsNGC0Ywg0L/QtdGA0LLRi9C5INC30LDQs9C+0LvQvtCy0L7QuiDQrdCi0JDQn9CrINCi0J4sINGCLtC6LiDQvtC9INC/0L7QstGC0L7RgNGP0LXRgtGB0Y9cblx0XHQvL3BhZGRpbmctdG9wOiAzMHB4O1xuXG5cdFx0cCwgcD4qIHtcblx0XHRcdGNvbG9yOiAjMTIxMjEyO1xuXHRcdFx0Zm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLCBPcGVuIFNhbnMsIEdpbGwgU2FucyBNVCwgR2lsbCBTYW5zLCBDb3JiZWwsIEFyaWFsLCBzYW5zLXNlcmlmIWltcG9ydGFudDtcblx0XHRcdGZvbnQtc2l6ZTogMTZweCFpbXBvcnRhbnQ7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsIWltcG9ydGFudDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjUhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0dGV4dC1hbGlnbjoganVzdGlmeTtcblx0XHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdH1cblx0fVxufVxuXG4uc3dfc3RhZ2VzIHtcblx0bWFyZ2luLXRvcDogNzBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdG1hcmdpbi10b3A6IDUwcHg7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0QGV4dGVuZCBoMztcblxuXHRcdGZvbnQtZmFtaWx5OiBQcm94aW1hTm92YS03MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxuXG5cdCZfX2Jsb2NrcyB7XG5cdFx0bWFyZ2luLXRvcDogNDVweDtcblx0fVxuXG5cdCZfX2Jsb2NrIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAtMzBweDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdEBpbmNsdWRlIHRycygwLjVzLCAkZGVsYXk6IDAuMnMpO1xuXG5cdFx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiA2MHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxufVxuIiwiJGd1dHRlcjogMjBweDtcblxuLmN0X21haW4ge1xuXHRsb3N0LXV0aWxpdHk6IGNsZWFyZml4O1xuXHRtYXJnaW4tdG9wOiAzNXB4O1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzExcHgpO1xufVxuXG4uY3RfY29udGFjdHMtd3JhcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN0X2NvbnRhY3RzIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHdpZHRoOiBjYWxjKDUwJSAtICN7JGd1dHRlciAvIDJ9KTtcblxuXHQmX19ibG9jayB7XG5cdFx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAkZ3V0dGVyO1xuXHRcdH1cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0fVxuXHR9XG59XG5cbi5jdF9mZWVkYmFjayB7XG5cdGZsb2F0OiByaWdodDtcblx0d2lkdGg6IGNhbGMoNTAlIC0gI3skZ3V0dGVyIC8gMn0pO1xuXHRoZWlnaHQ6IDEwMCU7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRwYWRkaW5nOiAyMHB4IDM1cHg7XG5cdGhlaWdodDogMTAwJTtcblxuXHQmX190aXRsZSB7XG5cdFx0Zm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLTcwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdH1cblx0LmZiay1mb3JtX19zdWJtaXQtYnRuIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cmlnaHQ6IC0xNDBweDtcblx0XHRib3R0b206IDA7XG5cdH1cbn1cblxuLmZiay1mb3JtX19maWVsZC5maWVsZC1jb250YWN0Zm9ybS1tZXNzYWdlIC5mYmstZm9ybV9fZmllbGQtbGFiZWwge1xuXHRiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuXHR3aWR0aDogMTAwJTtcblx0bGVmdDogMDtcblx0bWFyZ2luLXRvcDogLTVweDtcblx0cGFkZGluZy10b3A6IDEwcHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHBhZGRpbmctbGVmdDoyMHB4O1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0LmN0X2NvbnRhY3RzLFxuXHQuY3RfZmVlZGJhY2sge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQuY3RfZmVlZGJhY2sge1xuXHRcdG1hcmdpbi10b3A6ICRndXR0ZXI7XG5cdH1cbn1cbiIsIi5zdF90YWJzIHtcblx0bWFyZ2luLXRvcDogNDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdCZfX3RpdGxlIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOiAwIDEwcHg7XG5cdH1cbn1cblxuLnN0X3RhYnMtY29udGVudCB7XG5cdCRvZmZzZXQtbGVmdDogNDBweDtcblx0JG9mZnNldC1ib3R0b206IDYwcHg7XG5cblx0bWFyZ2luLXRvcDogNDBweDtcblxuXHQmX19wYW5lbCB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGhlaWdodDogMDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG9wYWNpdHk6IDA7XG5cblx0XHRAaW5jbHVkZSB0cnMoMC41cywgJHByb3A6IG9wYWNpdHkpO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYmxvY2sge1xuXG5cdFx0cGFkZGluZy1sZWZ0OiAkb2Zmc2V0LWxlZnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAkb2Zmc2V0LWxlZnQgLyAyO1xuXHRcdFx0cGFkZGluZy1yaWdodDogJG9mZnNldC1sZWZ0IC8gMjtcblx0XHR9XG5cdH1cblx0Jl9fc3ViYmxvY2sge1xuXHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XG5cdH1cblxuXHQkb2Zmc2V0LWxlZnQ6IDQwcHg7XG5cdCRvZmZzZXQtYm90dG9tOiA2MHB4O1xuXG5cdCZfX3Jlc2l6ZS1idG4ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206ICRvZmZzZXQtYm90dG9tO1xuXHRcdGxlZnQ6ICRvZmZzZXQtbGVmdDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0bGVmdDogJG9mZnNldC1sZWZ0IC8gMjtcblx0XHR9XG5cdH1cbn1cblxuXG4iLCIuYWJfbWFpbixcbi5hYl9oZWFkZXIsXG4uYWJfaGVhZGVyX19zbGlkZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWJfaGVhZGVyIHtcblx0Jl9fc2xpZGVyIHtcblxuXHR9XG59XG5cbi5hYl9hYm91dCB7XG5cdCRvZmZzZXQtbGVmdDogMjVweDtcblxuXHRtYXJnaW4tdG9wOiA5MHB4O1xuXHRwYWRkaW5nLWxlZnQ6ICRvZmZzZXQtbGVmdDtcblx0cGFkZGluZy1yaWdodDogNTBweDtcblxuXHQmX19zdWJibG9jayB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0fVxuXG5cdCZfX3Jlc2l6ZS1idG4ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAkb2Zmc2V0LWxlZnQ7XG5cdFx0Ym90dG9tOiA0MHB4O1xuXHR9XG59XG5cbi8vIEhlYWRlciBzbGlkZXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuLmhlYWRlci1zbGlkZXIge1xuXHQuaW1nLFxuXHQudmlkZW8ge1xuXHRcdEBleHRlbmQgJWNhbTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0bWF4LXdpZHRoOiA5OTk5cHg7XG5cdFx0QG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHR9XG5cdH1cblxuXHQudmlkZW8ge1xuXHRcdCY6LW1zLWZ1bGxzY3JlZW4ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCUpO1xuXHRcdH1cblx0fVxuXG5cdC5qc19zbGlkZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0XHQmX19zbGlkZSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRoZWlnaHQ6IDUwMHB4O1xuXHRcdFx0Ly8gY3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0aGVpZ2h0OiAzMDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuanNfc2xpZGVyLW5hdiB7XG5cdFx0QGV4dGVuZCAlaGFtO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCBjYWxjKC0xMjAlIC0gMTBweCkpO1xuXHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpIHRyYW5zbGF0ZVkoLTEwcHgpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0bWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5zbGljay10cmFjayB7XG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdCZfX2l0ZW0ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0XHRmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0bWF4LXdpZHRoOiAxNTBweDtcblx0XHRcdG1heC1oZWlnaHQ6IDEwMHB4O1xuXHRcdFx0aGVpZ2h0OiA2dnc7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0Ym94LXNoYWRvdzogMCA3cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG5cblxuXHRcdFx0Jjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdEBleHRlbmQgJWNhbTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCAkdGhlbWUtY29sb3I7XG5cdFx0XHRcdEBpbmNsdWRlIHRycygpO1xuXHRcdFx0fVxuXHRcdFx0Jjpub3QoLnNsaWNrLWN1cnJlbnQpIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjQpO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19pdGVtLWljbyB7XG5cdFx0XHRAZXh0ZW5kICVjYW07XG5cdFx0XHR6LWluZGV4OiAzO1xuXHRcdH1cblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludCg1MDAgZG93bikge1xuXHQuaGVhZGVyLXNsaWRlciB7XG5cdFx0LmltZyxcblx0XHQudmlkZW8ge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblx0fVxufVxuLy9TbGlkZXIgdmlkZW8gY29udG9ybHNcbi8vLS0tLS0tLS0tLS0tXG4uY29udHJvbHMge1xuXHQmLCYgPiAqIHtcblx0XHRwYWRkaW5nOjA7XG5cdFx0bWFyZ2luOjA7XG5cdH1cblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuXHR3aWR0aDogMTAwJTtcblx0Ly8gaGVpZ2h0OiA4LjA5NzE2NTk5MTkwMjgzNDAwODA5NzE2NTk5MTkwMjglOyAvKiBvZiBmaWd1cmUncyBoZWlnaHQgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCZbZGF0YS1zdGF0ZT1oaWRkZW5dIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdCZbZGF0YS1zdGF0ZT12aXNpYmxlXSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmID4gKiB7XG5cdFx0Ly8gZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6IDMuOTA2MjUlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXJnaW4tbGVmdDogMC4xOTUzMTI1JTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHQmID4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblx0JiAucHJvZ3Jlc3Mge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG5cdCYgYnV0dG9uIHtcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0d2hpdGUtc3BhY2U6bm93cmFwO1xuXHRcdHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3BhY2l0eTogLjU7XG5cdFx0fVxuXG5cdFx0JltkYXRhLXN0YXRlPVwicGxheVwiXSB7XG5cdFx0XHR3aWR0aDogMzJweDtcblx0XHRcdGhlaWdodDogMzJweDtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7dXRmODtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWFYTnZMVGc0TlRrdE1TSS9QZ284SVMwdElFZGxibVZ5WVhSdmNqb2dRV1J2WW1VZ1NXeHNkWE4wY21GMGIzSWdNVFl1TUM0d0xDQlRWa2NnUlhod2IzSjBJRkJzZFdjdFNXNGdMaUJUVmtjZ1ZtVnljMmx2YmpvZ05pNHdNQ0JDZFdsc1pDQXdLU0FnTFMwK0Nqd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJK0NqeHpkbWNnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdkbVZ5YzJsdmJqMGlNUzR4SWlCcFpEMGlRMkZ3WVY4eElpQjRQU0l3Y0hnaUlIazlJakJ3ZUNJZ2QybGtkR2c5SWpNeWNIZ2lJR2hsYVdkb2REMGlNekp3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFEwTXk0ek1EY2dORFF6TGpNd05pSWdjM1I1YkdVOUltVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a09tNWxkeUF3SURBZ05EUXpMak13TnlBME5ETXVNekEyT3lJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStDanhuUGdvSlBIQmhkR2dnWkQwaVRUUXhOUzQ1TXpRc01qRXlMamM1T1V3ek5pNDNPRGdzTWk0d09UZERNekl1TkRFeExUQXVNemMzTERJNExqWTFMVEF1TmpZeExESTFMalV4TERFdU1qUXlZeTB6TGpFMExERXVPVEF5TFRRdU56QTRMRFV1TXpJNExUUXVOekE0TERFd0xqSTNObFkwTXpFdU56Z2dJQ0JqTUN3MExqazFNaXd4TGpVMk9TdzRMak00TVN3MExqY3dPQ3d4TUM0eU9EUmpNeTR4TkN3eExqa3dNaXcyTGprd01Td3hMall5TWl3eE1TNHlOemd0TUM0NE5UVnNNemM1TGpFME5pMHlNVEF1TnpBell6UXVNemd4TFRJdU5EYzRMRFl1TlRjeExUVXVORE0wTERZdU5UY3hMVGd1T0RVMklDQWdRelF5TWk0MU1EVXNNakU0TGpJeU5DdzBNakF1TXpFMExESXhOUzR5TnpRc05ERTFMamt6TkN3eU1USXVOems1ZWlJZ1ptbHNiRDBpSTBaR1JrWkdSaUl2UGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDanhuUGdvOEwyYytDand2YzNablBnbz0pXG5cdFx0fVxuXHRcdCZbZGF0YS1zdGF0ZT1cInBhdXNlXCJdIHtcblx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4O2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpYVhOdkxUZzROVGt0TVNJL1BnbzhJUzB0SUVkbGJtVnlZWFJ2Y2pvZ1FXUnZZbVVnU1d4c2RYTjBjbUYwYjNJZ01Ua3VNQzR3TENCVFZrY2dSWGh3YjNKMElGQnNkV2N0U1c0Z0xpQlRWa2NnVm1WeWMybHZiam9nTmk0d01DQkNkV2xzWkNBd0tTQWdMUzArQ2p4emRtY2dlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VEMGlNSEI0SWlCNVBTSXdjSGdpSUhacFpYZENiM2c5SWpBZ01DQXpOalVnTXpZMUlpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBek5qVWdNelkxT3lJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSWdkMmxrZEdnOUlqTXljSGdpSUdobGFXZG9kRDBpTXpKd2VDSStDanhuUGdvSlBISmxZM1FnZUQwaU56UXVOU0lnZDJsa2RHZzlJamN6SWlCb1pXbG5hSFE5SWpNMk5TSWdabWxzYkQwaUkwWkdSa1pHUmlJdlBnb0pQSEpsWTNRZ2VEMGlNakUzTGpVaUlIZHBaSFJvUFNJM015SWdhR1ZwWjJoMFBTSXpOalVpSUdacGJHdzlJaU5HUmtaR1JrWWlMejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhaejRLUEM5blBnbzhMM04yWno0Sylcblx0XHR9XG5cdH1cblxuXHQmIHByb2dyZXNzIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0aGVpZ2h0OjgxJTtcblx0XHRtYXJnaW4tdG9wOjAuMTI1cmVtO1xuXHRcdGJvcmRlcjpub25lO1xuXHRcdGNvbG9yOiMwMDk1ZGQ7XG5cdFx0LW1vei1ib3JkZXItcmFkaXVzOjJweDtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6MnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6MnB4O1xuXG5cdFx0JltkYXRhLXN0YXRlPVwiZmFrZVwiXSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiNlNmU2ZTY7XG5cdFx0XHRoZWlnaHQ6NjUlO1xuXHRcdH1cblx0XHQmIHNwYW4ge1xuXHRcdFx0d2lkdGg6MCU7XG5cdFx0XHRoZWlnaHQ6MTAwJTtcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjojMmE4NGNkO1xuXHRcdH1cblx0XHQmOjotbW96LXByb2dyZXNzLWJhciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiMwMDk1ZGQ7XG5cdFx0fVxuXHRcdCY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjojMDA5NWRkO1xuXHRcdH1cblx0fVxufVxuXG5cbi5hYl90ZWFtIHtcblx0JHBhZGRpbmc6IDQwcHg7XG5cdCRpbWctc2l6ZTogMTEwcHg7XG5cdCRpbWctbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG5cdG1hcmdpbi10b3A6IDgwcHg7XG5cdG1hcmdpbi1ib3R0b206IDkwcHg7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7XG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQmX19wZXJzb25zIHtcblx0XHRjbGVhcjogZml4O1xuXHR9XG5cblx0Jl9fcGVyc29uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZzogJHBhZGRpbmc7XG5cdFx0QGluY2x1ZGUgdHJzKDAuM3MpO1xuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuXHRcdFx0cGFkZGluZzogNDBweCAxNXB4O1xuXHRcdH1cblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0Ym94LXNoYWRvdzogMCA2cHggNDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXG5cdFx0XHQuYWJfdGVhbV9fcGVyc29uLXRpdGxlLXRleHQge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpub3QoLmlzLWFjdGl2ZSkge1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHotaW5kZXg6IDU7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgNnB4IDQ2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuXG5cdFx0XHRcdC5hYl90ZWFtX19yZXNpemUtYnRuIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cblx0XHRcdFx0XHQmOmFmdGVyLFxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Jl9fcGVyc29uLXRpdGxlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0Ji1pbWctd3JhcCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0c2l6ZTogJGltZy1zaXplO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6ICRpbWctbWFyZ2luLXJpZ2h0O1xuXHRcdH1cblx0XHQmLWltZyB7XG5cdFx0XHRAZXh0ZW5kICVjYW07XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogdW5zZXQ7XG5cdFx0fVxuXG5cdFx0Ji10ZXh0IHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODAlKTtcbi8vXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGxlZnQ6ICRpbWctc2l6ZSArICRpbWctbWFyZ2luLXJpZ2h0O1xuLy9cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0QGluY2x1ZGUgdHJzKDAuM3MsICRwcm9wOiB0cmFuc2Zvcm0pO1xuXG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02NSUpO1xuXHRcdFx0XHRsZWZ0OiAxMjVweDtcblx0XHRcdH1cblx0XHRcdCYtbmFtZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLXBvc2l0aW9uIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCZfX3BlcnNvbi1kZXNjcmlwdGlvbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0XHRwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdCYtcGFyYSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyNXB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3Jlc2l6ZS1idG4ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAkcGFkZGluZyArICRpbWctc2l6ZSArICRpbWctbWFyZ2luLXJpZ2h0O1xuXHRcdGJvdHRvbTogJHBhZGRpbmc7XG5cdFx0QGluY2x1ZGUgdHJzKDAuM3MpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMikgcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0XHRwZXJzcGVjdGl2ZTogMXB4O1xuXHRcdH1cblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGxlZnQ6ICRwYWRkaW5nO1xuXHRcdH1cblx0fVxuXG5cdCZfX2dyaWQtYmxvY2sge1xuXHRcdGxvc3QtY29sdW1uOiAxLzIgMiAwO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRsb3N0LWNvbHVtbjogbm9uZTtcblx0XHR9XG5cdH1cbn1cbi8vICoqKioqKioqKioqKioqKioqKioqKipcbi5qc19zbGlkZXItbmF2IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuNXM7XG59XG4udmlkZW86aG92ZXIrLmNvbnRyb2xzLFxuLmNvbnRyb2xzOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAuODtcbn1cbi5jb250cm9scyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2UgLjNzO1xufVxuLmNvbnRyb2xzIC5wcm9ncmVzcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbi5jb250cm9scyBwcm9ncmVzcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4MSU7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIG1hcmdpbi10b3A6IDAuMTI1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBjb2xvcjogIzAwOTVkZDtcbiAgICAvKiBJbnRlcm5ldCBFeHBsb3JlciB1c2VzIHRoaXMgdmFsdWUgYXMgdGhlIHByb2dyZXNzIGJhcidzIHZhbHVlIGNvbG91ciAqL1xufVxuLmNvbnRyb2xzIHByb2dyZXNzIHNwYW4ge1xuICAgIHdpZHRoOiAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTg0Y2Q7XG59XG4uY29udHJvbHMgYnV0dG9uIHtcbiAgICB0ZXh0LWluZGVudDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJvcmRlcjogMDtcbiAgICB3aWR0aDogMzJweDtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG4uY29udHJvbHMgLmZhIHtcbiAgICBjb2xvcjogIzAwOTVkZDtcbiAgICBmb250LXNpemU6IDMycHg7XG5cdGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbn1cblxuLnZpZGVvLWRpbWVuc2lvbnMge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cbi52aWRlby1qcyAudmpzLXRlY2gge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuLy8gLnZpZGVvLWpzIC52anMtYmlnLXBsYXktYnV0dG9uIHtcbi8vIFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuLy8gfVxuLmpzX3BlcnNvbl9fcmVzaXplLXdyYXAge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmFiX3RlYW1fX3Jlc2l6ZS1idG4ge1xuXHRAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcblx0XHRsZWZ0OiAxNDBweDtcblx0XHRib3R0b206IDI1cHg7XG5cdH1cbn0iLCIuc3JfbWFpbiB7XG5cdG1hcmdpbjogODBweCBhdXRvIDkwcHg7XG5cdHBhZGRpbmc6IDU1cHggNDBweCA2NXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDMwcHggMjBweCAzNXB4O1xuXHR9XG59XG5cbi5zdF9zZXJ2aWNlcyB7XG5cdHAge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjYgIWltcG9ydGFudDsgXG5cdH1cbn0iLCIuaW5zdC1tYWluIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gNDBweDtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMwNnB4KTtcblxuICAmX19saW5rIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDcwIGRvd24pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgfVxufVxuLmluc3Qtd3JhcCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmc6IDU1cHggNDBweCA2NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4uc2xpZGVyLXdyYXAsXG4uaW5zdC1zcGVjcy1kb3dubG9hZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5zbGlkZXItd3JhcCB7XG4gIG1hcmdpbi1yaWdodDogNSU7XG4gIG1heC13aWR0aDogMzklO1xufVxuLmluc3Qtc2xpZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIC5zbGljay1zbGlkZSB7XG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuICAmIGltZyB7XG4gICAgLy8gaGVpZ2h0OiAyNTNweDtcbiAgICBtYXgtaGVpZ2h0OiAyNTNweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KDc2NSBkb3duKSB7XG4gICAgJiBpbWcge1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg2MDAgZG93bikge1xuICAgICYgaW1nIHtcbiAgICAgIC8vIGhlaWdodDogMjUzcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyNTNweDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MDAgZG93bikge1xuICAgICYgaW1nIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwIGRvd24pIHtcbiAgICAmIGltZyB7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIH1cbiAgfVxufVxuLyouc2xpZGVyLW5hdiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgaGVpZ2h0OiAxMDBweDtcblxuICAmIGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmIGltZyB7XG4gICAgICAvLyBoZWlnaHQ6IDkwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgIH1cbiAgfVxufSovXG4uc2xpY2sge1xuICAmLXByZXYsICYtbmV4dCB7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgJi1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgfVxuICAmLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgfVxufVxuLnNsaWRlci1uYXYge1xuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIC8vIG9iamVjdC1wb3NpdGlvbjogMjUlIDUwJTtcbiAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgICAgLy8gbWF4LWhlaWdodDogOTBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgJl9faXRlbSB7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLmluc3QtZGVzY3Ige1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA1NiU7XG59XG4uaW5zdC1uYW1lIHtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAzOXB4O1xufVxuLmluc3QtY29tcGFyZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBsaW5lLWhlaWdodDogMzFweDtcbiAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDI3cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogN3B4O1xuICAgIHJpZ2h0OiAtMjdweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy9zdGF0aWNzL2ltZy9wbmcvY29tcGFyZS1pbWcucG5nJyk7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG59XG4uaW5zdC1zcGVjcyB7XG4gICZfX25hbWUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxufVxuLm1lYXN1cmUtc3lzdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuXG4gICZfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG5cbiAgICAmOmhvdmVyLFxuICAgICZfYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgfVxuICB9XG59XG4uaW5zdC1zcGVjcy10YWJsZSB7XG5cbiAgLmluc3Qtc3BlY3MtdGFibGUtbW9yZSB7XG4gICAgLmluc3Qtc3BlY3MtdGFibGUtcm93IHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxcyAwcyBlYXNlLWluLW91dDtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMDBweDtcbiAgICB9XG4gIH1cblxuICAuaW5zdC1zcGVjcy10YWJsZS1tb3JlOm5vdCguaXMtYWN0aXZlKT4uaW5zdC1zcGVjcy10YWJsZS1yb3cge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICYtcm93PmRpdiB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgLy8gbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG5cbiAgJl9fdmFsdWUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgd2lkdGg6IDQ0JTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgICZfaW1wZXJpY2FsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4uaW5zdC1zcGVjc19fYnRuIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZzogMTVweCA0NXB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5pbnN0LXNwZWNzLWRvd25sb2FkIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbWluLXdpZHRoOiAyMDBweDtcblxuICAmX19maWxlLWltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICY6Zmlyc3QtbGV0dGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJl9fZmlsZS1pbmZvIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgfVxuXG4gICZfX3ByaW50IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGFyZ2V0LW5ldzogdGFiO1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoOTY1IGRvd24pIHtcbiAgLmluc3QtZGVzY3Ige1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICB9XG4gIC5zbGlkZXItd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA0NSU7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCg2MDAgZG93bikge1xuICAuc2xpZGVyLXdyYXAge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNzQlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pbnN0LXNwZWNzLXRhYmxlX19uYW1lIHtcbiAgICB3aWR0aDogNTQlO1xuICB9XG4gIC5pbnN0LXNwZWNzLXRhYmxlX192YWx1ZSB7XG4gICAgd2lkdGg6IDM5JTtcbiAgfVxuICAuaW5zdC1zcGVjcy10YWJsZS1yb3cgPiBkaXYge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQoNzY1IGRvd24pIHtcbiAgLmluc3Qtc3BlY3NfX2J0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQoNTAwIGRvd24pIHtcbiAgLmluc3QtbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaW5zdC1jb21wYXJlIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAuaW5zdC1zcGVjc19fbmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lYXN1cmUtc3lzdGVtIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgzNTAgZG93bikge1xuICAuaW5zdC1zcGVjcy10YWJsZS1yb3cgPiBkaXYge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxufVxuIiwiLnRvb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1sZWZ0OiAzOHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICZfd3JhcCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBtYXJnaW46IDI1cHggMCA3cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgJl9faW1nIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMzUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICB9XG59XG4iLCIudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zdWItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbjogNTBweCAwO1xufVxuXG4uaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2VsZWN0ZWQtZW5naW5lcy13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAuYnRuX2Zsb2F0LXJpZ2h0IHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0biB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJl9ub3JtYWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQ1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB9XG4gICAgICAgICZfZmxvYXQtcmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWxlY3RlZC1lbmdpbmVzLWJ0bi1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEzcHg7XG4gICAgcmlnaHQ6IC0xM3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNlbGVjdGVkLWVuZ2luZXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLnNlbGVjdGVkLWl0ZW1zIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uc2VsZWN0ZWQtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgJl9fbnVtYmVyIHtcbiAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAmLnRleHRfbm9ybWFsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYnRuLWRlbGV0ZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE3cHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmVuZ2luZXMtY29sdW1uIHtcbiAgICAvLyB3aWR0aDogMTYlO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgICYtaXRlbSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgLy8gY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwM3B4O1xuICAgICAgICB9XG4gICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9zdGF0aWNzL2ltZy9wbmcvY29tcGFyZS1pbWcucG5nJykgNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9zdGF0aWNzL2ltZy9wbmcvY29tcGFyZS1pbWctc2VsZWN0ZWQucG5nJykgNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRvb2x0aXApO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI3cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmVuZ2luZXMtaW5mbyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogNDVweCAwO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICYuc2hhZG93IHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgLjEpO1xuICAgICAgICB9XG4gICAgICAgICYubXRvcC0xMzAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5zdGFuZGFydCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnL3N0YXRpY3MvaW1nL3BuZy9saXN0LXJlY3RhbmdsZS5wbmcnKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxlZnQtY29sIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAmLnYtdG9wIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICAgICAgJi52LWJvdHRvbSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICB9XG4gICAgICAgICYuZm9yLW13ZCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5yaWdodC1jb2wge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzOSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi52LXRvcCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgICAgICYudi1ib3R0b20ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICAmLmZvci1td2Qge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saXN0LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMTBweCAwO1xuICAgIH1cbiAgICAucHJvcC1saXN0IHtcbiAgICAgICAgJi54LWxhcmdlIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuaW5zdC1kZXNjci1jb21wYXJlIHtcbiAgICAuaW5zdC1zcGVjcyB7XG4gICAgICAgICZfX25hbWUge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wcmludCB7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgICAgIC8vIHdpZHRoOiAzOCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogdXJsKCcvc3RhdGljcy9pbWcvcG5nL3ByaW50LWljb24ucG5nJyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC50by1wcmludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5pbnN0LXNwZWNzLXRhYmxlIHtcbiAgICAgICAgJl9fbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMzglO1xuICAgICAgICB9XG4gICAgICAgICZfX3ZhbHVlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgICAgJi1yb3c+ZGl2IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1lYXN1cmUtc3lzdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICAgIC8vIGNvbXBhcmUgZW5naW5lcyB0YWJsZVxuICAgIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICAgICAgbWluLWhlaWdodDogLjAxJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB9XG4gICAgLmNvbXBhcmUtZW5naW5lcy10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMTBweCAwO1xuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCAwO1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIC5kZWwtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSAuMjVzO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC5kZWwtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmluc3QtZGVzYy10aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNzk3OTc5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgICAgICAgICAgJi5uby1ib3JkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fbmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMzglO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICAmX192YWx1ZSB7XG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QtZW5naW5lIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlbGVjdC1lbmdpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjIzcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE2cHggcmdiYSg1NywgMTAxLCAxNjgsIDAuMjUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGFkZWY7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBcbiAgICAmX19saXN0LW1haW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQ4cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAmX19sYWJlbCxcbiAgICB1bCBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDBhZGVmO1xuICAgICAgICB9XG4gICAgICAgICYuc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIzNiwgMjM2LCAyMzYpO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAmLmZpcnN0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoJy9zdGF0aWNzL2ltZy9wbmcvZG93bi10cmlhbmdsZS5wbmcnKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xhYmVsLnNob3d+Jl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmX19saXN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDQwcHg7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICAgLnRvLXByaW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnRvcC1uYXYsXG4gICAgLmluc3QtbWFpbl9fbGluayxcbiAgICAucHJpbnQsXG4gICAgLnNlbGVjdC1lbmdpbmUsXG4gICAgLmluc3Qtc3BlY3MsXG4gICAgLmluc3QtZGVzYy10aXRsZSxcbiAgICAuY29tcGFyZS1idG4tbWFpbixcbiAgICAuanNfcmVtb3ZlX2VuZ2luZSxcbiAgICAuZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gICAgLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29tcGFyZS1lbmdpbmVzLXRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5jb21wYXJlLWVuZ2luZXMtdGFibGUge1xuICAgICAgICAmX19uYW1lLFxuICAgICAgICAmX192YWx1ZSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufSIsIm1haW4ge1xuXHRtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuYm9keSB7XG4gIC1tcy1vdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5jb21wYXJlLWJ0bi1tYWluIHtcblx0cGFkZGluZzogMTNweCAwIDAgMTdweDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDIwcHg7XG5cdHJpZ2h0OiA1JTtcblx0d2lkdGg6IDUwcHg7XG5cdGhlaWdodDogNTBweDtcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdGJveC1zaGFkb3c6IDAgNnB4IDE2cHggcmdiYSg1NywgMTAxLCAxNjgsIDAuMjUpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHotaW5kZXg6IDE7XG5cblx0Jl9fY2xvc2Uge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogLTdweDtcblx0XHR0b3A6IC03cHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG59XG5cbi5zaXRlLWVycm9yIHtcblx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjM2cHgpO1xuXHRtYXgtd2lkdGg6IDY1cmVtO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KDk1MCBkb3duKSB7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjU1cHgpO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY2IGRvd24pIHtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMDZweCk7XG5cdH1cbn0iXX0= */
