@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.0.6
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
.slide-in-down.mui-enter, .slide-in-left.mui-enter, .slide-in-up.mui-enter, .slide-in-right.mui-enter, .slide-out-down.mui-leave, .slide-out-right.mui-leave, .slide-out-up.mui-leave, .slide-out-left.mui-leave, .fade-in.mui-enter, .fade-out.mui-leave, .hinge-in-from-top.mui-enter, .hinge-in-from-right.mui-enter, .hinge-in-from-bottom.mui-enter, .hinge-in-from-left.mui-enter, .hinge-in-from-middle-x.mui-enter, .hinge-in-from-middle-y.mui-enter, .hinge-out-from-top.mui-leave, .hinge-out-from-right.mui-leave, .hinge-out-from-bottom.mui-leave, .hinge-out-from-left.mui-leave, .hinge-out-from-middle-x.mui-leave, .hinge-out-from-middle-y.mui-leave, .scale-in-up.mui-enter, .scale-in-down.mui-enter, .scale-out-up.mui-leave, .scale-out-down.mui-leave, .spin-in.mui-enter, .spin-out.mui-leave, .spin-in-ccw.mui-enter, .spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear; }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
   * Define consistent border, margin, and padding.
   */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

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

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

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

td,
th {
  padding: 0; }

.foundation-mq {
  font-family: "small=20em&medium=48em&large=64.125em&xlarge=100em&xxlarge=90em"; }

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

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

body {
  padding: 0;
  margin: 0;
  font-family: "LatoWeb", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #501300;
  background: none;
  -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: 2px; }

select {
  width: 100%;
  border-radius: 2px; }

#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: 2px;
  line-height: 1; }

.row {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  .row::before, .row::after {
    content: ' ';
    display: table; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row .row {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }
    .row .row.collapse {
      margin-left: 0;
      margin-right: 0; }
  @media screen and (min-width: 20em) {
    .row.small-collapse > .column, .row.small-collapse > .columns {
      padding-left: 0;
      padding-right: 0; }
    .row.small-uncollapse > .column, .row.small-uncollapse > .columns {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 48em) {
    .row.medium-collapse > .column, .row.medium-collapse > .columns {
      padding-left: 0;
      padding-right: 0; }
    .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 64.125em) {
    .row.large-collapse > .column, .row.large-collapse > .columns {
      padding-left: 0;
      padding-right: 0; }
    .row.large-uncollapse > .column, .row.large-uncollapse > .columns {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  .row.expanded {
    max-width: none; }

.column, .columns {
  width: 100%;
  float: left;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child: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; }

@media screen and (min-width: 20em) {
  .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; }
  .column.small-centered, .small-centered.columns {
    float: none;
    margin-left: auto;
    margin-right: auto; }
  .small-uncenter,
  .small-push-0,
  .small-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0; } }

@media screen and (min-width: 48em) {
  .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; }
  .column.medium-centered, .medium-centered.columns {
    float: none;
    margin-left: auto;
    margin-right: auto; }
  .medium-uncenter,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0; } }

@media screen and (min-width: 64.125em) {
  .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; }
  .column.large-centered, .large-centered.columns {
    float: none;
    margin-left: auto;
    margin-right: auto; }
  .large-uncenter,
  .large-push-0,
  .large-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0; } }

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

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

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

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

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

h1,
h2,
h3,
h4,
.conditions li,
h5,
h6 {
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  color: #ae946e;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small, .conditions li small,
  h5 small,
  h6 small {
    color: #eee9e3;
    line-height: 0; }

@media screen and (min-width: 20em) {
  h1 {
    font-size: 1.875rem; }
  h2 {
    font-size: 1.5625rem; }
  h3 {
    font-size: 1.125rem; }
  h4, .conditions li {
    font-size: 1.0625rem; }
  h5 {
    font-size: 1rem; }
  h6 {
    font-size: 0.9375rem; } }

@media screen and (min-width: 48em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 1.625rem; }
  h3 {
    font-size: 1.125rem; }
  h4, .conditions li {
    font-size: 0.875rem; }
  h5 {
    font-size: 0.75rem; }
  h6 {
    font-size: 0.625rem; } }

@media screen and (min-width: 64.125em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 1.875rem; }
  h3 {
    font-size: 1.125rem; }
  h4, .conditions li {
    font-size: 0.875rem; }
  h5 {
    font-size: 0.75rem; }
  h6 {
    font-size: 0.625rem; } }

a {
  color: #501300;
  text-decoration: underline;
  line-height: inherit;
  cursor: pointer; }
  a:hover, a:focus {
    color: #997e15; }
  a img {
    border: 0; }

hr {
  max-width: 100%;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #eee9e3;
  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: 1rem; }

ol {
  margin-left: 1rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
  list-style-type: inherit; }

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

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

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

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

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

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

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

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

@media screen and (min-width: 20em) {
  .text-left, .medium-down-centered {
    text-align: left; }
  .text-right {
    text-align: right; }
  .text-center, .medium-down-centered, .guest-count .column, .guest-count .columns, .hotel .column .location, .hotel .columns .location {
    text-align: center; }
  .text-justify {
    text-align: justify; } }

@media screen and (min-width: 48em) {
  .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: 64.125em) {
  .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 #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: all 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 2px;
  padding: 0.85em 1em;
  margin: 0 1rem 1rem 0;
  font-size: 0.9rem; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background: #ae946e;
    color: none; }
    .button.primary:hover, .button.primary:focus {
      background: #927851;
      color: none; }
  .button.secondary {
    background: #501300;
    color: none; }
    .button.secondary:hover, .button.secondary:focus {
      background: #400f00;
      color: none; }
  .button.success {
    background: #3adb76;
    color: none; }
    .button.success:hover, .button.success:focus {
      background: #22bb5b;
      color: none; }
  .button.alert {
    background: #ff0000;
    color: none; }
    .button.alert:hover, .button.alert:focus {
      background: #cc0000;
      color: none; }
  .button.warning {
    background: #ffae00;
    color: none; }
    .button.warning:hover, .button.warning:focus {
      background: #cc8b00;
      color: none; }
  .button.hollow {
    border: 1px solid #ae946e;
    color: #ae946e; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #5b4b33;
      color: #5b4b33; }
    .button.hollow.primary {
      border: 1px solid #ae946e;
      color: #ae946e; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #5b4b33;
        color: #5b4b33; }
    .button.hollow.secondary {
      border: 1px solid #501300;
      color: #501300; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #280a00;
        color: #280a00; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.alert {
      border: 1px solid #ff0000;
      color: #ff0000; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: maroon;
        color: maroon; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed;
    pointer-events: none; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fff transparent transparent;
    border-top-style: solid;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: 0.2em; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.3125rem;
  padding: 0.5rem;
  border: 1px solid #fff;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 0.875rem;
  color: #501300;
  background-color: #fff;
  box-shadow: none;
  border-radius: 2px;
  -webkit-appearance: none;
  -moz-appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    border: 1px solid #fff;
    background: #fff;
    outline: none;
    box-shadow: none; }

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

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

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

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

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

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

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

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

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

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > *:first-child {
    border-radius: 2px 0 0 2px; }
  .input-group > *:last-child > * {
    border-radius: 0 2px 2px 0; }

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

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

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

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

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

legend {
  margin-bottom: 0.5rem; }

.fieldset {
  border: none;
  padding: 0;
  margin: 1.125rem 0; }
  .fieldset legend {
    background: none;
    padding: 0 0.1875rem;
    margin: 0;
    margin-left: -0.1875rem; }

select {
  height: 2.3125rem;
  padding: 0.5rem;
  border: 1px solid #fff;
  border-radius: 2px;
  margin: 0 0 1rem;
  font-size: 0.875rem;
  font-family: inherit;
  line-height: normal;
  color: #501300;
  background-color: #fff;
  border-radius: 2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb(51, 51, 51)"></polygon></svg>');
  background-size: 9px 6px;
  background-position: right 0.5rem center;
  background-repeat: no-repeat; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #f9f9f9;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto; }

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

.is-invalid-label {
  color: none; }

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 64.0625em), screen and (min-width: 100em) {
  .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; }

.accordion {
  list-style-type: none;
  background: #fff;
  border: 1px solid #f9f9f9;
  border-radius: 2px;
  margin-left: 0; }

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

.accordion-content {
  padding: 1.25rem 1rem;
  display: none;
  border-bottom: 1px solid #f9f9f9; }

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #ae946e;
  color: #fff; }
  .badge.secondary {
    background: #501300;
    color: #fff; }
  .badge.success {
    background: #3adb76;
    color: #fff; }
  .badge.alert {
    background: #ff0000;
    color: #fff; }
  .badge.warning {
    background: #ffae00;
    color: #fff; }

.breadcrumbs {
  list-style: none;
  margin: 0 0 1rem 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    content: ' ';
    display: table; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    color: #9f9f9f;
    font-size: 0.75rem;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      color: #eee9e3;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px;
      opacity: 1; }
  .breadcrumbs a {
    color: #9f9f9f; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #f9f9f9; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0.9rem; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    float: left;
    margin: 0;
    font-size: inherit; }
    .button-group .button:not(:last-child) {
      border-right: 1px solid none; }
  .button-group.tiny {
    font-size: 0.6rem; }
  .button-group.small {
    font-size: 0.75rem; }
  .button-group.large {
    font-size: 1.25rem; }
  .button-group.expanded .button:nth-last-child(2):first-child,
  .button-group.expanded .button:nth-last-child(2):first-child ~ .button {
    width: 50%; }
  .button-group.expanded .button:nth-last-child(3):first-child,
  .button-group.expanded .button:nth-last-child(3):first-child ~ .button {
    width: 33.33333%; }
  .button-group.expanded .button:nth-last-child(4):first-child,
  .button-group.expanded .button:nth-last-child(4):first-child ~ .button {
    width: 25%; }
  .button-group.expanded .button:nth-last-child(5):first-child,
  .button-group.expanded .button:nth-last-child(5):first-child ~ .button {
    width: 20%; }
  .button-group.expanded .button:nth-last-child(6):first-child,
  .button-group.expanded .button:nth-last-child(6):first-child ~ .button {
    width: 16.66667%; }
  .button-group.primary .button {
    background: #ae946e;
    color: none; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background: #927851;
      color: none; }
  .button-group.secondary .button {
    background: #501300;
    color: none; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background: #400f00;
      color: none; }
  .button-group.success .button {
    background: #3adb76;
    color: none; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background: #22bb5b;
      color: none; }
  .button-group.alert .button {
    background: #ff0000;
    color: none; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background: #cc0000;
      color: none; }
  .button-group.warning .button {
    background: #ffae00;
    color: none; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background: #cc8b00;
      color: none; }
  .button-group.stacked .button, .button-group.stacked-for-small .button {
    width: 100%;
    border-right: 0; }
  @media screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      width: auto; }
      .button-group.stacked-for-small .button:not(:last-child) {
        border-right: 1px solid none; } }

.callout {
  margin: 0;
  padding: 1rem;
  border: 0;
  border-radius: 2px;
  position: relative;
  color: #fff;
  background-color: #cf7019; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #ae946e; }
  .callout.secondary {
    background-color: #501300; }
  .callout.success {
    background-color: #3adb76; }
  .callout.alert {
    background-color: red; }
  .callout.warning {
    background-color: #ffae00; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

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

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

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  height: 100%;
  width: 100%;
  background: #fff;
  transition: transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -ms-transform: translateX(-100%);
        transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -ms-transform: translateX(100%);
        transform: translateX(100%); }

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

.js-drilldown-back::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent #ae946e transparent transparent;
  border-right-style: solid;
  float: left;
  margin-right: 0.75rem;
  margin-left: 0.6rem;
  margin-top: 14px; }

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

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

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

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

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

.dropdown.menu .is-dropdown-submenu-parent {
  position: relative; }
  .dropdown.menu .is-dropdown-submenu-parent a::after {
    float: right;
    margin-top: 3px;
    margin-left: 10px; }
  .dropdown.menu .is-dropdown-submenu-parent.is-down-arrow a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu .is-dropdown-submenu-parent.is-down-arrow > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #501300 transparent transparent;
    border-top-style: solid;
    position: absolute;
    top: 0.825rem;
    right: 5px; }
  .dropdown.menu .is-dropdown-submenu-parent.is-left-arrow > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #501300 transparent transparent;
    border-right-style: solid;
    float: left;
    margin-left: 0;
    margin-right: 10px; }
  .dropdown.menu .is-dropdown-submenu-parent.is-right-arrow > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #501300;
    border-left-style: solid; }
  .dropdown.menu .is-dropdown-submenu-parent.is-left-arrow.opens-inner .submenu {
    right: 0;
    left: auto; }
  .dropdown.menu .is-dropdown-submenu-parent.is-right-arrow.opens-inner .submenu {
    left: 0;
    right: auto; }
  .dropdown.menu .is-dropdown-submenu-parent.opens-inner .submenu {
    top: 100%; }

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

.dropdown.menu .submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fff;
  border: 1px solid #eee9e3; }
  .dropdown.menu .submenu > li {
    width: 100%; }
  .dropdown.menu .submenu.first-sub {
    top: 100%;
    left: 0;
    right: auto; }
  .dropdown.menu .submenu:not(.js-dropdown-nohover) > .is-dropdown-submenu-parent:hover > .dropdown.menu .submenu, .dropdown.menu .submenu.js-dropdown-active {
    display: block; }

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

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

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }
  .is-dropdown-menu.vertical > li .submenu {
    top: 0;
    left: 100%; }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 2px;
  background: #ae946e;
  color: #fff; }
  .label.secondary {
    background: #501300;
    color: #fff; }
  .label.success {
    background: #3adb76;
    color: #fff; }
  .label.alert {
    background: #ff0000;
    color: #fff; }
  .label.warning {
    background: #ffae00;
    color: #fff; }

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

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not( + .media-object-section:first-child) {
    padding-left: 1rem; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

.menu {
  margin: 0;
  list-style-type: none; }
  .menu > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li:not(.menu-text) > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a > img,
  .menu > li > a > i {
    vertical-align: middle; }
  .menu > li > a > span {
    vertical-align: middle; }
  .menu > li > a > img,
  .menu > li > a > i {
    display: inline-block;
    margin-right: 0.25rem; }
  .menu > li {
    display: table-cell; }
  .menu.vertical > li {
    display: block; }
  @media screen and (min-width: 48em) {
    .menu.medium-horizontal > li {
      display: table-cell; }
    .menu.medium-vertical > li {
      display: block; } }
  @media screen and (min-width: 64.125em) {
    .menu.large-horizontal > li {
      display: table-cell; }
    .menu.large-vertical > li {
      display: block; } }
  .menu.simple a {
    padding: 0;
    margin-right: 1rem; }
  .menu.align-right > li {
    float: right; }
  .menu.expanded {
    display: table;
    width: 100%; }
    .menu.expanded > li:nth-last-child(2):first-child,
    .menu.expanded > li:nth-last-child(2):first-child ~ li {
      width: 50%; }
    .menu.expanded > li:nth-last-child(3):first-child,
    .menu.expanded > li:nth-last-child(3):first-child ~ li {
      width: 33.33333%; }
    .menu.expanded > li:nth-last-child(4):first-child,
    .menu.expanded > li:nth-last-child(4):first-child ~ li {
      width: 25%; }
    .menu.expanded > li:nth-last-child(5):first-child,
    .menu.expanded > li:nth-last-child(5):first-child ~ li {
      width: 20%; }
    .menu.expanded > li:nth-last-child(6):first-child,
    .menu.expanded > li:nth-last-child(6):first-child ~ li {
      width: 16.66667%; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.icon-top > li > a {
    text-align: center; }
    .menu.icon-top > li > a > img,
    .menu.icon-top > li > a > i {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.nested {
    margin-left: 1rem; }

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

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

html,
body {
  height: 100%; }

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

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  transition: transform 0.5s ease; }
  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
    content: ' ';
    display: table; }
  .off-canvas-wrapper-inner::after {
    clear: both; }

.off-canvas-content,
.main-content {
  min-height: 100%;
  background: none;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  z-index: 1; }

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

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

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fff; }
  [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(0, 0, 0, 0.5); }

.orbit-previous {
  left: 0; }

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    content: ' ';
    display: table; }
  .pagination::after {
    clear: both; }
  .pagination li {
    font-size: 0.875rem;
    margin-right: 0.0625rem;
    display: none;
    border-radius: 2px; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    color: #000;
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 2px; }
    .pagination a:hover,
    .pagination button:hover {
      background: #f9f9f9; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #ae946e;
    color: #fff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #eee9e3;
    cursor: default; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '…';
    padding: 0.1875rem 0.625rem;
    color: #000; }

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

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

.progress {
  background-color: #eee9e3;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 2px; }
  .progress.primary .progress-meter {
    background-color: #ae946e; }
  .progress.secondary .progress-meter {
    background-color: #501300; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.alert .progress-meter {
    background-color: #ff0000; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #ae946e;
  border-radius: 2px; }
  .progress-meter .progress-meter-text {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    margin: 0;
    font-size: 0.75rem;
    font-weight: bold;
    color: #fff;
    white-space: nowrap; }

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

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

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

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #eee9e3;
  margin: 100px auto 0 auto;
  background-color: #fff;
  border-radius: 2px;
  position: absolute;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media screen and (min-width: 48em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .reveal {
      width: 600px;
      max-width: 100%; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 48em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  @media screen and (min-width: 48em) {
    .reveal.tiny {
      width: 30%;
      max-width: 100%; } }
  @media screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 100%; } }
  @media screen and (min-width: 48em) {
    .reveal.large {
      width: 90%;
      max-width: 100%; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: none; }

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

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

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

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

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

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

.switch.tiny .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem; }

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 64.0625em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-y: scroll; }

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

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

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

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

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

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

.thumbnail {
  border: solid 4px #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: box-shadow 200ms ease-out;
  border-radius: 2px;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(174, 148, 110, 0.5); }

.title-bar {
  background: #000;
  color: #fff;
  padding: 0.5rem; }
  .title-bar::before, .title-bar::after {
    content: ' ';
    display: table; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.5rem; }

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

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

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

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

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

.tooltip {
  background-color: #000;
  color: #fff;
  font-size: 80%;
  padding: 0.75rem;
  position: absolute;
  z-index: 10;
  top: calc(100% + 0.6495rem);
  max-width: 10rem !important;
  border-radius: 2px; }
  .tooltip::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent #000;
    border-bottom-style: solid;
    bottom: 100%;
    position: absolute;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
  .tooltip.top::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: #000 transparent transparent;
    border-top-style: solid;
    top: 100%;
    bottom: auto; }
  .tooltip.left::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent transparent #000;
    border-left-style: solid;
    bottom: auto;
    left: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
  .tooltip.right::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent #000 transparent transparent;
    border-right-style: solid;
    bottom: auto;
    left: auto;
    right: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    content: ' ';
    display: table; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #eee; }
  .top-bar a {
    color: #fff; }
  .top-bar input {
    width: 200px;
    margin-right: 1rem; }
  .top-bar input.button {
    width: auto; }

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

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

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

@media screen and (max-width: 47.9375em) {
  .top-bar-right {
    width: 100%; }
  .top-bar-left {
    width: 100%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.accordion-title {
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
  font-size: 14px;
  letter-spacing: 3;
  text-transform: uppercase; }
  .accordion-title:before {
    content: "\e80e";
    font-family: "fontello";
    font-size: 20px;
    letter-spacing: 3;
    text-transform: uppercase;
    font-weight: bold; }

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

.accordion {
  background: none;
  margin-bottom: 0; }
  .accordion a {
    border-bottom: 1px solid rgba(174, 148, 110, 0.3); }

.inner-accordion {
  padding: 0; }
  .inner-accordion .accordion-item {
    font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
    font-size: 14px;
    letter-spacing: 3;
    text-transform: uppercase; }
  .inner-accordion li:last-child a {
    border: 0; }
  .inner-accordion li:last-child .accordion-content ul {
    border-top: 1px solid rgba(174, 148, 110, 0.3); }
  .inner-accordion li:last-child .accordion-content li a {
    border-bottom: 1px solid rgba(174, 148, 110, 0.3); }
  .inner-accordion .accordion {
    border-top: 1px solid rgba(174, 148, 110, 0.3); }

.accordion-item {
  background: rgba(255, 255, 255, 0.9); }

.second-tier-menu-comp .accordion-content {
  padding: 0; }
  .second-tier-menu-comp .accordion-content li {
    margin: 0; }
  .second-tier-menu-comp .accordion-content a {
    display: block;
    font-family: "LatoLight", Helvetica, Roboto, Arial, sans-serif;
    font-size: 14px;
    letter-spacing: 3;
    text-transform: uppercase;
    padding: 10px 5px 10px 25px; }
  .second-tier-menu-comp .accordion-content .accordion a {
    display: block;
    font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
    padding: 10px 5px 10px 25px; }
  .second-tier-menu-comp .accordion-content .accordion .accordion-content {
    padding: 0; }
    .second-tier-menu-comp .accordion-content .accordion .accordion-content a {
      font-family: "LatoLight", Helvetica, Roboto, Arial, sans-serif; }
    .second-tier-menu-comp .accordion-content .accordion .accordion-content li:last-child a {
      border: 0; }

.breadcrumb-comp {
  margin: 0 15px; }
  .breadcrumb-comp .breadcrumbs {
    margin: 2.5rem 0 0 0; }
    @media screen and (min-width: 64.125em) {
      .breadcrumb-comp .breadcrumbs {
        margin: 2.5rem 0 1.25rem 0; } }
    .breadcrumb-comp .breadcrumbs a {
      font-family: "LatoWeb", Helvetica, Roboto, Arial, sans-serif;
      text-decoration: none; }
    .breadcrumb-comp .breadcrumbs li {
      display: none;
      font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif; }
      .breadcrumb-comp .breadcrumbs li:not(:last-child):after {
        content: ">";
        font-size: 12px;
        color: #9f9f9f;
        top: -1px; }
      @media screen and (min-width: 64.125em) {
        .breadcrumb-comp .breadcrumbs li {
          display: block; } }

.datepicker {
  display: none;
  position: absolute;
  padding: 0;
  margin-top: 24px;
  margin-left: -4%;
  direction: ltr; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .datepicker {
      margin-left: -7%; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .datepicker {
      margin-left: 0; } }
  .datepicker [class^="icon-"] {
    font-size: 18px; }

.datepicker.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
  float: left;
  display: none;
  min-width: 160px;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  color: #ae946e;
  font-size: 13px;
  line-height: 18px;
  margin-top: 0; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .datepicker.dropdown-menu {
      position: absolute;
      width: 100%;
      left: 0;
      margin-top: 0; } }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .datepicker.dropdown-menu {
      margin-top: 23px; } }

.datepicker.dropdown-menu th {
  padding: 6px 12px; }

.datepicker.dropdown-menu td {
  padding: 6px 12px; }

.datepicker table {
  border: 0;
  margin: 0;
  width: auto; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .datepicker table {
      width: 100%; } }

.datepicker table tr td span {
  display: block;
  width: auto;
  height: 40px;
  line-height: 40px;
  float: none;
  margin: 1%;
  cursor: pointer; }

.datepicker td {
  text-align: center;
  width: auto;
  height: auto;
  border: 0;
  font-size: 14px;
  padding: 4px 8px;
  cursor: pointer; }

.datepicker td.old, .datepicker td.new {
  color: rgba(174, 148, 110, 0.4); }

.datepicker td span.active {
  color: #501300;
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif; }

.datepicker td.day.disabled {
  color: #eee;
  cursor: default; }

.datepicker th {
  text-align: center;
  width: 20px;
  height: 20px;
  border: 0;
  font-size: 12px;
  padding: 4px 8px;
  cursor: pointer; }

.datepicker th.date-switch {
  width: 145px; }

.datepicker th span.active {
  color: #501300;
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif; }

.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle; }

.datepicker.days div.datepicker-days {
  display: block; }

.datepicker.months div.datepicker-months {
  display: block; }

.datepicker.years div.datepicker-years {
  display: block; }

.datepicker thead tr:first-child th {
  cursor: pointer; }

.datepicker thead tr:first-child th.cw {
  cursor: default;
  background-color: transparent; }

.datepicker tfoot tr:first-child th {
  cursor: pointer; }

.datepicker-inline {
  width: 220px; }

.datepicker-rtl {
  direction: rtl; }

.datepicker-rtl table tr td span {
  float: right; }

.datepicker-dropdown {
  top: 0;
  left: 0; }

.datepicker-dropdown:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: -7px;
  left: 6px; }

.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  position: absolute;
  top: -6px;
  left: 7px; }

.datepicker > div,
.datepicker-dropdown::before,
.datepicker-dropdown::after {
  display: none; }

.datepicker-close {
  position: absolute;
  top: -30px;
  right: 0;
  width: 15px;
  height: 30px;
  padding: 0;
  display: none; }

.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent; }

/*# sourceMappingURL=foundation-datepicker.css.map */
.table-condensed thead,
.table-condensed tbody,
.table-condensed tfoot {
  border: none;
  background: none; }

.datepicker-months {
  width: 225px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .datepicker-months {
      width: auto; } }
  .datepicker-months table {
    width: 100%; }
    .datepicker-months table tr td span {
      display: inline-block;
      width: 30%; }
      .datepicker-months table tr td span:first-child {
        border-top: none; }
    .datepicker-months table tr th {
      height: 50px; }
    .datepicker-months table thead {
      border-bottom: 1px solid rgba(174, 148, 110, 0.2); }

.datepicker-days .day.active {
  color: #501300;
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif; }

.datepicker-days .dow {
  border-top: 1px solid rgba(174, 148, 110, 0.2);
  color: #ae946e; }

.datepicker-days .date-switch {
  text-transform: uppercase; }

.dp {
  cursor: pointer; }

#startDate,
#endDate {
  display: none; }

/* Webfont: Lato-Bold */
@font-face {
  font-family: 'LatoWebBold';
  src: url("../fonts/Lato-Bold.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Lato-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Lato-Bold.woff") format("woff"), url("../fonts/Lato-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
  text-rendering: optimizeLegibility; }

/* Webfont: Lato-BoldItalic */
@font-face {
  font-family: 'LatoWebBold';
  src: url("../fonts/Lato-BoldItalic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Lato-BoldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Lato-BoldItalic.woff") format("woff"), url("../fonts/Lato-BoldItalic.ttf") format("truetype");
  font-style: italic;
  font-weight: normal;
  text-rendering: optimizeLegibility; }

/* Webfont: Lato-Light */
@font-face {
  font-family: 'LatoWebLight';
  src: url("../fonts/Lato-Light.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Lato-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Lato-Light.woff") format("woff"), url("../fonts/Lato-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
  text-rendering: optimizeLegibility; }

/* Webfont: Lato-LightItalic */
@font-face {
  font-family: 'LatoWebLight';
  src: url("../fonts/Lato-LightItalic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Lato-LightItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/Lato-LightItalic.woff") format("woff"), url("../fonts/Lato-LightItalic.ttf") format("truetype");
  font-style: italic;
  font-weight: normal;
  text-rendering: optimizeLegibility; }

/* Webfont: Lato-Regular */
@font-face {
  font-family: 'LatoWeb';
  src: url("../fonts/Lato-Regular.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Lato-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Lato-Regular.woff") format("woff"), url("../fonts/Lato-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: normal;
  text-rendering: optimizeLegibility; }

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

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

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

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

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

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

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

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?22555549#fontello') format('svg');
  }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.weather-font, #weather .icon-0:before, #weather .icon-1:before, #weather .icon-2:before, #weather .icon-3:before, #weather .icon-4:before, #weather .icon-5:before, #weather .icon-6:before, #weather .icon-7:before, #weather .icon-8:before, #weather .icon-9:before, #weather .icon-10:before, #weather .icon-11:before, #weather .icon-12:before, #weather .icon-13:before, #weather .icon-14:before, #weather .icon-15:before, #weather .icon-16:before, #weather .icon-17:before, #weather .icon-18:before, #weather .icon-19:before, #weather .icon-20:before, #weather .icon-21:before, #weather .icon-22:before, #weather .icon-23:before, #weather .icon-24:before, #weather .icon-25:before, #weather .icon-26:before, #weather .icon-27:before, #weather .icon-28:before, #weather .icon-29:before, #weather .icon-30:before, #weather .icon-31:before, #weather .icon-32:before, #weather .icon-33:before, #weather .icon-34:before, #weather .icon-35:before, #weather .icon-36:before, #weather .icon-37:before, #weather .icon-38:before, #weather .icon-39:before, #weather .icon-40:before, #weather .icon-41:before, #weather .icon-42:before, #weather .icon-43:before, #weather .icon-44:before, #weather .icon-45:before, #weather .icon-46:before, #weather .icon-47:before {
  font-family: weather;
  font-size: 24px;
  font-weight: normal;
  font-style: normal;
  line-height: 1.0; }

#weather .icon-0:before {
  content: ":"; }

#weather .icon-1:before {
  content: "p"; }

#weather .icon-2:before {
  content: "S"; }

#weather .icon-3:before {
  content: "Q"; }

#weather .icon-4:before {
  content: "S"; }

#weather .icon-5:before {
  content: "W"; }

#weather .icon-6:before {
  content: "W"; }

#weather .icon-7:before {
  content: "W"; }

#weather .icon-8:before {
  content: "W"; }

#weather .icon-9:before {
  content: "I"; }

#weather .icon-10:before {
  content: "W"; }

#weather .icon-11:before {
  content: "I"; }

#weather .icon-12:before {
  content: "I"; }

#weather .icon-13:before {
  content: "I"; }

#weather .icon-14:before {
  content: "I"; }

#weather .icon-15:before {
  content: "W"; }

#weather .icon-16:before {
  content: "I"; }

#weather .icon-17:before {
  content: "W"; }

#weather .icon-18:before {
  content: "U"; }

#weather .icon-19:before {
  content: "Z"; }

#weather .icon-20:before {
  content: "Z"; }

#weather .icon-21:before {
  content: "Z"; }

#weather .icon-22:before {
  content: "Z"; }

#weather .icon-23:before {
  content: "Z"; }

#weather .icon-24:before {
  content: "E"; }

#weather .icon-25:before {
  content: "E"; }

#weather .icon-26:before {
  content: "3"; }

#weather .icon-27:before {
  content: "a"; }

#weather .icon-28:before {
  content: "A"; }

#weather .icon-29:before {
  content: "a"; }

#weather .icon-30:before {
  content: "A"; }

#weather .icon-31:before {
  content: "6"; }

#weather .icon-32:before {
  content: "1"; }

#weather .icon-33:before {
  content: "6"; }

#weather .icon-34:before {
  content: "1"; }

#weather .icon-35:before {
  content: "W"; }

#weather .icon-36:before {
  content: "1"; }

#weather .icon-37:before {
  content: "S"; }

#weather .icon-38:before {
  content: "S"; }

#weather .icon-39:before {
  content: "S"; }

#weather .icon-40:before {
  content: "M"; }

#weather .icon-41:before {
  content: "W"; }

#weather .icon-42:before {
  content: "I"; }

#weather .icon-43:before {
  content: "W"; }

#weather .icon-44:before {
  content: "a"; }

#weather .icon-45:before {
  content: "S"; }

#weather .icon-46:before {
  content: "U"; }

#weather .icon-47:before {
  content: "S"; }

.icon-spin6:before {
  content: '\e800'; }

/* '' */
.icon-facebook:before {
  content: '\e801'; }

/* '' */
.icon-camera:before {
  content: '\e802'; }

/* '' */
.icon-ccw:before {
  content: '\e803'; }

/* '' */
.icon-thumbs-up:before {
  content: '\e804'; }

/* '' */
.icon-doc:before {
  content: '\e805'; }

/* '' */
.icon-download:before {
  content: '\e806'; }

/* '' */
.icon-plus-circled:before {
  content: '\e807'; }

/* '' */
.icon-ok:before {
  content: '\e808'; }

/* '' */
.icon-flag:before {
  content: '\e809'; }

/* '' */
.icon-pencil:before {
  content: '\e80a'; }

/* '' */
.icon-menu:before {
  content: '\e80b'; }

/* '' */
.icon-clock:before {
  content: '\e80c'; }

/* '' */
.icon-angle-up:before {
  content: '\e80d'; }

/* '' */
.icon-angle-down:before {
  content: '\e80e'; }

/* '' */
.icon-play-circled:before {
  content: '\e80f'; }

/* '' */
.icon-sun:before {
  content: '\e810'; }

/* '' */
.icon-tag:before {
  content: '\e811'; }

/* '' */
.icon-leaf:before {
  content: '\e812'; }

/* '' */
.icon-suitcase:before {
  content: '\e813'; }

/* '' */
.icon-megaphone:before {
  content: '\e814'; }

/* '' */
.icon-instagram-filled:before {
  content: '\e815'; }

/* '' */
.icon-twitter-bird:before {
  content: '\e816'; }

/* '' */
.icon-left-open-big:before {
  content: '\e817'; }

/* '' */
.icon-right-open-big:before {
  content: '\e818'; }

/* '' */
.icon-food:before {
  content: '\e819'; }

/* '' */
.icon-bed:before {
  content: '\e81a'; }

/* '' */
.icon-users:before {
  content: '\e81b'; }

/* '' */
.icon-rain-inv:before {
  content: '\e81c'; }

/* '' */
.icon-cancel:before, .back-nav .back-button:before {
  content: '\e81d'; }

/* '' */
.icon-phone:before {
  content: '\e81e'; }

/* '' */
.icon-flash:before {
  content: '\e81f'; }

/* '' */
.icon-mail:before {
  content: '\e820'; }

/* '' */
.icon-fax:before {
  content: '\e821'; }

/* '' */
.icon-dollar:before {
  content: '\e822'; }

/* '' */
.icon-youtube:before {
  content: '\e823'; }

/* '' */
.icon-location:before {
  content: '\e824'; }

/* '' */
.icon-print:before {
  content: '\e825'; }

/* '' */
.icon-pinterest-circled:before {
  content: '\e826'; }

/* '' */
.icon-glass:before {
  content: '\e827'; }

/* '' */
.icon-plus:before {
  content: '\e828'; }

/* '' */
.icon-trip-advisor:before {
  content: '\e829'; }

/* '' */
.icon-signal:before {
  content: '\e82a'; }

/* '' */
.icon-flight:before {
  content: '\e82b'; }

/* '' */
/*
   Animation example, for spinners
*/
.animate-spin {
  animation: spin 1.2s infinite linear;
  display: inline-block; }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(359deg); } }

.header-comp {
  clear: both;
  position: fixed;
  top: 0;
  width: 100%; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .header-comp .wide-margin {
      padding-left: 60px;
      padding-right: 60px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .header-comp .top-padded {
      padding: 0; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .header-comp .header-container {
      padding: 0; } }
  .header-comp .header-container h1 {
    white-space: nowrap; }
    .header-comp .header-container h1 .logo {
      display: inline-block;
      margin: 10px 0 0 15px; }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .header-comp .header-container h1 .logo {
          height: 58px;
          line-height: 54px;
          margin: 2px;
          max-width: 50%; }
          .header-comp .header-container h1 .logo img {
            max-height: 56px;
            max-width: 100%; } }
  .header-comp .header-container .main-header {
    background: #fff;
    height: 92px; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .header-comp .header-container .main-header {
        height: 62px; }
        .header-comp .header-container .main-header h1 {
          letter-spacing: 0; } }

.main-content {
  margin-top: 92px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .main-content {
      margin-top: 62px; } }

.back-nav {
  top: 112px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .back-nav {
      top: 82px; } }

.full-height-menu .header-comp {
  position: relative; }

.full-height-menu .main-content {
  display: none; }

.stick {
  top: 92px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .stick {
      top: 62px; } }

a[id]:before,
h1[id]:before,
h2[id]:before,
h3[id]:before,
h4[id]:before,
.conditions li[id]:before {
  display: block;
  content: " ";
  height: 92px;
  margin-top: -92px;
  visibility: hidden;
  transition: all 8s; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    a[id]:before,
    h1[id]:before,
    h2[id]:before,
    h3[id]:before,
    h4[id]:before,
    .conditions li[id]:before {
      margin-top: -62px;
      height: 62px; } }

a[id]:hover:before,
h1[id]:hover:before,
h2[id]:hover:before,
h3[id]:hover:before,
h4[id]:hover:before,
.conditions li[id]:hover:before {
  /* crazy hover over above link fix */
  height: 0;
  margin-top: 0;
  transition-delay: -8s; }

.bring-to-front {
  z-index: 1050; }

.send-to-back, .list-item-comp img {
  z-index: 0; }

.wide-margin {
  width: 970px;
  margin: auto; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .wide-margin {
      width: auto; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .wide-margin {
      width: auto; } }

.sub-margin {
  max-width: 1164px;
  margin: auto; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .sub-margin {
      width: auto; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .sub-margin {
      width: auto; } }

.wifi-margin {
  width: 600px;
  margin: auto;
  top: 50%;
  left: 50%;
  position: absolute;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .wifi-margin {
      width: auto; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .wifi-margin {
      width: auto; } }

.dimmed-bg {
  background: #f9f9f9; }

.no-line {
  text-decoration: none; }

.capitalized {
  text-transform: capitalize; }

.height-tall li {
  margin-bottom: 1rem; }

.height-medium li {
  margin-bottom: 0.5rem; }

.stretch-on-small {
  width: 100%;
  margin: 0; }

.vert-pad {
  padding: 2.5rem 0 3.75rem; }

.vert-medium-pad {
  padding: 1.25rem 0; }

.left-col {
  margin: 0 0 0 1rem; }

.form-gap {
  padding: 0 0.9375rem 0 0; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .form-gap {
      padding: 0; } }

.right-col {
  margin: 0 1rem 0 0; }

.right-pad {
  padding: 0 1.5625rem 0 0; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .right-pad {
      padding: 0; } }

.lightgray {
  background: #f9f9f9; }

.bottom-pad {
  padding: 0 0 2.5rem; }

.whiten {
  background: #fff; }

.gapped-btm {
  margin: 0 0 20px; }

.error-msg {
  color: #ff0000;
  font-size: 12px; }

.comp-margin-base {
  margin: 0 0 3.125rem; }

@media screen and (min-width: 48em) and (max-width: 64.0625em) {
  .home .wide-margin {
    padding: 0 60px; } }

.home .wide-margin h2 {
  line-height: 1.5; }

@media screen and (min-width: 48em) and (max-width: 64.0625em) {
  .fullerton-stay > .wide-margin {
    padding: 0 60px; } }

@media screen and (min-width: 48em) and (max-width: 64.0625em) {
  .collapse-medium {
    margin: 0; } }

@media screen and (min-width: 48em) and (max-width: 64.0625em) {
  .collapse-medium .offer-header {
    margin: 0  0 10px 15px; } }

.visit-list .list-item-comp {
  height: 500px; }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .video-container {
    margin: 0; } }

@media screen and (min-width: 48em) and (max-width: 64.0625em) {
  .video-container {
    margin: 60px 0 0; } }

.sub-content-text {
  padding: 0 20px 0 0; }
  @media screen and (max-width: 39.9375em) {
    .sub-content-text {
      padding: 0 0 60px; } }

.sub-content-wrapper {
  margin: 0 0 40px 0; }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .sub-content-image {
    margin: 0 0 40px;
    padding: 0; } }

@media screen and (min-width: 48em) and (max-width: 64.0625em) {
  .sub-content-image {
    margin: 0 auto 40px;
    padding: 0;
    width: 483px; } }

.top-padded {
  padding-top: 40px; }

.email-list .email {
  margin-bottom: 3.75rem; }

.email-list .phone {
  margin-bottom: 0.625rem; }
  .email-list .phone.last {
    margin-bottom: 1.5625rem; }

.email-list [class^="icon-"] {
  color: #ae946e; }

.large-uncollapse {
  padding-left: 10px;
  padding-right: 10px; }

body {
  background: #f9f9f9; }

.captcha {
  margin-bottom: 1.875rem; }

.form-terms-wrapper {
  width: 6%; }

.form-terms-text {
  width: 94%;
  font-size: 12px; }

::-webkit-input-placeholder {
  /* Safari, Chrome and Opera */
  color: #b7a07e; }

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

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

:-ms-input-placeholder {
  /* IE 10+ */
  color: #b7a07e; }

::-ms-input-placeholder {
  /* Edge */
  color: #b7a07e; }

:placeholder-shown {
  /* Standard one last! */
  color: #b7a07e; }

.wifi .orbit-caption {
  top: 55%;
  -ms-transform: translateY(-55%);
      transform: translateY(-55%); }
  .wifi .orbit-caption label {
    color: #fff; }

.wifi form {
  width: 450px;
  margin: auto; }
  @media screen and (max-width: 39.9375em) {
    .wifi form {
      width: auto; } }

.is-invalid-input {
  border: 1px solid #ff0000; }
  .is-invalid-input::-webkit-input-placeholder {
    /* Safari, Chrome and Opera */
    color: #ff0000; }
  .is-invalid-input:-moz-placeholder {
    /* Firefox 18- */
    color: #ff0000; }
  .is-invalid-input::-moz-placeholder {
    /* Firefox 19+ */
    color: #ff0000; }
  .is-invalid-input:-ms-input-placeholder {
    /* IE 10+ */
    color: #ff0000; }
  .is-invalid-input::-ms-input-placeholder {
    /* Edge */
    color: #ff0000; }
  .is-invalid-input:placeholder-shown {
    /* Standard one last! */
    color: #ff0000; }

.sitemap h4, .sitemap .conditions li, .conditions .sitemap li {
  text-transform: none;
  letter-spacing: 0.1rem; }

.sitemap ul {
  margin-bottom: 60px; }

.privacy h4, .privacy .conditions li, .conditions .privacy li {
  text-transform: none;
  letter-spacing: 0.1rem; }

.copyright {
  color: #ae946e;
  font-family: "optimabold", Helvetica, Roboto, Arial, sans-serif;
  font-size: 12px;
  margin: 10px 0 0; }

.careers ul {
  margin-bottom: 40px; }
  .careers ul li {
    margin-bottom: 10px; }

.awards form {
  margin-bottom: 40px; }

.newsroom form {
  margin-bottom: 40px; }

.splash-img {
  position: relative; }

.conditions li {
  display: inline-block;
  margin-right: 15px; }

.menu a.button {
  padding: 0 15px;
  line-height: 45px;
  margin-right: 15px; }

.contact-detail {
  font-size: 14px; }
  .contact-detail [class^="icon-"] {
    color: #ae946e; }
  .contact-detail li {
    margin-bottom: 20px; }
  .contact-detail h3 {
    margin-bottom: 20px; }

.main-content {
  margin-bottom: 120px; }

#list-stay .list-item-comp {
  margin-bottom: 0; }

.sticky-nav.stick {
  position: fixed;
  top: 0;
  margin: 0; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .sticky-nav.stick {
      position: static;
      margin: 0; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .sticky-nav.stick {
      position: static;
      margin: 0; } }

@media screen and (max-width: 64.0625em) {
  #sticky-nav {
    margin: 0 0 40px; } }

.amenities-list {
  margin: 0 0 40px 10px; }
  .amenities-list li {
    margin: 0 0 20px;
    font-size: 14px; }

@media screen and (max-width: 39.9375em) {
  .center-for-small-only {
    text-align: center; } }

.xp {
  padding-left: 0;
  padding-right: 0; }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .padded-content {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) and (max-width: 64.0625em) {
  .padded-content {
    padding-left: 3.75rem;
    padding-right: 3.75rem; } }

.article-header {
  margin: 2.5rem 0; }
  @media screen and (min-width: 64.125em) {
    .article-header {
      margin: 0 0 1rem; } }

.article-row {
  margin: 0 0 40px; }

.dropdown.menu.select-options {
  font-size: 14px;
  margin-bottom: 0.9375rem;
  /*text-transform: uppercase;*/
  letter-spacing: 1px;
  background: #fff;
  font-family: "LatoWeb", Helvetica, Roboto, Arial, sans-serif;
  border-radius: 2px; }
  .dropdown.menu.select-options .is-dropdown-submenu-parent {
    display: block; }
    .dropdown.menu.select-options .is-dropdown-submenu-parent.is-down-arrow > a {
      text-decoration: none;
      text-align: left;
      padding: 1rem; }
      .dropdown.menu.select-options .is-dropdown-submenu-parent.is-down-arrow > a:after {
        border: 0;
        content: "\e80e";
        font-family: "fontello";
        font-size: 18px;
        right: 0;
        width: 20px;
        height: 20px;
        top: 50%;
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%); }
        @media screen and (min-width: 20em) and (max-width: 47.9375em) {
          .dropdown.menu.select-options .is-dropdown-submenu-parent.is-down-arrow > a:after {
            font-size: 14px;
            right: -5px; } }

.dropdown.menu .submenu {
  border: 0;
  width: 100%;
  text-align: left; }
  .dropdown.menu .submenu a {
    background: #e5dcd0;
    color: #501300;
    text-decoration: none;
    border-bottom: 1px solid #fff; }
    .dropdown.menu .submenu a:hover {
      background: #501300;
      color: #fff; }

.dropdown.menu .option-value.is-invalid-input {
  color: #ff0000; }

.custom-calendar {
  position: absolute;
  top: 40px;
  z-index: 1; }
  .custom-calendar .months {
    border-top: 1px solid rgba(174, 148, 110, 0.3); }
    .custom-calendar .months ul {
      margin: 0; }
  .custom-calendar .month {
    display: inline-block;
    width: 21%;
    text-align: center;
    margin: 10px;
    font-size: 14px;
    color: #ae946e;
    cursor: pointer; }
    .custom-calendar .month.active {
      color: #501300;
      font-weight: bold; }
  .custom-calendar [class^="icon-"] {
    text-decoration: none; }
  .custom-calendar .year {
    font-size: 13px;
    font-weight: bold; }

.callout {
  position: relative;
  display: none;
  height: 75px;
  width: 100%;
  padding: 0;
  border-radius: 0; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .callout {
      height: auto;
      padding: 15px 0; } }
  .callout.show {
    display: table; }
  .callout .tabular {
    display: table-cell;
    vertical-align: middle; }
    .callout .tabular span {
      color: #fff;
      display: inline-block;
      font-size: 12px;
      line-height: 18px;
      letter-spacing: 1px;
      margin: 0 90px 0 135px; }
      @media screen and (min-width: 48em) and (max-width: 64.0625em) {
        .callout .tabular span {
          margin: 0 60px; } }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .callout .tabular span {
          margin: 0 40px; } }
    .callout .tabular p {
      color: #fff;
      display: inline-block;
      font-size: 12px;
      line-height: 18px;
      letter-spacing: 1px;
      margin: 0; }
  .callout .icon-cancel, .callout .back-nav .back-button, .back-nav .callout .back-button {
    color: #fff;
    font-size: 24px;
    position: absolute;
    top: 50%;
    -ms-transform: translate(0, -50%);
    /* IE 9 */
    /* Safari */
    transform: translate(0, -50%);
    /* Standard syntax */
    right: 30px; }
    @media screen and (min-width: 48em) and (max-width: 64.0625em) {
      .callout .icon-cancel, .callout .back-nav .back-button, .back-nav .callout .back-button {
        right: 20px; } }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .callout .icon-cancel, .callout .back-nav .back-button, .back-nav .callout .back-button {
        right: 8px; } }
  .callout .icon-megaphone {
    color: #fff;
    font-size: 18px;
    position: absolute;
    top: 50%;
    -ms-transform: translate(0, -50%);
    /* IE 9 */
    /* Safari */
    transform: translate(0, -50%);
    /* Standard syntax */
    left: 95px; }
    @media screen and (min-width: 48em) and (max-width: 64.0625em) {
      .callout .icon-megaphone {
        left: 20px; } }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .callout .icon-megaphone {
        left: 8px; } }
  .callout [class^="icon-"]:before {
    color: #fff; }

.button {
  color: #fff;
  font-family: 'LatoWebBold',  Helvetica, Roboto, Arial, sans-serif;
  font-size: 14px;
  letter-spacing: 0.3rem;
  margin: 0 0 1rem;
  min-width: 155px;
  text-decoration: none;
  text-transform: uppercase;
  outline: 0; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .button {
      min-width: 155px; } }
  .button .v-align {
    display: block;
    position: relative;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .button:hover {
    color: #fff;
    background: #997e15; }
  .button.active {
    color: #fff;
    background: #501300;
    outline: 0; }
    .button.active:hover {
      color: #997e15;
      border: 1px solid #997e15;
      outline: 0; }
    .button.active:focus {
      background: #501300;
      outline: 0; }
  .button [class^="icon-"]:before {
    color: #fff; }
  .button.primary:hover {
    color: #fff;
    background: #997e15; }
  .button.primary:focus {
    color: #fff;
    outline: 0; }
  .button.hollow.white {
    color: #fff;
    border-color: #fff; }
  .button.hollow:hover, .button.hollow:focus {
    color: #997e15;
    border-color: #997e15;
    background-color: none;
    outline: 0; }

.main-content .button {
  letter-spacing: 0.2rem; }

.load-more-button {
  background: #ebebeb;
  color: #ae946e;
  display: block;
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
  font-size: 14px;
  height: 45px;
  letter-spacing: 0.1rem;
  line-height: 45px;
  margin: 0;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%; }
  .load-more-button .icon-plus-1:before {
    font-size: 18px; }
  @media screen and (max-width: 39.9375em) {
    .load-more-button {
      margin: 20px 0 0; } }
  .load-more-button:hover {
    color: #997e15; }

.cancel-button {
  display: block;
  height: 45px;
  width: 45px;
  border: 2px solid rgba(174, 148, 110, 0.5);
  position: relative; }
  .cancel-button .icon-cancel, .cancel-button .back-nav .back-button, .back-nav .cancel-button .back-button {
    position: absolute;
    top: 52%;
    left: 52%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    .cancel-button .icon-cancel:before, .cancel-button .back-nav .back-button:before, .back-nav .cancel-button .back-button:before {
      font-size: 24px; }

.read-more-button {
  color: #fff;
  display: block;
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
  font-size: 14px;
  letter-spacing: 0.1rem;
  text-decoration: none;
  text-transform: uppercase; }
  .read-more-button:hover {
    color: #997e15; }
    .read-more-button:hover:before {
      color: #997e15; }
  .read-more-button .icon-right-open-big:hover:before {
    color: #997e15; }

.back-to-top-comp .return-button {
  bottom: 20px;
  color: #ae946e;
  display: block;
  font-size: 12px;
  line-height: 12px;
  margin: 0;
  position: fixed;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  right: 20px;
  /* image replacement properties */
  overflow: hidden;
  width: 50px;
  visibility: hidden;
  opacity: 0;
  transition: opacity .3s 0s, visibility 0s .3s; }

.back-to-top-comp .icon-angle-up {
  display: block;
  font-size: 20px;
  font-weight: bold; }

.back-to-top-comp .return-button.cd-is-visible, .back-to-top-comp .return-button.cd-fade-out, .back-to-top-comp .no-touch .return-button:hover {
  transition: opacity .3s 0s, visibility 0s 0s; }

.back-to-top-comp .return-button.cd-is-visible {
  /* the button becomes visible */
  visibility: visible;
  opacity: 1; }

.back-to-top-comp .no-touch .return-button:hover {
  opacity: 1; }

.submit-btn .button {
  margin: 0 0 20px; }

.columninfographic {
  margin: 0 0 50px 0; }

.infographic-comp {
  margin: 0 0 40px; }
  .infographic-comp .list-item {
    border-radius: 2px;
    border: 1px solid #ae946e;
    color: #ae946e;
    font-size: 12px;
    text-transform: uppercase;
    text-align: center;
    position: relative;
    margin-bottom: 1rem;
    font-size: 12px;
    min-height: 145px;
    width: auto; }
    @media screen and (min-width: 48em) and (max-width: 64.0625em) {
      .infographic-comp .list-item {
        font-size: 13px;
        min-height: 158px;
        width: auto; } }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .infographic-comp .list-item {
        font-size: 7px;
        min-height: 90px;
        width: auto; } }
    .infographic-comp .list-item a {
      color: #ae946e;
      text-decoration: none;
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      display: block;
      cursor: default; }
    .infographic-comp .list-item .item-details {
      display: block;
      position: absolute;
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      width: 100%;
      padding: 0 10px; }
    .infographic-comp .list-item [class^="icon-"] {
      display: block;
      font-size: 24px;
      margin: 0 0 10px; }
      @media screen and (min-width: 48em) and (max-width: 64.0625em) {
        .infographic-comp .list-item [class^="icon-"] {
          font-size: 26px; } }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .infographic-comp .list-item [class^="icon-"] {
          font-size: 18px; } }
    .infographic-comp .list-item.clickable {
      border: 1px solid #997e15;
      color: #997e15;
      position: relative; }
      .infographic-comp .list-item.clickable a {
        color: #997e15;
        cursor: pointer; }
      .infographic-comp .list-item.clickable:after {
        content: "+";
        font-size: 18px;
        position: absolute;
        top: 0px;
        right: 10px;
        font-weight: bold; }
  .infographic-comp .column, .infographic-comp .columns {
    padding-right: 0; }

.main-nav-margin {
  max-width: 1224px;
  margin: auto; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .main-nav-margin {
      width: auto; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .main-nav-margin {
      width: auto; } }

.top-tier-menu-comp {
  margin: 25px 15px 0 0; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .top-tier-menu-comp {
      margin: 0; } }
  .top-tier-menu-comp .book-now .menu, .top-tier-menu-comp .book-now .lang-menu,
  .top-tier-menu-comp .menu .menu,
  .top-tier-menu-comp .menu .lang-menu {
    color: #ae946e;
    margin: 0 0 0 15px;
    letter-spacing: 5px;
    text-transform: uppercase;
    text-decoration: none; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .top-tier-menu-comp .book-now .menu, .top-tier-menu-comp .book-now .lang-menu,
      .top-tier-menu-comp .menu .menu,
      .top-tier-menu-comp .menu .lang-menu {
        display: inline-block;
        height: 60px;
        width: 60px;
        letter-spacing: 0;
        line-height: 60px;
        text-align: center;
        padding: 0;
        min-width: 60px;
        border-radius: 0;
        margin: 0; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .top-tier-menu-comp .button.book-now {
      min-width: 60px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .top-tier-menu-comp .menu .lang-menu {
      font-size: 12px;
      min-width: 60px;
      width: 80px; }
      .top-tier-menu-comp .menu .lang-menu i:before {
        font-size: 12px; } }
  .top-tier-menu-comp .menu {
    color: #ae946e;
    font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
    padding: 0 0 0 15px; }
    .top-tier-menu-comp .menu:hover {
      color: #997e15; }
    .top-tier-menu-comp .menu.active {
      color: #501300;
      focus: 0; }
      .top-tier-menu-comp .menu.active [class^="icon-"]:before {
        color: #501300; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .top-tier-menu-comp .menu {
        padding: 0; } }
    .top-tier-menu-comp .menu > li:not(.menu-text) > a {
      outline: 0; }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .top-tier-menu-comp .menu > li:not(.menu-text) > a {
          padding: 0;
          line-height: normal; } }
      @media screen and (min-width: 48em) and (max-width: 64.0625em) {
        .top-tier-menu-comp .menu > li:not(.menu-text) > a {
          padding: 0.7rem 0.4rem; }
          .top-tier-menu-comp .menu > li:not(.menu-text) > a.button {
            margin-right: 0; } }
    .top-tier-menu-comp .menu a.button {
      outline: 0; }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .top-tier-menu-comp .menu a.button {
          margin: 0; } }
  .top-tier-menu-comp .icon-menu {
    margin: 0; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .top-tier-menu-comp .icon-menu:before {
        font-size: 18px; } }
  .top-tier-menu-comp .icon-angle-up {
    font-size: 18px; }
    .top-tier-menu-comp .icon-angle-up:before {
      font-weight: bold; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .top-tier-menu-comp .icon-suitcase {
      margin: 0; } }
  .top-tier-menu-comp [class^="icon-"]:before {
    font-size: 18px; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .top-tier-menu-comp [class^="icon-"]:before {
        font-size: 24px;
        line-height: 60px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .top-tier-menu-comp .icon-menu:before {
      line-height: 65px; } }
  .top-tier-menu-comp .book-now .icon-angle-down:before {
    font-size: 18px;
    color: #fff; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .top-tier-menu-comp .book-now .icon-angle-down:before {
        font-size: 24px; } }
  .top-tier-menu-comp a.active .icon-angle-down:before {
    letter-spacing: -7px;
    -ms-transform: rotate(180deg);
        transform: rotate(180deg); }

.second-tier-lang-comp {
  border-bottom: 1px solid rgba(174, 148, 110, 0.3);
  padding: 20px 40px 10px 40px; }

.second-tier-menu-comp, .second-tier-lang-comp {
  background: #fff;
  border-top: 1px solid rgba(174, 148, 110, 0.3);
  display: none; }
  .second-tier-menu-comp .no-bullet, .second-tier-lang-comp .no-bullet {
    margin: 0; }
    .second-tier-menu-comp .no-bullet li, .second-tier-lang-comp .no-bullet li {
      font-family: 'LatoWebBold',  Helvetica, Roboto, Arial, sans-serif;
      font-size: 14px;
      letter-spacing: 2px;
      text-transform: uppercase;
      font-weight: bold; }
  .second-tier-menu-comp .accordion-item, .second-tier-lang-comp .accordion-item {
    margin: 0;
    font-weight: bold; }
  .second-tier-menu-comp h2, .second-tier-lang-comp h2 {
    font-family: 'LatoWebBold',  Helvetica, Roboto, Arial, sans-serif;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: bold; }
  .second-tier-menu-comp input[type="text"], .second-tier-menu-comp input[type="email"], .second-tier-lang-comp input[type="text"], .second-tier-lang-comp input[type="email"] {
    border: 1px solid rgba(174, 148, 110, 0.3);
    color: #501300; }
    .second-tier-menu-comp input[type="text"]::-webkit-input-placeholder, .second-tier-menu-comp input[type="email"]::-webkit-input-placeholder, .second-tier-lang-comp input[type="text"]::-webkit-input-placeholder, .second-tier-lang-comp input[type="email"]::-webkit-input-placeholder {
      /* Safari, Chrome and Opera */
      color: #ae946e; }
    .second-tier-menu-comp input[type="text"]:-moz-placeholder, .second-tier-menu-comp input[type="email"]:-moz-placeholder, .second-tier-lang-comp input[type="text"]:-moz-placeholder, .second-tier-lang-comp input[type="email"]:-moz-placeholder {
      /* Firefox 18- */
      color: #ae946e; }
    .second-tier-menu-comp input[type="text"]::-moz-placeholder, .second-tier-menu-comp input[type="email"]::-moz-placeholder, .second-tier-lang-comp input[type="text"]::-moz-placeholder, .second-tier-lang-comp input[type="email"]::-moz-placeholder {
      /* Firefox 19+ */
      color: #ae946e; }
    .second-tier-menu-comp input[type="text"]:-ms-input-placeholder, .second-tier-menu-comp input[type="email"]:-ms-input-placeholder, .second-tier-lang-comp input[type="text"]:-ms-input-placeholder, .second-tier-lang-comp input[type="email"]:-ms-input-placeholder {
      /* IE 10+ */
      color: #ae946e; }
    .second-tier-menu-comp input[type="text"]::-ms-input-placeholder, .second-tier-menu-comp input[type="email"]::-ms-input-placeholder, .second-tier-lang-comp input[type="text"]::-ms-input-placeholder, .second-tier-lang-comp input[type="email"]::-ms-input-placeholder {
      /* Edge */
      color: #ae946e; }
    .second-tier-menu-comp input[type="text"]:placeholder-shown, .second-tier-menu-comp input[type="email"]:placeholder-shown, .second-tier-lang-comp input[type="text"]:placeholder-shown, .second-tier-lang-comp input[type="email"]:placeholder-shown {
      /* Standard one last! */
      color: #ae946e; }
  .second-tier-menu-comp .join-mailing-field, .second-tier-lang-comp .join-mailing-field {
    position: relative;
    display: block; }
    .second-tier-menu-comp .join-mailing-field a:after, .second-tier-lang-comp .join-mailing-field a:after {
      font-family: "iconfont";
      font-size: 18px;
      color: rgba(174, 148, 110, 0.3);
      position: absolute;
      right: 10px;
      content: "\e815";
      top: 50%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
    .second-tier-menu-comp .join-mailing-field.active:after, .second-tier-lang-comp .join-mailing-field.active:after {
      color: #501300; }
    .second-tier-menu-comp .join-mailing-field .mail-list-error, .second-tier-lang-comp .join-mailing-field .mail-list-error {
      color: #ff0000;
      position: absolute; }
  .second-tier-menu-comp label, .second-tier-lang-comp label {
    color: #ae946e;
    position: relative;
    font-weight: bold; }
  .second-tier-menu-comp a, .second-tier-lang-comp a {
    color: #ae946e;
    text-decoration: none; }
    .second-tier-menu-comp a:hover, .second-tier-lang-comp a:hover {
      color: #997e15; }
  .second-tier-menu-comp li, .second-tier-lang-comp li {
    margin: 0 0 10px; }
  .second-tier-menu-comp [class^="icon-"]:before, .second-tier-lang-comp [class^="icon-"]:before {
    font-size: 18px; }
  .second-tier-menu-comp .social, .second-tier-lang-comp .social {
    margin-top: 40px; }
    .second-tier-menu-comp .social .menu, .second-tier-lang-comp .social .menu {
      margin: 0 0 0 -1rem; }
      @media screen and (min-width: 48em) and (max-width: 64.0625em) {
        .second-tier-menu-comp .social .menu, .second-tier-lang-comp .social .menu {
          margin: 0 0 20px -1rem; } }
      .second-tier-menu-comp .social .menu a:hover:before, .second-tier-lang-comp .social .menu a:hover:before {
        color: #997e15; }
      .second-tier-menu-comp .social .menu > li:not(.menu-text) > a, .second-tier-lang-comp .social .menu > li:not(.menu-text) > a {
        padding: 0.7rem; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .second-tier-menu-comp .social, .second-tier-lang-comp .social {
        margin-top: 0;
        padding: 10px 5px 10px 0;
        border-bottom: 1px solid rgba(174, 148, 110, 0.3); } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .second-tier-menu-comp .mailing-list, .second-tier-lang-comp .mailing-list {
      padding: 10px 25px 0;
      border-bottom: 1px solid rgba(174, 148, 110, 0.3); } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .second-tier-menu-comp .menu-set-1 li, .second-tier-lang-comp .menu-set-1 li {
      margin: 0; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .second-tier-menu-comp .menu-set-1 li a, .second-tier-lang-comp .menu-set-1 li a {
      display: block;
      padding: 0.625rem 0.3125rem 0.625rem 1.5625rem;
      border-bottom: 1px solid rgba(174, 148, 110, 0.3);
      letter-spacing: 0.2rem; } }

.to-third-tier-menu-comp {
  font-size: 14px;
  text-transform: uppercase;
  margin: 40px 0 0;
  border-top: 1px solid rgba(174, 148, 110, 0.3); }
  .to-third-tier-menu-comp .menu li {
    width: 30%;
    display: inline-block;
    margin: 0; }
    @media screen and (min-width: 48em) and (max-width: 64.0625em) {
      .to-third-tier-menu-comp .menu li {
        width: 32%; } }
    .to-third-tier-menu-comp .menu li a {
      padding-left: 0; }
  .to-third-tier-menu-comp .menu .toggle-active.active [class^="icon-"]:before {
    -ms-transform: rotate(180deg);
        transform: rotate(180deg);
    letter-spacing: 0px; }

.to-third-tier-mobile-comp {
  background: none; }

.third-tier-menu-comp {
  position: relative; }
  .third-tier-menu-comp [id^="menu-"] {
    background: rgba(255, 255, 255, 0.9);
    width: 100%;
    display: none;
    z-index: 1;
    padding: 20px 0; }
  .third-tier-menu-comp ul {
    margin: 0; }
  .third-tier-menu-comp li {
    margin: 0; }
  .third-tier-menu-comp a {
    font-family: "LatoLight", Helvetica, Roboto, Arial, sans-serif;
    font-size: 14px;
    color: #ae946e;
    text-decoration: none;
    text-transform: uppercase; }
    .third-tier-menu-comp a:hover {
      color: #997e15; }

.booking-second-comp {
  background: #fff;
  border-bottom: 1px solid rgba(174, 148, 110, 0.3);
  display: none; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .booking-second-comp {
      height: auto; } }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .booking-second-comp .wide-margin {
      padding-left: 0px;
      padding-right: 0px; } }
  .booking-second-comp .column, .booking-second-comp .columns {
    position: relative; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .booking-second-comp .column:last-child, .booking-second-comp .columns:last-child {
        width: 100%;
        margin-top: -1px; }
        .booking-second-comp .column:last-child:after, .booking-second-comp .columns:last-child:after {
          border-bottom: 0; } }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .booking-second-comp .column:nth-child(odd):before, .booking-second-comp .columns:nth-child(odd):before {
        display: block;
        position: absolute;
        border-right: 1px solid rgba(174, 148, 110, 0.3);
        content: "";
        bottom: 10px;
        right: 0;
        top: 10px;
        z-index: 999; } }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .booking-second-comp .column:after, .booking-second-comp .columns:after {
        display: block;
        position: absolute;
        border-bottom: 1px solid rgba(174, 148, 110, 0.3);
        content: "";
        bottom: 0;
        right: 20px;
        left: 20px; } }
  .booking-second-comp .dp {
    height: 122px;
    text-align: center;
    margin: 20px 0;
    text-decoration: none;
    padding: 0 15px; }
    @media screen and (min-width: 48em) and (max-width: 64.0625em) {
      .booking-second-comp .dp {
        height: 92px; } }
  .booking-second-comp [class^="book-"] {
    padding: 15px 0;
    display: block;
    height: 161px;
    transition: background-color 0.2s; }
    @media screen and (min-width: 48em) and (max-width: 64.0625em) {
      .booking-second-comp [class^="book-"] {
        height: 129px;
        width: auto; } }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .booking-second-comp [class^="book-"] {
        height: 160px;
        position: relative;
        margin: auto;
        width: auto; } }
    .booking-second-comp [class^="book-"] .book-button.active:after {
      content: "\e80e"; }
  .booking-second-comp .book-button {
    font-size: 14px;
    height: 122px;
    text-align: center;
    display: block;
    margin: 0;
    text-decoration: none;
    text-transform: uppercase;
    padding: 5px 15px;
    position: relative;
    cursor: pointer; }
    @media screen and (min-width: 48em) and (max-width: 64.0625em) {
      .booking-second-comp .book-button {
        height: 92px; } }
    .booking-second-comp .book-button [class^="icon-"]:before {
      font-size: 18px; }
    .booking-second-comp .book-button.lined {
      border-right: 1px solid rgba(174, 148, 110, 0.3); }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .booking-second-comp .book-button.lined {
          border-width: 0; } }
    .booking-second-comp .book-button .icon-angle-down {
      font-size: 18px; }
    .booking-second-comp .book-button h4, .booking-second-comp .book-button .conditions li, .conditions .booking-second-comp .book-button li {
      margin: 0 0 5px; }
      @media screen and (min-width: 48em) and (max-width: 64.0625em) {
        .booking-second-comp .book-button h4, .booking-second-comp .book-button .conditions li, .conditions .booking-second-comp .book-button li {
          font-size: 12px;
          letter-spacing: 0.1rem; } }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .booking-second-comp .book-button h4, .booking-second-comp .book-button .conditions li, .conditions .booking-second-comp .book-button li {
          font-size: 14px; } }
    .booking-second-comp .book-button p {
      font-family: "LatoLight", Helvetica, Roboto, Arial, sans-serif;
      margin: 0 0 8px;
      line-height: 18px; }
      @media screen and (min-width: 48em) and (max-width: 64.0625em) {
        .booking-second-comp .book-button p {
          font-size: 12px;
          line-height: 13px; } }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .booking-second-comp .book-button p {
          font-size: 14px;
          line-height: 14px; } }
    .booking-second-comp .book-button:after {
      color: #ae946e;
      content: "\e80e";
      display: block;
      font-family: "fontello";
      font-size: 18px;
      font-weight: bold;
      position: absolute;
      bottom: 0px;
      left: 50%;
      -ms-transform: translateX(-50%);
          transform: translateX(-50%); }
      @media screen and (min-width: 48em) and (max-width: 64.0625em) {
        .booking-second-comp .book-button:after {
          bottom: -5px; } }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .booking-second-comp .book-button.no-menu {
        width: 100%; } }
    .booking-second-comp .book-button.no-menu:after {
      content: ""; }
    .booking-second-comp .book-button .day,
    .booking-second-comp .book-button .icon-bed {
      letter-spacing: 0.3rem;
      font-weight: bold; }
    .booking-second-comp .book-button.toggle-number input {
      background-color: #ebebeb;
      display: none;
      font-size: 18px;
      margin: 0 auto -4px auto;
      text-align: center;
      width: 80px; }
    .booking-second-comp .book-button.toggle-number.edit span {
      display: none; }
    .booking-second-comp .book-button.toggle-number.edit input {
      display: block; }
    .booking-second-comp .book-button.toggle-number:after {
      content: ''; }
  .booking-second-comp .no-menu {
    background: #eee9e3;
    position: relative;
    height: 161px;
    margin: 0; }
    @media screen and (min-width: 48em) and (max-width: 64.0625em) {
      .booking-second-comp .no-menu {
        height: 129px; } }
    .booking-second-comp .no-menu [class^="icon-"] {
      left: 50%;
      position: absolute;
      top: 50%;
      text-align: center;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
      .booking-second-comp .no-menu [class^="icon-"]:before {
        color: #fff;
        font-size: 60px; }
    .booking-second-comp .no-menu:hover {
      background: #997e15; }
  .booking-second-comp .submit-button {
    width: 100%; }
  .booking-second-comp .ticked > span {
    background-color: #effff8; }
  .booking-second-comp.date-setting-single .book-8 {
    display: block; }
  .booking-second-comp.date-setting-single .book-3, .booking-second-comp.date-setting-single .book-4 {
    display: none; }
  .booking-second-comp.date-setting-range .book-8 {
    display: none; }
  .booking-second-comp.date-setting-range .book-3, .booking-second-comp.date-setting-range .book-4 {
    display: block; }

.booking-third-comp {
  position: relative; }
  .booking-third-comp [id^="menu-"] {
    background: rgba(255, 255, 255, 0.8);
    position: absolute;
    width: 100%;
    display: none;
    z-index: 1;
    padding: 15px 0;
    height: 85px; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .booking-third-comp .wide-margin {
      padding-left: 20px;
      padding-right: 20px; } }
  .booking-third-comp a {
    font-family: "LatoLight", Helvetica, Roboto, Arial, sans-serif;
    font-size: 14px;
    color: #ae946e;
    text-decoration: none;
    text-transform: uppercase; }
    .booking-third-comp a:hover {
      color: #501300; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .booking-third-comp a {
        line-height: 14px; } }
  .booking-third-comp ul {
    margin: 0; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .booking-third-comp .stay .wide-margin {
      padding-left: 0;
      padding-right: 0; } }

.third-lvl-booking-panel [class^="icon-"]:before {
  font-size: 18px; }

.booking-stay {
  text-align: center;
  display: block; }
  .booking-stay:hover {
    color: #501300; }
    .booking-stay:hover [class^="icon-"]:before {
      color: #501300; }
  .booking-stay p {
    margin-bottom: 0.5rem;
    font-family: "LatoLight", Helvetica, Roboto, Arial, sans-serif;
    font-size: 14px;
    letter-spacing: 0.3rem; }

.booking-count {
  line-height: 45px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .booking-count {
      position: relative;
      display: block;
      height: 160px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .booking-count:before {
      display: block;
      position: absolute;
      border-bottom: 1px solid rgba(174, 148, 110, 0.3);
      content: "";
      bottom: 0;
      right: 10px;
      left: 10px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .booking-count:after {
      display: block;
      position: absolute;
      border-right: 1px solid rgba(174, 148, 110, 0.3);
      content: "";
      bottom: 10px;
      right: 0px;
      top: 10px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .booking-count .adult-count,
    .booking-count .child-count,
    .booking-count .guests-count {
      display: block;
      height: 160px;
      line-height: 160px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .booking-count.unit {
      height: auto; } }

.dayFrom,
.dayTo,
.dayDate,
.adult-count,
.child-count,
.guests-count {
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
  font-size: 18px; }

.search-value {
  font-family: "LatoLight", Helvetica, Roboto, Arial, sans-serif;
  position: absolute;
  bottom: 25px;
  width: 100%;
  left: 0;
  padding: 0 10px; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .search-value {
      bottom: 15px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .search-value {
      padding: 0 15px; } }

.side-nav-comp {
  font-family: "LatoWeb", Helvetica, Roboto, Arial, sans-serif;
  font-size: 14px;
  line-height: 40px;
  margin: 0;
  text-transform: uppercase; }
  .side-nav-comp a {
    color: #501300;
    text-decoration: none; }
    .side-nav-comp a:hover {
      color: #997e15; }
    .side-nav-comp a.active {
      font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif; }
  .side-nav-comp nav {
    padding: 0;
    margin: 0 0 0 -1rem; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .side-nav-comp .navigation {
      margin: 0; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .side-nav-comp .navigation {
      margin: 0; } }
  @media screen and (min-width: 64.125em) {
    .side-nav-comp .navigation.menu > li:not(.menu-text) > a {
      padding: 0.7rem 0 0.7rem 0; } }

.navigation {
  max-width: none;
  padding: 0; }

.navigation li a {
  display: block;
  padding: 10px; }

.navheader {
  font-size: 14px; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .navheader {
      margin: 0; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .navheader {
      margin: 0; } }

.slide-trigger {
  display: none;
  /* need this */
  border-top: 1px solid rgba(174, 148, 110, 0.3);
  border-bottom: 1px solid rgba(174, 148, 110, 0.3);
  cursor: pointer;
  padding: 10px 30px 10px 10px; }
  .slide-trigger:before {
    content: '\e80e';
    font-family: "fontello";
    position: absolute;
    right: 10px;
    font-size: 18px; }
  .slide-trigger.active:before {
    content: '\e80d'; }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .slide-trigger {
    display: block; }
  .no-js .slide-trigger {
    display: none; }
  .navigation {
    display: none; }
  .no-js .navigation {
    display: block; }
  .navigation {
    margin: 0; }
  .navigation li {
    float: none; }
  .navigation li a {
    border-bottom: 1px solid rgba(174, 148, 110, 0.3); } }

@media screen and (min-width: 48em) and (max-width: 64.0625em) {
  .slide-trigger {
    display: block; }
  .no-js .slide-trigger {
    display: none; }
  .navigation {
    display: none; }
  .no-js .navigation {
    display: block; }
  .navigation {
    margin: 0 15px; }
  .navigation li {
    float: none; }
  .navigation li a {
    border-bottom: 1px solid rgba(174, 148, 110, 0.3); } }

#sticky-nav {
  margin-left: -15px;
  margin-right: -15px; }
  @media screen and (min-width: 64.125em) {
    #sticky-nav {
      margin-left: 0;
      margin-right: 0; } }
  #sticky-nav.stick {
    background: #fff;
    position: fixed;
    width: 100%;
    z-index: 200; }
    @media screen and (min-width: 64.125em) {
      #sticky-nav.stick {
        background: none;
        width: 16.66667%; } }

.more-links h4, .more-links .conditions li, .conditions .more-links li {
  font-weight: bold; }

.back-nav {
  display: none;
  position: fixed;
  right: 30px; }
  .back-nav.show {
    display: block; }
  .back-nav .back-button {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(174, 148, 110, 0.8);
    border-radius: 1px;
    height: 35px;
    transition: background-color 0.2s ease;
    width: 35px; }
    .back-nav .back-button:hover {
      background-color: white;
      border: 1px solid #ae946e; }
    .back-nav .back-button:before {
      color: #ae946e;
      font-family: "fontello";
      font-size: 21px; }

.offers-column-2-comp .list-item-comp {
  max-height: 600px;
  overflow: hidden; }
  .offers-column-2-comp .list-item-comp:after {
    content: ""; }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .offers-column-3-comp .small-up-1 {
    margin: 0; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .offers-column-3-comp .offer-heading {
    padding: 0 0 0 15px; } }

.offers-column-3-comp .load-more-button {
  margin: 20px 0 0; }

.offers-column-3-comp .medium-up-3 {
  margin: 0; }

.offers-column-3-comp .list-item-comp {
  background-color: transparent;
  height: auto;
  margin: 15px 25px 0 0;
  padding: 10px;
  width: 310px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .offers-column-3-comp .list-item-comp {
      width: auto;
      margin: 0; } }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .offers-column-3-comp .list-item-comp {
      width: auto;
      margin: 0; } }
  .offers-column-3-comp .list-item-comp .offer-thumb {
    display: block;
    height: 205px;
    overflow: hidden;
    text-align: center;
    width: 100%;
    background-color: #EEE;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
  .offers-column-3-comp .list-item-comp span {
    display: block; }
    .offers-column-3-comp .list-item-comp span h3 {
      color: #ae946e;
      font-size: 16px;
      margin: 0;
      padding: 12px 0; }
    .offers-column-3-comp .list-item-comp span p {
      font-size: 14px;
      margin: 0 0 10px 0;
      padding-bottom: 0; }
    .offers-column-3-comp .list-item-comp span a {
      color: #501300;
      font-size: 14px;
      margin: 0 0 10px 0;
      padding-bottom: 0; }
      .offers-column-3-comp .list-item-comp span a:hover {
        color: #ae946e; }
  .offers-column-3-comp .list-item-comp .button {
    margin: 0; }
  .offers-column-3-comp .list-item-comp .price {
    right: 10px;
    top: 10px; }

.offers-column-3-comp .column:nth-of-type(3n+2) .list-item-comp, .offers-column-3-comp .columns:nth-of-type(3n+2) .list-item-comp {
  margin: 15px 0 0 7px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .offers-column-3-comp .column:nth-of-type(3n+2) .list-item-comp, .offers-column-3-comp .columns:nth-of-type(3n+2) .list-item-comp {
      width: auto;
      margin: 0; } }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .offers-column-3-comp .column:nth-of-type(3n+2) .list-item-comp, .offers-column-3-comp .columns:nth-of-type(3n+2) .list-item-comp {
      width: auto;
      margin: 0; } }

.offers-column-3-comp .column:nth-of-type(3n+0) .list-item-comp, .offers-column-3-comp .columns:nth-of-type(3n+0) .list-item-comp {
  margin: 15px 0 0 14px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .offers-column-3-comp .column:nth-of-type(3n+0) .list-item-comp, .offers-column-3-comp .columns:nth-of-type(3n+0) .list-item-comp {
      width: auto;
      margin: 0; } }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .offers-column-3-comp .column:nth-of-type(3n+0) .list-item-comp, .offers-column-3-comp .columns:nth-of-type(3n+0) .list-item-comp {
      width: auto;
      margin: 0; } }

.offer-results-state .offer-results-loading {
  display: none;
  padding: 40px 0;
  text-align: center; }
  .offer-results-state .offer-results-loading i {
    color: #ae946e;
    font-size: 26px;
    line-height: 1em; }

.offer-results-state.loading .offer-results-loading {
  display: block; }

.offer-results-state .list-item-comp {
  opacity: 0;
  height: 0;
  transition: opacity 0.8s ease-in-out;
  -moz-transition: opacity 0.8s ease-in-out;
  -webkit-transition: opacity 0.8s ease-in-out; }
  .offer-results-state .list-item-comp.ready {
    height: auto;
    opacity: 1; }

.offer-results-state .offer-results-list {
  font-size: 0; }

.list-item-comp {
  position: relative;
  margin: 15px 0 0; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .list-item-comp {
      width: auto;
      margin: 0; } }
  .list-item-comp .list-detail {
    padding: 0 80px 20px 20px;
    position: absolute;
    color: #fff;
    bottom: 0px;
    left: 0px;
    z-index: 2; }
    .list-item-comp .list-detail p {
      margin-bottom: 10px; }
    .list-item-comp .list-detail .button {
      margin: 10px 0 0; }
  .list-item-comp h3,
  .list-item-comp p,
  .list-item-comp a {
    z-index: 2; }
  .list-item-comp img {
    width: 100%;
    height: auto;
    postion: absolute; }
  .list-item-comp h3 {
    color: #fff;
    font-size: 18px;
    line-height: 24px; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .list-item-comp h3 {
        letter-spacing: 0.1rem;
        text-overflow: ellipsis;
        overflow: hidden; } }
  .list-item-comp p {
    line-height: 18px;
    display: block;
    max-height: 37px;
    overflow: hidden; }

.price {
  background: rgba(80, 19, 0, 0.8);
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
  font-size: 14px;
  color: #fff;
  letter-spacing: 0.1rem;
  padding: 10px 15px;
  position: absolute;
  right: 0;
  text-transform: uppercase;
  top: 0; }

.shaded, .offers-column-2-comp .list-item-comp:after, .map-container:after {
  /* For Safari 5.1 to 6.0 */
  /* For Opera 11.1 to 12.0 */
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.6));
  /* Standard syntax */
  display: block;
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  top: 0;
  right: 0; }

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

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

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

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

.slick-slide, .slider-container {
  height: 600px; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .slick-slide, .slider-container {
      height: 375px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .slick-slide, .slider-container {
      height: 485px; } }

.slider-container {
  background-color: #ebebeb;
  overflow: hidden; }
  .slider-container > div, .slider-container > ul {
    opacity: 0;
    transition: opacity .5s ease-in-out; }
  .slider-container.ready > div, .slider-container.ready > ul {
    opacity: 1; }

.slick-slide {
  float: left;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: none; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .slick-slide img {
        display: none; } }
  .slick-slide.slick-loading {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }
  .slick-slide .slide-caption .slide-text {
    display: block;
    max-height: 40px;
    overflow: hidden; }

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

.banner-bg {
  background-size: cover;
  background-position: center; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .banner-bg {
      height: 485px; } }

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

/* Icons */
/*
@if $slick-font-family == "slick" {
    @font-face {
        font-family: "slick";
        src: slick-font-url("slick.eot");
        src: slick-font-url("slick.eot?#iefix") format("embedded-opentype"), slick-font-url("slick.woff") format("woff"), slick-font-url("slick.ttf") format("truetype"), slick-font-url("slick.svg#slick") format("svg");
        font-weight: normal;
        font-style: normal;
    }
}
*/
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  margin-top: -10px\9;
  /*lte IE 8*/
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 1; }
  .slick-prev:hover,
  .slick-next:hover {
    outline: none;
    background: transparent; }
    .slick-prev:hover:before,
    .slick-next:hover:before {
      opacity: 1;
      color: #997e15; }
  .slick-prev:focus:before,
  .slick-next:focus:before {
    color: #fff; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }

.slick-prev:before, .slick-next:before {
  font-family: "fontello";
  font-size: 60px;
  line-height: 1;
  color: white;
  opacity: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block; }

.slick-prev {
  left: 70px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: 70px; }
  .slick-prev:before {
    content: ""; }
    [dir="rtl"] .slick-prev:before {
      content: ""; }

.slick-next {
  right: 70px; }
  [dir="rtl"] .slick-next {
    left: 70px;
    right: auto; }
  .slick-next:before {
    content: ""; }
    [dir="rtl"] .slick-next:before {
      content: ""; }

/* Dots */
.slick-dots {
  position: absolute;
  bottom: 60px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  width: 100%;
  margin: 0; }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .slick-dots {
      bottom: 40px; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .slick-dots {
      bottom: 30px; } }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-size: 40px;
        line-height: 20px;
        text-align: center;
        color: #fff;
        opacity: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #ae946e;
      opacity: 1; }

/* Captions   */
.slide-caption {
  position: absolute;
  width: 650px;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  top: 50%;
  z-index: 1;
  display: inline; }
  .slide-caption:after {
    content: " ";
    position: absolute;
    top: -150px;
    left: -150px;
    right: -150px;
    bottom: -150px;
    z-index: -1;
    background-image: url("../img/dropshadow.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      .slide-caption:after {
        background-image: url("../img/dropshadow_mobile.png"); } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .slide-caption {
      top: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
      width: 284px; } }
  @media screen and (min-width: 48em) and (max-width: 64.0625em) {
    .slide-caption {
      top: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
      width: 648px; } }
  .slide-caption input[type="checkbox"] {
    display: none; }
    .slide-caption input[type="checkbox"] + label {
      color: #fff;
      margin-bottom: 0.9375rem;
      position: relative; }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .slide-caption input[type="checkbox"] + label {
          text-indent: 20px; } }
      .slide-caption input[type="checkbox"] + label.is-invalid-label:before {
        box-shadow: 0 0 5px #ff0000; }
      .slide-caption input[type="checkbox"] + label:before {
        position: absolute;
        display: block;
        width: 1rem;
        height: 1rem;
        left: -25px;
        top: 4px;
        vertical-align: middle;
        cursor: pointer;
        border: 1px solid #fff;
        content: ""; }
        @media screen and (min-width: 20em) and (max-width: 47.9375em) {
          .slide-caption input[type="checkbox"] + label:before {
            left: 0; } }
    .slide-caption input[type="checkbox"]:checked + label:after {
      position: absolute;
      content: "\e808";
      font-family: "fontello";
      width: 1rem;
      height: 1rem;
      left: -25px;
      cursor: pointer;
      top: 0px; }
      @media screen and (min-width: 20em) and (max-width: 47.9375em) {
        .slide-caption input[type="checkbox"]:checked + label:after {
          left: -20px; } }

.slide-header {
  font-family: 'LatoWebBold',  Helvetica, Roboto, Arial, sans-serif;
  font-size: 30px;
  color: #fff;
  letter-spacing: 0.3rem;
  line-height: 32px;
  text-transform: uppercase; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .slide-header {
      font-size: 24px;
      letter-spacing: 0.1rem; } }

.slide-text {
  color: #fff;
  letter-spacing: 0.1rem;
  line-height: 20px;
  text-transform: uppercase;
  margin-bottom: 24px; }

.slide-label {
  font-size: 14px;
  color: #fff; }

.slide-bg {
  background-size: cover;
  background-position: center;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

p, .article-content {
  letter-spacing: 0.1rem;
  font-size: 0.875rem;
  margin-bottom: 2rem; }

h1 {
  margin-bottom: 0; }

h1,
h2,
h3,
h4,
.conditions li,
h5,
h6 {
  letter-spacing: 0.3rem;
  text-transform: uppercase; }

ul,
li {
  font-size: 14px;
  letter-spacing: 0.1rem; }

a {
  -webkit-text-decoration-color: rgba(80, 19, 0, 0.2);
          text-decoration-color: rgba(80, 19, 0, 0.2); }

body.lang-en h2, body.lang-en h4, body.lang-en .conditions li, .conditions body.lang-en li,
body.lang-en .main-content h3,
body.lang-en .list-detail h3,
body.lang-en .second-tier-menu-comp .no-bullet li,
body.lang-en .second-tier-menu-comp label,
body.lang-en .second-tier-lang-comp .no-bullet li,
body.lang-en .second-tier-lang-comp label,
body.lang-en .top-tier-menu-comp .menu,
body.lang-en .top-tier-menu-comp .button {
  font-family: "optimabold", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal; }

#map {
  height: 600px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    #map {
      height: 485px; } }

.map-container {
  position: relative; }

form {
  letter-spacing: 1px; }
  form .column, form .columns,
  form .columns {
    padding-right: 0.625rem; }
    @media screen and (min-width: 20em) and (max-width: 47.9375em) {
      form .column, form .columns,
      form .columns {
        padding-left: 0;
        padding-right: 0; } }
    @media screen and (min-width: 64.125em) and (max-width: 99.9375em) {
      form .column:last-child, form .columns:last-child,
      form .columns:last-child {
        padding-left: 0;
        padding-right: 0; } }
    form .column:only-child, form .columns:only-child,
    form .columns:only-child {
      padding-left: 0.9375rem; }
  @media screen and (min-width: 64.125em) {
    form.choosedate .medium-6:first-child {
      padding-right: 5px; } }
  @media screen and (min-width: 64.125em) {
    form.choosedate .medium-6:last-child {
      padding-left: 5px; } }
  form .form-error {
    color: #ff0000; }
  form h3 {
    margin-top: 40px; }

select,
input[type="text"],
input[type="email"],
textarea {
  font-size: 14px;
  height: 2.8125rem;
  margin-bottom: 0.9375rem;
  /*text-transform: uppercase;*/
  letter-spacing: 1px; }

input[type="checkbox"] {
  margin-right: 10px; }
  input[type="checkbox"] + label {
    font-size: 12px;
    color: #501300;
    margin-right: 20px; }

select option {
  color: #501300;
  background: #ae946e;
  padding: 10px; }

.banner-bg:after {
  content: ""; }

.banner-bg input,
.banner-bg select {
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif; }

.banner-bg .is-invalid-input {
  background: #fae0e0; }

.dates .small-4:nth-child(2) {
  padding: 0 0.46875rem; }

.dates .small-4:first-child {
  padding: 0 0.46875rem 0 0; }

.dates .small-4:last-child {
  padding: 0 0 0 0.46875rem; }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .dates .small-4:nth-child(2) {
    padding: 0 0.1875rem; }
  .dates .small-4:first-child {
    padding: 0 0.1875rem 0 0; }
  .dates .small-4:last-child {
    padding: 0 0 0 0.1875rem; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .dates li {
    font-size: 10px; } }

.dropdown.menu.select-options .is-dropdown-submenu-parent.is-down-arrow > .option-value {
  padding: 1rem 1.25rem 1rem 0.5rem;
  height: 2.8125rem;
  font-weight: normal; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .dropdown.menu.select-options .is-dropdown-submenu-parent.is-down-arrow > .option-value {
      padding: 1rem 1.25rem 1rem 0.3rem; } }

.dropdown.menu.select-options .menu {
  max-height: 110px;
  overflow-y: scroll; }

.assignDate {
  position: relative; }
  .assignDate .dd-arrow {
    position: relative;
    margin: 0;
    display: block; }
    .assignDate .dd-arrow:after {
      position: absolute;
      content: "\e80e";
      font-family: 'fontello';
      right: 10px;
      top: 50%;
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%); }

.customMonth {
  display: none; }
  .customMonth.active {
    display: block; }

.hotel,
.stay,
.guest-count {
  position: absolute;
  background: rgba(255, 255, 255, 0.9);
  width: 100%; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .hotel,
    .stay,
    .guest-count {
      background: #fff; } }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .hotel .vert-medium-pad,
    .stay .vert-medium-pad,
    .guest-count .vert-medium-pad {
      padding: 0; } }

.hotel .vert-medium-pad {
  padding-left: 1.25rem; }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .hotel,
  .stay {
    top: -480px; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .guest-count {
    top: -160px; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .guest-count .column:last-child, .guest-count .columns:last-child {
    width: 100%; }
    .guest-count .column:last-child:before, .guest-count .columns:last-child:before, .guest-count .column:last-child:after, .guest-count .columns:last-child:after {
      border: 0; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .stay .column, .stay .columns {
    position: relative;
    height: 160px; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .stay .column:before, .stay .columns:before {
    display: block;
    position: absolute;
    border-bottom: 1px solid rgba(174, 148, 110, 0.3);
    content: "";
    bottom: 0;
    right: 20px;
    left: 20px; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .stay .column:after, .stay .columns:after {
    display: block;
    position: absolute;
    border-right: 1px solid rgba(174, 148, 110, 0.3);
    content: "";
    bottom: 20px;
    right: 0px;
    top: 20px; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .stay .column .booking-stay, .stay .columns .booking-stay {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .hotel .column, .hotel .columns {
    position: relative;
    height: 160px; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .hotel .column:before, .hotel .columns:before {
    display: block;
    position: absolute;
    border-bottom: 1px solid rgba(174, 148, 110, 0.3);
    content: "";
    bottom: 0;
    right: 20px;
    left: 20px; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .hotel .column:after, .hotel .columns:after {
    display: block;
    position: absolute;
    border-right: 1px solid rgba(174, 148, 110, 0.3);
    content: "";
    bottom: 20px;
    right: 0px;
    top: 20px; } }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .hotel .column .location, .hotel .columns .location {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); } }

/*************************** post react changes *****************************/
.booking-menu-container .panel-column {
  height: 161px;
  padding: 15px 0;
  transition: background-color 0.2s; }
  .booking-menu-container .panel-column:hover {
    background-color: #eee9e3; }
  .booking-menu-container .panel-column.tick {
    background-color: #effff8; }

.booking-menu-container .panel-date .datepicker-holder {
  display: block;
  height: 0;
  overflow: hidden;
  width: 0; }

.booking-menu-container .panel-guest .book-button:after {
  display: none; }

.booking-menu-container .book-button:not(.submit-button) {
  border-left: 1px solid rgba(174, 148, 110, 0.3); }

@media screen and (min-width: 20em) and (max-width: 47.9375em) {
  .booking-menu-container .book-button {
    border-width: 0; } }

.booking-menu-container .book-button .guest-count-total {
  font-family: "LatoWebBold", Helvetica, Roboto, Arial, sans-serif;
  font-size: 18px; }

.booking-menu-container .book-button .booking-numbers {
  background-color: #ebebeb;
  font-size: 18px;
  margin: 0 auto -4px auto;
  text-align: center;
  width: 80px; }

.booking-menu-container .panel-where .book-button {
  border-width: 0; }

.booking-sub-menu {
  overflow: hidden;
  transition: all .3s ease-out;
  background: rgba(255, 255, 255, 0.9);
  max-height: 0;
  opacity: 5; }
  .booking-sub-menu.open {
    max-height: 150px;
    opacity: 1; }
  .booking-sub-menu ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .booking-sub-menu ul li {
      color: #ae946e;
      cursor: pointer;
      font-size: 14px;
      padding: 2px 0;
      text-transform: uppercase; }
      .booking-sub-menu ul li:hover {
        color: #501300; }
  .booking-sub-menu .hotel-menu {
    padding-left: 1.25rem; }
  .booking-sub-menu .type-menu ul li {
    padding: 0;
    text-align: center; }
    .booking-sub-menu .type-menu ul li p {
      margin-bottom: 0.1rem; }
    .booking-sub-menu .type-menu ul li i {
      font-size: 18px; }
  @media screen and (min-width: 20em) and (max-width: 47.9375em) {
    .booking-sub-menu {
      background-color: #fff;
      padding: 0;
      position: absolute;
      top: 224px;
      width: 100%;
      z-index: 999; }
      .booking-sub-menu.open {
        border-bottom: 1px solid rgba(174, 148, 110, 0.3);
        max-height: none; }
      .booking-sub-menu .vert-medium-pad {
        margin: 0;
        padding: 0; }
      .booking-sub-menu .column, .booking-sub-menu .columns {
        padding: 50px 0 !important;
        transition: background-color 0.2s; }
        .booking-sub-menu .column:hover, .booking-sub-menu .columns:hover {
          background-color: #eee9e3; }
      .booking-sub-menu .hotel-menu {
        padding: 0; }
        .booking-sub-menu .hotel-menu li {
          display: inline-block;
          float: left;
          max-height: 191px;
          padding: 80px 0;
          text-align: center;
          width: 50%; }
          .booking-sub-menu .hotel-menu li:hover {
            background-color: #eee9e3; } }

.datepicker.dropdown-menu {
  position: fixed;
  top: 254px !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC12aWRlby5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9fZGF0ZXBpY2tlci5zY3NzIiwiY29tcG9uZW50cy9fZm9udHMuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9faGVscGVyLnNjc3MiLCJjb21wb25lbnRzL19leHRlbnNpb24uc2NzcyIsImNvbXBvbmVudHMvX2Fubm91bmNlbWVudC5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19pbmZvZ3JhcGhpYy5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fb2ZmZXJzLnNjc3MiLCJjb21wb25lbnRzL19zbGljay5zY3NzIiwiY29tcG9uZW50cy9fc2xpY2stdGhlbWUuc2NzcyIsImNvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsImNvbXBvbmVudHMvX2Z3LW1hcC5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2Jvb2tpbmcuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUNNRDtFQVJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2UsRURoQ2hCOztBRW1NQyw0RUFBNEU7QUFFNUU7Ozs7S0FJ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cEJEO0lLN0VOLGlCQ2VzQixFTmdFZjtFQUlDO0lPbEZOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRlo7RUFFRDtJT3RGTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZaO0VBTUg7SU92RU4sdUJEVHNCLEVOa0ZmO0VBcEJEO0lLN0VOLFdDZXNCLEVOZ0VmO0VBSUM7SU9sRk4sbUJBQW1CO0lBQ25CLFVBSG1CLEVQc0ZaO0VBRUQ7SU90Rk4sbUJBQW1CO0lBQ25CLFdBSG1CLEVQMEZaO0VBTUg7SU92RU4sdUJEVHNCLEVOa0ZmO0VBcEJEO0lLN0VOLGlCQ2VzQixFTmdFZjtFQUlDO0lPbEZOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRlo7RUFFRDtJT3RGTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZaO0VBTUg7SU92RU4saUJEVHNCLEVOa0ZmO0VBcEJEO0lLN0VOLGlCQ2VzQixFTmdFZjtFQUlDO0lPbEZOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRlo7RUFFRDtJT3RGTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZaO0VBTUg7SU92RU4sdUJEVHNCLEVOa0ZmO0VBcEJEO0lLN0VOLFdDZXNCLEVOZ0VmO0VBSUM7SU9sRk4sbUJBQW1CO0lBQ25CLFVBSG1CLEVQc0ZaO0VBRUQ7SU90Rk4sbUJBQW1CO0lBQ25CLFdBSG1CLEVQMEZaO0VBTUg7SU92RU4sdUJEVHNCLEVOa0ZmO0VBcEJEO0lLN0VOLGlCQ2VzQixFTmdFZjtFQUlDO0lPbEZOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRlo7RUFFRDtJT3RGTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZaO0VBTUg7SU92RU4saUJEVHNCLEVOa0ZmO0VBcEJEO0lLN0VOLGlCQ2VzQixFTmdFZjtFQUlDO0lPbEZOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRlo7RUFFRDtJT3RGTixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZaO0VBTUg7SU92RU4sdUJEVHNCLEVOa0ZmO0VBcEJEO0lLN0VOLFlDZXNCLEVOZ0VmO0VBZ0JEO0lPdkVOLHVCRFRzQixFTmtGZjtFQUtEO0lRbkdKLFlBQWlCO0lBQ2pCLFlWa0Z1RCxFVXJFeEQ7SUFmRztNQUtBLFlBQVksRUFDYjtJUjhGRztNUTNGRixZQUFZLEVBQ2I7SVIwRkc7TVF2RkYsWUFBWSxFQUNiO0VSc0ZHO0lRbkdKLFdBQWlCO0lBQ2pCLFlWa0Z1RCxFVXJFeEQ7SUFmRztNQUtBLFlBQVksRUFDYjtJQU5DO01BU0EsWUFBWSxFQUNiO0lSMEZHO01RdkZGLFlBQVksRUFDYjtFQWRDO0lBQ0YsaUJBQWlCO0lBQ2pCLFlWa0Z1RCxFVXJFeEQ7SVJxRks7TVEvRkYsWUFBWSxFQUNiO0lSOEZHO01RM0ZGLFlBQVksRUFDYjtJQVZDO01BYUEsWUFBWSxFQUNiO0VSc0ZHO0lRbkdKLFdBQWlCO0lBQ2pCLFlWa0Z1RCxFVXJFeEQ7SVJxRks7TVEvRkYsWUFBWSxFQUNiO0lBTkM7TUFTQSxZQUFZLEVBQ2I7SVIwRkc7TVF2RkYsWUFBWSxFQUNiO0VSc0ZHO0lRbkdKLFdBQWlCO0lBQ2pCLFlWa0Z1RCxFVXJFeEQ7SUFmRztNQUtBLFlBQVksRUFDYjtJUjhGRztNUTNGRixZQUFZLEVBQ2I7SVIwRkc7TVF2RkYsWUFBWSxFQUNiO0VBZEM7SUFDRixpQkFBaUI7SUFDakIsWVZrRnVELEVVckV4RDtJUnFGSztNUS9GRixZQUFZLEVBQ2I7SUFOQztNQVNBLFlBQVksRUFDYjtJQVZDO01BYUEsWUFBWSxFQUNiO0VSc0ZHO0lRbkdKLGlCQUFpQjtJQUNqQixZVmtGdUQsRVVyRXhEO0lBZkc7TUFLQSxZQUFZLEVBQ2I7SVI4Rkc7TVEzRkYsWUFBWSxFQUNiO0lSMEZHO01RdkZGLFlBQVksRUFDYjtFUnNGRztJUW5HSixhQUFpQjtJQUNqQixZVmtGdUQsRVVyRXhEO0lBZkc7TUFLQSxZQUFZLEVBQ2I7SUFOQztNQVNBLFlBQVksRUFDYjtJUjBGRztNUXZGRixZQUFZLEVBQ2I7RVI0RlE7SU92R1QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixtQkFBbUIsRVB1R2hCO0VBR0Q7OztJT2pHSixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdCQUFnQixFUGlHWCxFQUFBOztBSUtIO0VKM0NJO0lLN0VOLGdCQ2VzQixFTmdFZjtFQUlDO0lPbEZOLG1CQUFtQjtJQUNuQixlQUhtQixFUHNGWjtFQUVEO0lPdEZOLG1CQUFtQjtJQUNuQixnQkFIbUIsRVAwRlo7RUFNSDtJT3ZFTixnQkRac0IsRU5xRmY7RUFwQkQ7SUs3RU4saUJDZXNCLEVOZ0VmO0VBSUM7SU9sRk4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGWjtFQUVEO0lPdEZOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRlo7RUFNSDtJT3ZFTixzQkRUc0IsRU5rRmY7RUFwQkQ7SUs3RU4sV0Nlc0IsRU5nRWY7RUFJQztJT2xGTixtQkFBbUI7SUFDbkIsVUFIbUIsRVBzRlo7RUFFRDtJT3RGTixtQkFBbUI7SUFDbkIsV0FIbUIsRVAwRlo7RUFNSDtJT3ZFTix1QkRUc0IsRU5rRmY7RUFwQkQ7SUs3RU4saUJDZXNCLEVOZ0VmO0VBSUM7SU9sRk4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGWjtFQUVEO0lPdEZOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRlo7RUFNSDtJT3ZFTixpQkRUc0IsRU5rRmY7RUFwQkQ7SUs3RU4saUJDZXNCLEVOZ0VmO0VBSUM7SU9sRk4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGWjtFQUVEO0lPdEZOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRlo7RUFNSDtJT3ZFTix1QkRUc0IsRU5rRmY7RUFwQkQ7SUs3RU4sV0Nlc0IsRU5nRWY7RUFJQztJT2xGTixtQkFBbUI7SUFDbkIsVUFIbUIsRVBzRlo7RUFFRDtJT3RGTixtQkFBbUI7SUFDbkIsV0FIbUIsRVAwRlo7RUFNSDtJT3ZFTix1QkRUc0IsRU5rRmY7RUFwQkQ7SUs3RU4saUJDZXNCLEVOZ0VmO0VBSUM7SU9sRk4sbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGWjtFQUVEO0lPdEZOLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRlo7RUFNSDtJT3ZFTixpQkRUc0IsRU5rRmY7RUFwQkQ7SUs3RU4saUJDZXNCLEVOZ0VmO0VB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LDRCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsNEJBQTRCLEVDUjNCOztBM0RWSDtFeUR3Q0UsNkJBRmlCO01BRWpCLHlCQUZpQixFRWhCaEI7O0EzRHJCSDtFeUR1Q0UsZ0NBRmlCO01BRWpCLDRCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsNEJBQTRCLEVDUjNCOztBM0RUSDtFeUR1Q0UsNkJBRmlCO01BRWpCLHlCQUZpQixFRWhCaEI7O0EzRHBCSDtFeURzQ0UsNkJBRmlCO01BRWpCLHlCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsNEJBQTRCLEVDUjNCOztBM0RSSDtFeURzQ0UsZ0NBRmlCO01BRWpCLDRCQUZpQixFRWhCaEI7O0EzRG5CSDtFeURxQ0UsNkJBRmlCO01BRWpCLHlCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsNEJBQTRCLEVDUjNCOztBM0RQSDtFeURxQ0UsZ0NBRmlCO01BRWpCLDRCQUZpQixFRWhCaEI7O0EzRGxCSDtFeURvQ0UsNkJBRmlCO01BRWpCLHlCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsNEJBQTRCLEVDUjNCOztBM0ROSDtFeURvQ0UsaUNBRmlCO01BRWpCLDZCQUZpQixFRWhCaEI7O0EzRGpCSDtFeURtQ0UsNkJBRmlCO01BRWpCLHlCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsNEJBQTRCLEVDUjNCOztBM0RMSDtFeURtQ0UsaUNBRmlCO01BRWpCLDZCQUZpQixFRWhCaEI7O0EzRGRIO0V5RGdDRSxXekRoQ2tDO0U0REFsQyw2QkFBNkIsRURFNUI7O0EzREZIO0V5RGdDRSxXekRoQ3FDLEUyRGNwQzs7QTNEYkg7RXlEK0JFLFd6RC9Ca0M7RTRERGxDLDZCQUE2QixFREU1Qjs7QTNEREg7RXlEK0JFLFd6RC9CcUMsRTJEYXBDOztBM0RWSDtFeUQ0QkUsK0NJckNZO0VKcUNaLDBCQUZpQjtNQUVqQixzQkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBM0RFSDtFeUQ0QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBM0RUSDtFeUQyQkUsK0NJcENjO0VKb0NkLDRCQUZpQjtNQUVqQix3QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBM0RHSDtFeUQyQkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBM0RSSDtFeUQwQkUsOENJbkNlO0VKbUNmLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBM0RJSDtFeUQwQkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBM0RQSDtFeUR5QkUsOENJbENhO0VKa0NiLDJCQUZpQjtNQUVqQix1QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBM0RLSDtFeUR5QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBM0ROSDtFeUR3QkUsK0NJckNZO0VKcUNaLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBM0RNSDtFeUR3QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBM0RMSDtFeUR1QkUsK0NJcENjO0VKb0NkLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBM0RPSDtFeUR1QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBM0RKSDtFeURzQkUsNENJUndDO0VKUXhDLDBCQUZpQjtNQUVqQixzQkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBM0RRSDtFeURzQkUsK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBM0RISDtFeURxQkUsNENJUndDO0VKUXhDLDRCQUZpQjtNQUVqQix3QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBM0RTSDtFeURxQkUsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBM0RGSDtFeURvQkUsNENJUndDO0VKUXhDLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBM0RVSDtFeURvQkUsOENJbkNlO0VDcUJiLFdBQThCLEVISi9COztBM0RESDtFeURtQkUsNENJUndDO0VKUXhDLDJCQUZpQjtNQUVqQix1QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBM0RXSDtFeURtQkUsOENJbENhO0VDb0JYLFdBQThCLEVISi9COztBM0RBSDtFeURrQkUsNENJUndDO0VKUXhDLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBM0RZSDtFeURrQkUsK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBM0RDSDtFeURpQkUsNENJUndDO0VKUXhDLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBM0RhSDtFeURpQkUsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBM0RJSDtFeURjRSwwQkFGaUI7TUFFakIsc0JBRmlCO0VNM0JmLHdDQUF3QztFQUN4QyxXQUEyQixFSkY1Qjs7QTNEZ0JIO0V5RGNFLHdCQUZpQjtNQUVqQixvQkFGaUI7RU1oQmYsV0FBMkIsRUpBNUI7O0EzREtIO0V5RGFFLDBCQUZpQjtNQUVqQixzQkFGaUI7RU0zQmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVKRjVCOztBM0RpQkg7RXlEYUUsd0JBRmlCO01BRWpCLG9CQUZpQjtFTWhCZixXQUEyQixFSkE1Qjs7QTNETUg7RXlEWUUsd0JBRmlCO01BRWpCLG9CQUZpQjtFTTNCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUpGL0I7O0EzRGtCSDtFeURZRSwwQkFGaUI7TUFFakIsc0JBRmlCO0VNaEJmLFdBQThCLEVKQS9COztBM0RPSDtFeURXRSx3QkFGaUI7TUFFakIsb0JBRmlCO0VNM0JmLHdDQUF3QztFQUN4QyxXQUE4QixFSkYvQjs7QTNEbUJIO0V5RFdFLDBCQUZpQjtNQUVqQixzQkFGaUI7RU1oQmYsV0FBOEIsRUpBL0I7O0EzRFVIO0V5RFFFLGlDQUZpQjtNQUVqQiw2QkFGaUI7RU8zQmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVMRjVCOztBM0Rz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LHNCQUFzQjtVQUN0QixZQUFZO1VBQ1osa0JBQWtCO1VBQ2xCLGdCQUFnQjtVQUNoQixtQkFBbUI7VUFDbkIsV0FBVyxFQUtYO1VBWEQ7WUFTRSwwQmpGek9nQixFaUYwT2hCLEVBQUE7O0FBTU07RUFDVixnQkFBZ0I7RUFDaEIsc0JBQXNCLEVBQ3RCIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcclxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4gKiBWZXJzaW9uIDYuMC42XHJcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cclxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcbiAqL1xuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLCAuc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIsIC5zbGlkZS1pbi11cC5tdWktZW50ZXIsIC5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIsIC5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUsIC5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLCAuc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSwgLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSwgLmZhZGUtaW4ubXVpLWVudGVyLCAuZmFkZS1vdXQubXVpLWxlYXZlLCAuaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciwgLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUsIC5zY2FsZS1pbi11cC5tdWktZW50ZXIsIC5zY2FsZS1pbi1kb3duLm11aS1lbnRlciwgLnNjYWxlLW91dC11cC5tdWktbGVhdmUsIC5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUsIC5zcGluLWluLm11aS1lbnRlciwgLnNwaW4tb3V0Lm11aS1sZWF2ZSwgLnNwaW4taW4tY2N3Lm11aS1lbnRlciwgLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcclxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxyXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXHJcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxyXG4gICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cclxuICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxyXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXHJcbiAgICogYW5kIEZpcmVmb3guXHJcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cclxuICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxyXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gICAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXHJcbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcclxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXHJcbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxyXG4gICAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXHJcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxyXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cclxuICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxyXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcclxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXHJcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxyXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXHJcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cclxuICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcclxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXHJcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICAgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcclxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cclxuICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxyXG4gICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcclxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXHJcbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXHJcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcclxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcclxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXHJcbiAgICovXG4vKipcclxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXHJcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcclxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXHJcbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cclxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxyXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cclxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxyXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXHJcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXHJcbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXHJcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG4gICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxyXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAgICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXHJcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gICAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXHJcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxyXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxyXG4gICAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxyXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cclxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4gICAqXHJcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cclxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4gICAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cclxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxyXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cclxuICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxyXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cclxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXHJcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxyXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXHJcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxyXG4gICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXHJcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxyXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cclxuICAgKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXHJcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxyXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxyXG4gICAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gICAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTIwZW0mbWVkaXVtPTQ4ZW0mbGFyZ2U9NjQuMTI1ZW0meGxhcmdlPTEwMGVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9XZWJcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzUwMTMwMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICAucm93LnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAucm93LnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93Lm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5yb3cubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4xMjVlbSkge1xuICAgIC5yb3cubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5yb3cubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG4gIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jb2x1bW4uZW5kOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmVuZC5jb2x1bW5zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7IH1cbiAgLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAuc21hbGwtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLnNtYWxsLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLnNtYWxsLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLnNtYWxsLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLnNtYWxsLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLnNtYWxsLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLnNtYWxsLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLnNtYWxsLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLnNtYWxsLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLnNtYWxsLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5zbWFsbC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNtYWxsLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sdW1uLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQuY29sdW1ucyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC11bmNlbnRlcixcbiAgLnNtYWxsLXB1c2gtMCxcbiAgLnNtYWxsLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sdW1uLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLm1lZGl1bS11bmNlbnRlcixcbiAgLm1lZGl1bS1wdXNoLTAsXG4gIC5tZWRpdW0tcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjEyNWVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5sYXJnZS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5sYXJnZS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5sYXJnZS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbHVtbi5sYXJnZS1jZW50ZXJlZCwgLmxhcmdlLWNlbnRlcmVkLmNvbHVtbnMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAubGFyZ2UtdW5jZW50ZXIsXG4gIC5sYXJnZS1wdXNoLTAsXG4gIC5sYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG4uY29uZGl0aW9ucyBsaSxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuLmNvbmRpdGlvbnMgbGksXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1dlYkJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjYWU5NDZlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuY29uZGl0aW9ucyBsaSBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBjb2xvcjogI2VlZTllMztcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBoNCwgLmNvbmRpdGlvbnMgbGkge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIGg0LCAuY29uZGl0aW9ucyBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMTI1ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBoNCwgLmNvbmRpdGlvbnMgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG5cbmEge1xuICBjb2xvcjogIzUwMTMwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICM5OTdlMTU7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOWUzO1xuICBib3JkZXItbGVmdDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGNsZWFyOiBib3RoOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBpbmhlcml0OyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWVlOWUzOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogI2ViZWJlYjsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogI2ViZWJlYjsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzUwMTMwMDtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDA7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTllMztcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICNlYmViZWI7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkge1xuICAudGV4dC1sZWZ0LCAubWVkaXVtLWRvd24tY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50ZXh0LWNlbnRlciwgLm1lZGl1bS1kb3duLWNlbnRlcmVkLCAuZ3Vlc3QtY291bnQgLmNvbHVtbiwgLmd1ZXN0LWNvdW50IC5jb2x1bW5zLCAuaG90ZWwgLmNvbHVtbiAubG9jYXRpb24sIC5ob3RlbCAuY29sdW1ucyAubG9jYXRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjEyNWVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgbWFyZ2luOiAwIDFyZW0gMXJlbSAwO1xuICBmb250LXNpemU6IDAuOXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogI2FlOTQ2ZTtcbiAgICBjb2xvcjogbm9uZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM5Mjc4NTE7XG4gICAgICBjb2xvcjogbm9uZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzUwMTMwMDtcbiAgICBjb2xvcjogbm9uZTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDAwZjAwO1xuICAgICAgY29sb3I6IG5vbmU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiBub25lOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiBub25lOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNmZjAwMDA7XG4gICAgY29sb3I6IG5vbmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjYzAwMDA7XG4gICAgICBjb2xvcjogbm9uZTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6IG5vbmU7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2M4YjAwO1xuICAgICAgY29sb3I6IG5vbmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZTk0NmU7XG4gICAgY29sb3I6ICNhZTk0NmU7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzViNGIzMztcbiAgICAgIGNvbG9yOiAjNWI0YjMzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWU5NDZlO1xuICAgICAgY29sb3I6ICNhZTk0NmU7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM1YjRiMzM7XG4gICAgICAgIGNvbG9yOiAjNWI0YjMzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1MDEzMDA7XG4gICAgICBjb2xvcjogIzUwMTMwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyODBhMDA7XG4gICAgICAgIGNvbG9yOiAjMjgwYTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmMDAwMDtcbiAgICAgIGNvbG9yOiAjZmYwMDAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcm9vbjtcbiAgICAgICAgY29sb3I6IG1hcm9vbjsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogMC4yZW07IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi4zMTI1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzUwMTMwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J2xhYmVsJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHggMCAwIDJweDsgfVxuICAuaW5wdXQtZ3JvdXAgPiAqOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDJweCAycHggMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlOWUzOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDIuMzc1cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMSU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4zMTI1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNTAxMzAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6IHJnYig1MSwgNTEsIDUxKVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNmZjAwMDA7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogbm9uZTsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBub25lOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4xMjVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjEyNWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMTI1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFjY29yZGlvbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y5ZjlmOTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICNhZTk0NmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmOWY5Zjk7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ+KAkyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Y5ZjlmOTsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNhZTk0NmU7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM1MDEzMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwMDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICM5ZjlmOWY7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZWVlOWUzO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICM5ZjlmOWY7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2Y5ZjlmOTsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBub25lOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQsXG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZCB+IC5idXR0b24ge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkLFxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQgfiAuYnV0dG9uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZCxcbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkIH4gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQsXG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZCB+IC5idXR0b24ge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkLFxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQgfiAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWU5NDZlO1xuICAgIGNvbG9yOiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM5Mjc4NTE7XG4gICAgICBjb2xvcjogbm9uZTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTAxMzAwO1xuICAgIGNvbG9yOiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDAwZjAwO1xuICAgICAgY29sb3I6IG5vbmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6IG5vbmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiBub25lOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDAwMDtcbiAgICBjb2xvcjogbm9uZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjYzAwMDA7XG4gICAgICBjb2xvcjogbm9uZTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogbm9uZTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2M4YjAwO1xuICAgICAgY29sb3I6IG5vbmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbm9uZTsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmNzAxOTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NmU7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTAxMzAwOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogI2ZmZjtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNhZTk0NmU7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5qcy1kcmlsbGRvd24tYmFjazo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjYWU5NDZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42cmVtO1xuICBtYXJnaW4tdG9wOiAxNHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTllMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMzAwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1kb3duLWFycm93IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzUwMTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjgyNXJlbTtcbiAgICByaWdodDogNXB4OyB9XG4gIC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1sZWZ0LWFycm93ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM1MDEzMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLXJpZ2h0LWFycm93ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM1MDEzMDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyB9XG4gIC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1sZWZ0LWFycm93Lm9wZW5zLWlubmVyIC5zdWJtZW51IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1yaWdodC1hcnJvdy5vcGVucy1pbm5lciAuc3VibWVudSB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgLnN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU5ZTM7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudSAuc3VibWVudTpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUsIC5kcm9wZG93bi5tZW51IC5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgLnN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwgPiBsaSAuc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQ6ICNhZTk0NmU7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM1MDEzMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwMDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCggKyAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24uYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51ID4gbGkge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEgPiBpbWcsXG4gIC5tZW51ID4gbGkgPiBhID4gaSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSA+IHNwYW4ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lbnUgPiBsaSA+IGEgPiBpbWcsXG4gIC5tZW51ID4gbGkgPiBhID4gaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjEyNWVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0ID4gbGkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWVudS5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkLFxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQgfiBsaSB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZCxcbiAgICAubWVudS5leHBhbmRlZCA+IGxpOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkIH4gbGkge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQsXG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZCB+IGxpIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkLFxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQgfiBsaSB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZCxcbiAgICAubWVudS5leHBhbmRlZCA+IGxpOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkIH4gbGkge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgPiBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgPiBpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMC4yNXJlbTsgfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5tZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmJlZm9yZSwgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCxcbi5tYWluLWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cblxuLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC41cyBlYXNlOyB9XG4gIC5pcy1vZmYtY2FudmFzLW9wZW4gLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIHotaW5kZXg6IC0xO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgbGVmdDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1sZWZ0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHJpZ2h0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC5pcy1vcGVuLXJpZ2h0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5tYWluLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAubWFpbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4xMjVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5tYWluLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm1haW4tY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUwMTMwMDsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUwMTMwMDsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjYWU5NDZlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2VlZTllMztcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgY29udGVudDogJ+KApic7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBjb250ZW50OiAnwqsnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICfCuyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOWUzO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZTk0NmU7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MDEzMDA7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDZlO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgLnByb2dyZXNzLW1ldGVyIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU5ZTM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWU5NDZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5YjdmNTc7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTllMztcbiAgbWFyZ2luOiAxMDBweCBhdXRvIDAgYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIC5yZXZlYWwge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4uc3dpdGNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAjZWVlOWUzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWU5NDZlOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtOyB9XG5cbi5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6YWZ0ZXIge1xuICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6YWZ0ZXIge1xuICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6YWZ0ZXIge1xuICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgIGNvbG9yOiAjNTAxMzAwOyB9XG4gICAgdGhlYWQgdHIsXG4gICAgdGZvb3QgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICB0aGVhZCB0aCxcbiAgICB0aGVhZCB0ZCxcbiAgICB0Zm9vdCB0aCxcbiAgICB0Zm9vdCB0ZCB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lOyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbnRhYmxlLmhvdmVyIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuXG50YWJsZS5ob3ZlciB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y5ZjlmOTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAudGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjYWU5NDZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNhOThkNjU7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogI2FlOTQ2ZTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmOWY5Zjk7XG4gIGJvcmRlci10b3A6IDA7IH1cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Y5ZjlmOTtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnRodW1ibmFpbDpob3ZlciwgLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjUpOyB9XG5cbi50aXRsZS1iYXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMC41cmVtOyB9XG4gIC50aXRsZS1iYXI6OmJlZm9yZSwgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmLCAwIDE0cHggMCAjZmZmOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlOWUzO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2VlZTllMywgMCAxNHB4IDAgI2VlZTllMzsgfVxuXG4uaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI2ViZWJlYjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiA4MCU7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgbWF4LXdpZHRoOiAxMHJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udG9wLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAudG9wLWJhcjo6YmVmb3JlLCAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxuICAudG9wLWJhciBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc3RhY2tlZC1mb3Itc21hbGwgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1zbWFsbCAudG9wLWJhci1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gIC5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudG9wLWJhci1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udG9wLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJMYXRvV2ViQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZFwiOyB9XG5cbi5hY2NvcmRpb24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hY2NvcmRpb24gYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNDgsIDExMCwgMC4zKTsgfVxuXG4uaW5uZXItYWNjb3JkaW9uIHtcbiAgcGFkZGluZzogMDsgfVxuICAuaW5uZXItYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b1dlYkJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5pbm5lci1hY2NvcmRpb24gbGk6bGFzdC1jaGlsZCBhIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmlubmVyLWFjY29yZGlvbiBsaTpsYXN0LWNoaWxkIC5hY2NvcmRpb24tY29udGVudCB1bCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNDgsIDExMCwgMC4zKTsgfVxuICAuaW5uZXItYWNjb3JkaW9uIGxpOmxhc3QtY2hpbGQgLmFjY29yZGlvbi1jb250ZW50IGxpIGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7IH1cbiAgLmlubmVyLWFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpOyB9XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuXG4uc2Vjb25kLXRpZXItbWVudS1jb21wIC5hY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNlY29uZC10aWVyLW1lbnUtY29tcCAuYWNjb3JkaW9uLWNvbnRlbnQgbGkge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5hY2NvcmRpb24tY29udGVudCBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogXCJMYXRvTGlnaHRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEwcHggNXB4IDEwcHggMjVweDsgfVxuICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9XZWJCb2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBwYWRkaW5nOiAxMHB4IDVweCAxMHB4IDI1cHg7IH1cbiAgLnNlY29uZC10aWVyLW1lbnUtY29tcCAuYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9MaWdodFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgYm9yZGVyOiAwOyB9XG5cbi5icmVhZGNydW1iLWNvbXAge1xuICBtYXJnaW46IDAgMTVweDsgfVxuICAuYnJlYWRjcnVtYi1jb21wIC5icmVhZGNydW1icyB7XG4gICAgbWFyZ2luOiAyLjVyZW0gMCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4xMjVlbSkge1xuICAgICAgLmJyZWFkY3J1bWItY29tcCAuYnJlYWRjcnVtYnMge1xuICAgICAgICBtYXJnaW46IDIuNXJlbSAwIDEuMjVyZW0gMDsgfSB9XG4gICAgLmJyZWFkY3J1bWItY29tcCAuYnJlYWRjcnVtYnMgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXRvV2ViXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5icmVhZGNydW1iLWNvbXAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogXCJMYXRvV2ViQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC5icmVhZGNydW1iLWNvbXAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIj5cIjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogIzlmOWY5ZjtcbiAgICAgICAgdG9wOiAtMXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4xMjVlbSkge1xuICAgICAgICAuYnJlYWRjcnVtYi1jb21wIC5icmVhZGNydW1icyBsaSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZGF0ZXBpY2tlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IC00JTtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5kYXRlcGlja2VyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmRhdGVwaWNrZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAuZGF0ZXBpY2tlciBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuXG4uZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBjb2xvcjogI2FlOTQ2ZTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmRhdGVwaWNrZXIuZHJvcGRvd24tbWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUge1xuICAgICAgbWFyZ2luLXRvcDogMjNweDsgfSB9XG5cbi5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGgge1xuICBwYWRkaW5nOiA2cHggMTJweDsgfVxuXG4uZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHRkIHtcbiAgcGFkZGluZzogNnB4IDEycHg7IH1cblxuLmRhdGVwaWNrZXIgdGFibGUge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5kYXRlcGlja2VyIHRhYmxlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMSU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZGF0ZXBpY2tlciB0ZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZGF0ZXBpY2tlciB0ZC5vbGQsIC5kYXRlcGlja2VyIHRkLm5ldyB7XG4gIGNvbG9yOiByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuNCk7IH1cblxuLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUge1xuICBjb2xvcjogIzUwMTMwMDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1dlYkJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5kYXRlcGlja2VyIHRkLmRheS5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjZWVlO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmRhdGVwaWNrZXIgdGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmRhdGVwaWNrZXIgdGguZGF0ZS1zd2l0Y2gge1xuICB3aWR0aDogMTQ1cHg7IH1cblxuLmRhdGVwaWNrZXIgdGggc3Bhbi5hY3RpdmUge1xuICBjb2xvcjogIzUwMTMwMDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1dlYkJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5kYXRlcGlja2VyIC5jdyB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgd2lkdGg6IDEycHg7XG4gIHBhZGRpbmc6IDAgMnB4IDAgNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5kYXRlcGlja2VyLmRheXMgZGl2LmRhdGVwaWNrZXItZGF5cyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kYXRlcGlja2VyLm1vbnRocyBkaXYuZGF0ZXBpY2tlci1tb250aHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZGF0ZXBpY2tlci55ZWFycyBkaXYuZGF0ZXBpY2tlci15ZWFycyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kYXRlcGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kYXRlcGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLmN3IHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZGF0ZXBpY2tlciB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZGF0ZXBpY2tlci1pbmxpbmUge1xuICB3aWR0aDogMjIwcHg7IH1cblxuLmRhdGVwaWNrZXItcnRsIHtcbiAgZGlyZWN0aW9uOiBydGw7IH1cblxuLmRhdGVwaWNrZXItcnRsIHRhYmxlIHRyIHRkIHNwYW4ge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmRhdGVwaWNrZXItZHJvcGRvd24ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLmRhdGVwaWNrZXItZHJvcGRvd246YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC03cHg7XG4gIGxlZnQ6IDZweDsgfVxuXG4uZGF0ZXBpY2tlci1kcm9wZG93bjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNnB4O1xuICBsZWZ0OiA3cHg7IH1cblxuLmRhdGVwaWNrZXIgPiBkaXYsXG4uZGF0ZXBpY2tlci1kcm9wZG93bjo6YmVmb3JlLFxuLmRhdGVwaWNrZXItZHJvcGRvd246OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZGF0ZXBpY2tlci1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQsXG4udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWZvdW5kYXRpb24tZGF0ZXBpY2tlci5jc3MubWFwICovXG4udGFibGUtY29uZGVuc2VkIHRoZWFkLFxuLnRhYmxlLWNvbmRlbnNlZCB0Ym9keSxcbi50YWJsZS1jb25kZW5zZWQgdGZvb3Qge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmRhdGVwaWNrZXItbW9udGhzIHtcbiAgd2lkdGg6IDIyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZGF0ZXBpY2tlci1tb250aHMge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuZGF0ZXBpY2tlci1tb250aHMgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmRhdGVwaWNrZXItbW9udGhzIHRhYmxlIHRyIHRkIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICAgLmRhdGVwaWNrZXItbW9udGhzIHRhYmxlIHRyIHRkIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgLmRhdGVwaWNrZXItbW9udGhzIHRhYmxlIHRyIHRoIHtcbiAgICAgIGhlaWdodDogNTBweDsgfVxuICAgIC5kYXRlcGlja2VyLW1vbnRocyB0YWJsZSB0aGVhZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjIpOyB9XG5cbi5kYXRlcGlja2VyLWRheXMgLmRheS5hY3RpdmUge1xuICBjb2xvcjogIzUwMTMwMDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1dlYkJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5kYXRlcGlja2VyLWRheXMgLmRvdyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMik7XG4gIGNvbG9yOiAjYWU5NDZlOyB9XG5cbi5kYXRlcGlja2VyLWRheXMgLmRhdGUtc3dpdGNoIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uZHAge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuI3N0YXJ0RGF0ZSxcbiNlbmREYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBXZWJmb250OiBMYXRvLUJvbGQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0xhdG9XZWJCb2xkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9MYXRvLUJvbGQuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTGF0by1Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0xhdG8tQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0xhdG8tQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG4vKiBXZWJmb250OiBMYXRvLUJvbGRJdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0xhdG9XZWJCb2xkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9MYXRvLUJvbGRJdGFsaWMuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTGF0by1Cb2xkSXRhbGljLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG4vKiBXZWJmb250OiBMYXRvLUxpZ2h0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvV2ViTGlnaHQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0xhdG8tTGlnaHQuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTGF0by1MaWdodC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9MYXRvLUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvTGF0by1MaWdodC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG4vKiBXZWJmb250OiBMYXRvLUxpZ2h0SXRhbGljICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvV2ViTGlnaHQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0xhdG8tTGlnaHRJdGFsaWMuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTGF0by1MaWdodEl0YWxpYy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9MYXRvLUxpZ2h0SXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvTGF0by1MaWdodEl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG4vKiBXZWJmb250OiBMYXRvLVJlZ3VsYXIgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0xhdG9XZWInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0xhdG8tUmVndWxhci5lb3RcIik7XG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoXCIuLi9mb250cy9MYXRvLVJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvTGF0by1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvTGF0by1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb25mb250JztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29uZm9udC5lb3Q/MjQzMDI2MThcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbmZvbnQuZW90PzI0MzAyNjE4I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29uZm9udC53b2ZmPzI0MzAyNjE4XCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2ljb25mb250LnR0Zj8yNDMwMjYxOFwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbmZvbnQuc3ZnPzI0MzAyNjE4I2ljb25mb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ29wdGltYW5vcm1hbCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvb3B0aW1hLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wdGltYS13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL29wdGltYS13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vcHRpbWEtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL29wdGltYS13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvb3B0aW1hLXdlYmZvbnQuc3ZnI29wdGltYW5vcm1hbFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdvcHRpbWFib2xkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9vcHRpbWFfYi13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9vcHRpbWFfYi13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL29wdGltYV9iLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wdGltYV9iLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9vcHRpbWFfYi13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvb3B0aW1hX2Itd2ViZm9udC5zdmcjb3B0aW1hYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdvcHRpbWFpdGFsaWMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wdGltYV9pLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wdGltYV9pLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvb3B0aW1hX2ktd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3B0aW1hX2ktd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL29wdGltYV9pLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9vcHRpbWFfaS13ZWJmb250LnN2ZyNvcHRpbWFpdGFsaWNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnb3B0aW1hcmVndWxhcic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvdW5pY29kZS5vcHRpbWEtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvdW5pY29kZS5vcHRpbWEtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy91bmljb2RlLm9wdGltYS13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy91bmljb2RlLm9wdGltYS13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvdW5pY29kZS5vcHRpbWEtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3VuaWNvZGUub3B0aW1hLXdlYmZvbnQuc3ZnI29wdGltYXJlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd2VhdGhlcic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYXJ0aWxsX2NsZWFuX2ljb25zLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2FydGlsbF9jbGVhbl9pY29ucy13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2FydGlsbF9jbGVhbl9pY29ucy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvYXJ0aWxsX2NsZWFuX2ljb25zLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9hcnRpbGxfY2xlYW5faWNvbnMtd2ViZm9udC5zdmcjYXJ0aWxsX2NsZWFuX3dlYXRoZXJfaWNvbnNSZ1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZm9udGVsbG8uZW90PzIyNTU1NTQ5XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD8yMjU1NTU0OSNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8ud29mZjI/MjI1NTU1NDlcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLndvZmY/MjI1NTU1NDlcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8udHRmPzIyNTU1NTQ5XCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby5zdmc/MjI1NTU1NDkjZm9udGVsbG9cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogQ2hyb21lIGhhY2s6IFNWRyBpcyByZW5kZXJlZCBtb3JlIHNtb290aCBpbiBXaW5kb3p6ZS4gMTAwJSBtYWdpYywgdW5jb21tZW50IGlmIHlvdSBuZWVkIGl0LiAqL1xuLyogTm90ZSwgdGhhdCB3aWxsIGJyZWFrIGhpbnRpbmchIEluIG90aGVyIE9TLWVzIGZvbnQgd2lsbCBiZSBub3QgYXMgc2hhcnAgYXMgaXQgY291bGQgYmUgKi9cbi8qXHJcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/MjI1NTU1NDkjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xyXG4gIH1cclxufVxyXG4qL1xuW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSwgW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNwZWFrOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gIG1hcmdpbi1sZWZ0OiAuMmVtO1xuICAvKiB5b3UgY2FuIGJlIG1vcmUgY29tZm9ydGFibGUgd2l0aCBpbmNyZWFzZWQgaWNvbnMgc2l6ZSAqL1xuICAvKiBmb250LXNpemU6IDEyMCU7ICovXG4gIC8qIEZvbnQgc21vb3RoaW5nLiBUaGF0IHdhcyB0YWtlbiBmcm9tIFRXQlMgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXG4gIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovIH1cblxuLndlYXRoZXItZm9udCwgI3dlYXRoZXIgLmljb24tMDpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTE6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0yOmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMzpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTQ6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi01OmJlZm9yZSwgI3dlYXRoZXIgLmljb24tNjpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTc6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi04OmJlZm9yZSwgI3dlYXRoZXIgLmljb24tOTpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTEwOmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMTE6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0xMjpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTEzOmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMTQ6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0xNTpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTE2OmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMTc6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0xODpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTE5OmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMjA6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0yMTpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTIyOmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMjM6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0yNDpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTI1OmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMjY6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0yNzpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTI4OmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMjk6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0zMDpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTMxOmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMzI6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0zMzpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTM0OmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMzU6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0zNjpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTM3OmJlZm9yZSwgI3dlYXRoZXIgLmljb24tMzg6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi0zOTpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTQwOmJlZm9yZSwgI3dlYXRoZXIgLmljb24tNDE6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi00MjpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTQzOmJlZm9yZSwgI3dlYXRoZXIgLmljb24tNDQ6YmVmb3JlLCAjd2VhdGhlciAuaWNvbi00NTpiZWZvcmUsICN3ZWF0aGVyIC5pY29uLTQ2OmJlZm9yZSwgI3dlYXRoZXIgLmljb24tNDc6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IHdlYXRoZXI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4wOyB9XG5cbiN3ZWF0aGVyIC5pY29uLTA6YmVmb3JlIHtcbiAgY29udGVudDogXCI6XCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTpiZWZvcmUge1xuICBjb250ZW50OiBcInBcIjsgfVxuXG4jd2VhdGhlciAuaWNvbi0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiU1wiOyB9XG5cbiN3ZWF0aGVyIC5pY29uLTM6YmVmb3JlIHtcbiAgY29udGVudDogXCJRXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlNcIjsgfVxuXG4jd2VhdGhlciAuaWNvbi01OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiV1wiOyB9XG5cbiN3ZWF0aGVyIC5pY29uLTY6YmVmb3JlIHtcbiAgY29udGVudDogXCJXXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNzpiZWZvcmUge1xuICBjb250ZW50OiBcIldcIjsgfVxuXG4jd2VhdGhlciAuaWNvbi04OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiV1wiOyB9XG5cbiN3ZWF0aGVyIC5pY29uLTk6YmVmb3JlIHtcbiAgY29udGVudDogXCJJXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTA6YmVmb3JlIHtcbiAgY29udGVudDogXCJXXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJJXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJJXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTM6YmVmb3JlIHtcbiAgY29udGVudDogXCJJXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJJXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTU6YmVmb3JlIHtcbiAgY29udGVudDogXCJXXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTY6YmVmb3JlIHtcbiAgY29udGVudDogXCJJXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTc6YmVmb3JlIHtcbiAgY29udGVudDogXCJXXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTg6YmVmb3JlIHtcbiAgY29udGVudDogXCJVXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMTk6YmVmb3JlIHtcbiAgY29udGVudDogXCJaXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjA6YmVmb3JlIHtcbiAgY29udGVudDogXCJaXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjE6YmVmb3JlIHtcbiAgY29udGVudDogXCJaXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjI6YmVmb3JlIHtcbiAgY29udGVudDogXCJaXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjM6YmVmb3JlIHtcbiAgY29udGVudDogXCJaXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJFXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjU6YmVmb3JlIHtcbiAgY29udGVudDogXCJFXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjY6YmVmb3JlIHtcbiAgY29udGVudDogXCIzXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjc6YmVmb3JlIHtcbiAgY29udGVudDogXCJhXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjg6YmVmb3JlIHtcbiAgY29udGVudDogXCJBXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMjk6YmVmb3JlIHtcbiAgY29udGVudDogXCJhXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzA6YmVmb3JlIHtcbiAgY29udGVudDogXCJBXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzE6YmVmb3JlIHtcbiAgY29udGVudDogXCI2XCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzI6YmVmb3JlIHtcbiAgY29udGVudDogXCIxXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzM6YmVmb3JlIHtcbiAgY29udGVudDogXCI2XCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzQ6YmVmb3JlIHtcbiAgY29udGVudDogXCIxXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzU6YmVmb3JlIHtcbiAgY29udGVudDogXCJXXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzY6YmVmb3JlIHtcbiAgY29udGVudDogXCIxXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzc6YmVmb3JlIHtcbiAgY29udGVudDogXCJTXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzg6YmVmb3JlIHtcbiAgY29udGVudDogXCJTXCI7IH1cblxuI3dlYXRoZXIgLmljb24tMzk6YmVmb3JlIHtcbiAgY29udGVudDogXCJTXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNDA6YmVmb3JlIHtcbiAgY29udGVudDogXCJNXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJXXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNDI6YmVmb3JlIHtcbiAgY29udGVudDogXCJJXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNDM6YmVmb3JlIHtcbiAgY29udGVudDogXCJXXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNDQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJhXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNDU6YmVmb3JlIHtcbiAgY29udGVudDogXCJTXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNDY6YmVmb3JlIHtcbiAgY29udGVudDogXCJVXCI7IH1cblxuI3dlYXRoZXIgLmljb24tNDc6YmVmb3JlIHtcbiAgY29udGVudDogXCJTXCI7IH1cblxuLmljb24tc3BpbjY6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMCc7IH1cblxuLyogJ+6ggCcgKi9cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDEnOyB9XG5cbi8qICfuoIEnICovXG4uaWNvbi1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMic7IH1cblxuLyogJ+6ggicgKi9cbi5pY29uLWNjdzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAzJzsgfVxuXG4vKiAn7qCDJyAqL1xuLmljb24tdGh1bWJzLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDQnOyB9XG5cbi8qICfuoIQnICovXG4uaWNvbi1kb2M6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNSc7IH1cblxuLyogJ+6ghScgKi9cbi5pY29uLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDYnOyB9XG5cbi8qICfuoIYnICovXG4uaWNvbi1wbHVzLWNpcmNsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNyc7IH1cblxuLyogJ+6ghycgKi9cbi5pY29uLW9rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDgnOyB9XG5cbi8qICfuoIgnICovXG4uaWNvbi1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDknOyB9XG5cbi8qICfuoIknICovXG4uaWNvbi1wZW5jaWw6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwYSc7IH1cblxuLyogJ+6giicgKi9cbi5pY29uLW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwYic7IH1cblxuLyogJ+6giycgKi9cbi5pY29uLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MGMnOyB9XG5cbi8qICfuoIwnICovXG4uaWNvbi1hbmdsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODBkJzsgfVxuXG4vKiAn7qCNJyAqL1xuLmljb24tYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODBlJzsgfVxuXG4vKiAn7qCOJyAqL1xuLmljb24tcGxheS1jaXJjbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MGYnOyB9XG5cbi8qICfuoI8nICovXG4uaWNvbi1zdW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxMCc7IH1cblxuLyogJ+6gkCcgKi9cbi5pY29uLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODExJzsgfVxuXG4vKiAn7qCRJyAqL1xuLmljb24tbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODEyJzsgfVxuXG4vKiAn7qCSJyAqL1xuLmljb24tc3VpdGNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxMyc7IH1cblxuLyogJ+6gkycgKi9cbi5pY29uLW1lZ2FwaG9uZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODE0JzsgfVxuXG4vKiAn7qCUJyAqL1xuLmljb24taW5zdGFncmFtLWZpbGxlZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODE1JzsgfVxuXG4vKiAn7qCVJyAqL1xuLmljb24tdHdpdHRlci1iaXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTYnOyB9XG5cbi8qICfuoJYnICovXG4uaWNvbi1sZWZ0LW9wZW4tYmlnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTcnOyB9XG5cbi8qICfuoJcnICovXG4uaWNvbi1yaWdodC1vcGVuLWJpZzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODE4JzsgfVxuXG4vKiAn7qCYJyAqL1xuLmljb24tZm9vZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODE5JzsgfVxuXG4vKiAn7qCZJyAqL1xuLmljb24tYmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MWEnOyB9XG5cbi8qICfuoJonICovXG4uaWNvbi11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODFiJzsgfVxuXG4vKiAn7qCbJyAqL1xuLmljb24tcmFpbi1pbnY6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxYyc7IH1cblxuLyogJ+6gnCcgKi9cbi5pY29uLWNhbmNlbDpiZWZvcmUsIC5iYWNrLW5hdiAuYmFjay1idXR0b246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxZCc7IH1cblxuLyogJ+6gnScgKi9cbi5pY29uLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MWUnOyB9XG5cbi8qICfuoJ4nICovXG4uaWNvbi1mbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODFmJzsgfVxuXG4vKiAn7qCfJyAqL1xuLmljb24tbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODIwJzsgfVxuXG4vKiAn7qCgJyAqL1xuLmljb24tZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MjEnOyB9XG5cbi8qICfuoKEnICovXG4uaWNvbi1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyMic7IH1cblxuLyogJ+6goicgKi9cbi5pY29uLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyMyc7IH1cblxuLyogJ+6goycgKi9cbi5pY29uLWxvY2F0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MjQnOyB9XG5cbi8qICfuoKQnICovXG4uaWNvbi1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODI1JzsgfVxuXG4vKiAn7qClJyAqL1xuLmljb24tcGludGVyZXN0LWNpcmNsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyNic7IH1cblxuLyogJ+6gpicgKi9cbi5pY29uLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MjcnOyB9XG5cbi8qICfuoKcnICovXG4uaWNvbi1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MjgnOyB9XG5cbi8qICfuoKgnICovXG4uaWNvbi10cmlwLWFkdmlzb3I6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgyOSc7IH1cblxuLyogJ+6gqScgKi9cbi5pY29uLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODJhJzsgfVxuXG4vKiAn7qCqJyAqL1xuLmljb24tZmxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MmInOyB9XG5cbi8qICfuoKsnICovXG4vKlxyXG4gICBBbmltYXRpb24gZXhhbXBsZSwgZm9yIHNwaW5uZXJzXHJcbiovXG4uYW5pbWF0ZS1zcGluIHtcbiAgLW1vei1hbmltYXRpb246IHNwaW4gMS4ycyBpbmZpbml0ZSBsaW5lYXI7XG4gIC1vLWFuaW1hdGlvbjogc3BpbiAxLjJzIGluZmluaXRlIGxpbmVhcjtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMS4ycyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogc3BpbiAxLjJzIGluZmluaXRlIGxpbmVhcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbkAtbW96LWtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkAtby1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG5ALW1zLWtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG4uaGVhZGVyLWNvbXAge1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbXAgLndpZGUtbWFyZ2luIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmhlYWRlci1jb21wIC50b3AtcGFkZGVkIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmhlYWRlci1jb21wIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuaGVhZGVyLWNvbXAgLmhlYWRlci1jb250YWluZXIgaDEge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuaGVhZGVyLWNvbXAgLmhlYWRlci1jb250YWluZXIgaDEgLmxvZ28ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMCAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5oZWFkZXItY29tcCAuaGVhZGVyLWNvbnRhaW5lciBoMSAubG9nbyB7XG4gICAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgICAgICAgLmhlYWRlci1jb21wIC5oZWFkZXItY29udGFpbmVyIGgxIC5sb2dvIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLmhlYWRlci1jb21wIC5oZWFkZXItY29udGFpbmVyIC5tYWluLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBoZWlnaHQ6IDkycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuaGVhZGVyLWNvbXAgLmhlYWRlci1jb250YWluZXIgLm1haW4taGVhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiA2MnB4OyB9XG4gICAgICAgIC5oZWFkZXItY29tcCAuaGVhZGVyLWNvbnRhaW5lciAubWFpbi1oZWFkZXIgaDEge1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyB9IH1cblxuLm1haW4tY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDkycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogNjJweDsgfSB9XG5cbi5iYWNrLW5hdiB7XG4gIHRvcDogMTEycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5iYWNrLW5hdiB7XG4gICAgICB0b3A6IDgycHg7IH0gfVxuXG4uZnVsbC1oZWlnaHQtbWVudSAuaGVhZGVyLWNvbXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZ1bGwtaGVpZ2h0LW1lbnUgLm1haW4tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN0aWNrIHtcbiAgdG9wOiA5MnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RpY2sge1xuICAgICAgdG9wOiA2MnB4OyB9IH1cblxuYVtpZF06YmVmb3JlLFxuaDFbaWRdOmJlZm9yZSxcbmgyW2lkXTpiZWZvcmUsXG5oM1tpZF06YmVmb3JlLFxuaDRbaWRdOmJlZm9yZSxcbi5jb25kaXRpb25zIGxpW2lkXTpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogOTJweDtcbiAgbWFyZ2luLXRvcDogLTkycHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBhW2lkXTpiZWZvcmUsXG4gICAgaDFbaWRdOmJlZm9yZSxcbiAgICBoMltpZF06YmVmb3JlLFxuICAgIGgzW2lkXTpiZWZvcmUsXG4gICAgaDRbaWRdOmJlZm9yZSxcbiAgICAuY29uZGl0aW9ucyBsaVtpZF06YmVmb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IC02MnB4O1xuICAgICAgaGVpZ2h0OiA2MnB4OyB9IH1cblxuYVtpZF06aG92ZXI6YmVmb3JlLFxuaDFbaWRdOmhvdmVyOmJlZm9yZSxcbmgyW2lkXTpob3ZlcjpiZWZvcmUsXG5oM1tpZF06aG92ZXI6YmVmb3JlLFxuaDRbaWRdOmhvdmVyOmJlZm9yZSxcbi5jb25kaXRpb25zIGxpW2lkXTpob3ZlcjpiZWZvcmUge1xuICAvKiBjcmF6eSBob3ZlciBvdmVyIGFib3ZlIGxpbmsgZml4ICovXG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgdHJhbnNpdGlvbi1kZWxheTogLThzOyB9XG5cbi5icmluZy10by1mcm9udCB7XG4gIHotaW5kZXg6IDEwNTA7IH1cblxuLnNlbmQtdG8tYmFjaywgLmxpc3QtaXRlbS1jb21wIGltZyB7XG4gIHotaW5kZXg6IDA7IH1cblxuLndpZGUtbWFyZ2luIHtcbiAgd2lkdGg6IDk3MHB4O1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC53aWRlLW1hcmdpbiB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAud2lkZS1tYXJnaW4ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uc3ViLW1hcmdpbiB7XG4gIG1heC13aWR0aDogMTE2NHB4O1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5zdWItbWFyZ2luIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdWItbWFyZ2luIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLndpZmktbWFyZ2luIHtcbiAgd2lkdGg6IDYwMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC53aWZpLW1hcmdpbiB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAud2lmaS1tYXJnaW4ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uZGltbWVkLWJnIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTsgfVxuXG4ubm8tbGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY2FwaXRhbGl6ZWQge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uaGVpZ2h0LXRhbGwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5oZWlnaHQtbWVkaXVtIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5zdHJldGNoLW9uLXNtYWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4udmVydC1wYWQge1xuICBwYWRkaW5nOiAyLjVyZW0gMCAzLjc1cmVtOyB9XG5cbi52ZXJ0LW1lZGl1bS1wYWQge1xuICBwYWRkaW5nOiAxLjI1cmVtIDA7IH1cblxuLmxlZnQtY29sIHtcbiAgbWFyZ2luOiAwIDAgMCAxcmVtOyB9XG5cbi5mb3JtLWdhcCB7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZvcm0tZ2FwIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ucmlnaHQtY29sIHtcbiAgbWFyZ2luOiAwIDFyZW0gMCAwOyB9XG5cbi5yaWdodC1wYWQge1xuICBwYWRkaW5nOiAwIDEuNTYyNXJlbSAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5yaWdodC1wYWQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5saWdodGdyYXkge1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5OyB9XG5cbi5ib3R0b20tcGFkIHtcbiAgcGFkZGluZzogMCAwIDIuNXJlbTsgfVxuXG4ud2hpdGVuIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZ2FwcGVkLWJ0bSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLmVycm9yLW1zZyB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLmNvbXAtbWFyZ2luLWJhc2Uge1xuICBtYXJnaW46IDAgMCAzLjEyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5ob21lIC53aWRlLW1hcmdpbiB7XG4gICAgcGFkZGluZzogMCA2MHB4OyB9IH1cblxuLmhvbWUgLndpZGUtbWFyZ2luIGgyIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5mdWxsZXJ0b24tc3RheSA+IC53aWRlLW1hcmdpbiB7XG4gICAgcGFkZGluZzogMCA2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAuY29sbGFwc2UtbWVkaXVtIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5jb2xsYXBzZS1tZWRpdW0gLm9mZmVyLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwICAwIDEwcHggMTVweDsgfSB9XG5cbi52aXNpdC1saXN0IC5saXN0LWl0ZW0tY29tcCB7XG4gIGhlaWdodDogNTAwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAudmlkZW8tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC52aWRlby1jb250YWluZXIge1xuICAgIG1hcmdpbjogNjBweCAwIDA7IH0gfVxuXG4uc3ViLWNvbnRlbnQtdGV4dCB7XG4gIHBhZGRpbmc6IDAgMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnN1Yi1jb250ZW50LXRleHQge1xuICAgICAgcGFkZGluZzogMCAwIDYwcHg7IH0gfVxuXG4uc3ViLWNvbnRlbnQtd3JhcHBlciB7XG4gIG1hcmdpbjogMCAwIDQwcHggMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zdWItY29udGVudC1pbWFnZSB7XG4gICAgbWFyZ2luOiAwIDAgNDBweDtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAuc3ViLWNvbnRlbnQtaW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogNDgzcHg7IH0gfVxuXG4udG9wLXBhZGRlZCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4OyB9XG5cbi5lbWFpbC1saXN0IC5lbWFpbCB7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cblxuLmVtYWlsLWxpc3QgLnBob25lIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmVtYWlsLWxpc3QgLnBob25lLmxhc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuXG4uZW1haWwtbGlzdCBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICBjb2xvcjogI2FlOTQ2ZTsgfVxuXG4ubGFyZ2UtdW5jb2xsYXBzZSB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTsgfVxuXG4uY2FwdGNoYSB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbi5mb3JtLXRlcm1zLXdyYXBwZXIge1xuICB3aWR0aDogNiU7IH1cblxuLmZvcm0tdGVybXMtdGV4dCB7XG4gIHdpZHRoOiA5NCU7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBTYWZhcmksIENocm9tZSBhbmQgT3BlcmEgKi9cbiAgY29sb3I6ICNiN2EwN2U7IH1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogI2I3YTA3ZTsgfVxuXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogI2I3YTA3ZTsgfVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogSUUgMTArICovXG4gIGNvbG9yOiAjYjdhMDdlOyB9XG5cbjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogRWRnZSAqL1xuICBjb2xvcjogI2I3YTA3ZTsgfVxuXG46cGxhY2Vob2xkZXItc2hvd24ge1xuICAvKiBTdGFuZGFyZCBvbmUgbGFzdCEgKi9cbiAgY29sb3I6ICNiN2EwN2U7IH1cblxuLndpZmkgLm9yYml0LWNhcHRpb24ge1xuICB0b3A6IDU1JTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01NSUpOyB9XG4gIC53aWZpIC5vcmJpdC1jYXB0aW9uIGxhYmVsIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ud2lmaSBmb3JtIHtcbiAgd2lkdGg6IDQ1MHB4O1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLndpZmkgZm9ybSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5pcy1pbnZhbGlkLWlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmMDAwMDsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgLyogU2FmYXJpLCBDaHJvbWUgYW5kIE9wZXJhICovXG4gICAgY29sb3I6ICNmZjAwMDA7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgLyogRmlyZWZveCAxOC0gKi9cbiAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgLyogRmlyZWZveCAxOSsgKi9cbiAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC8qIElFIDEwKyAqL1xuICAgIGNvbG9yOiAjZmYwMDAwOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC8qIEVkZ2UgKi9cbiAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpwbGFjZWhvbGRlci1zaG93biB7XG4gICAgLyogU3RhbmRhcmQgb25lIGxhc3QhICovXG4gICAgY29sb3I6ICNmZjAwMDA7IH1cblxuLnNpdGVtYXAgaDQsIC5zaXRlbWFwIC5jb25kaXRpb25zIGxpLCAuY29uZGl0aW9ucyAuc2l0ZW1hcCBsaSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtOyB9XG5cbi5zaXRlbWFwIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuXG4ucHJpdmFjeSBoNCwgLnByaXZhY3kgLmNvbmRpdGlvbnMgbGksIC5jb25kaXRpb25zIC5wcml2YWN5IGxpIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFyZW07IH1cblxuLmNvcHlyaWdodCB7XG4gIGNvbG9yOiAjYWU5NDZlO1xuICBmb250LWZhbWlseTogXCJvcHRpbWFib2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW46IDEwcHggMCAwOyB9XG5cbi5jYXJlZXJzIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAuY2FyZWVycyB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uYXdhcmRzIGZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5uZXdzcm9vbSBmb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4uc3BsYXNoLWltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY29uZGl0aW9ucyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi5tZW51IGEuYnV0dG9uIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi5jb250YWN0LWRldGFpbCB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuY29udGFjdC1kZXRhaWwgW2NsYXNzXj1cImljb24tXCJdIHtcbiAgICBjb2xvcjogI2FlOTQ2ZTsgfVxuICAuY29udGFjdC1kZXRhaWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmNvbnRhY3QtZGV0YWlsIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5tYWluLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfVxuXG4jbGlzdC1zdGF5IC5saXN0LWl0ZW0tY29tcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnN0aWNreS1uYXYuc3RpY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuc3RpY2t5LW5hdi5zdGljayB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdGlja3ktbmF2LnN0aWNrIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgI3N0aWNreS1uYXYge1xuICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuXG4uYW1lbml0aWVzLWxpc3Qge1xuICBtYXJnaW46IDAgMCA0MHB4IDEwcHg7IH1cbiAgLmFtZW5pdGllcy1saXN0IGxpIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmNlbnRlci1mb3Itc21hbGwtb25seSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLnhwIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBhZGRlZC1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5wYWRkZWQtY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuNzVyZW07IH0gfVxuXG4uYXJ0aWNsZS1oZWFkZXIge1xuICBtYXJnaW46IDIuNXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjEyNWVtKSB7XG4gICAgLmFydGljbGUtaGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW07IH0gfVxuXG4uYXJ0aWNsZS1yb3cge1xuICBtYXJnaW46IDAgMCA0MHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnNlbGVjdC1vcHRpb25zIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIC8qdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsqL1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJMYXRvV2ViXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gIC5kcm9wZG93bi5tZW51LnNlbGVjdC1vcHRpb25zIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZHJvcGRvd24ubWVudS5zZWxlY3Qtb3B0aW9ucyAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtZG93bi1hcnJvdyA+IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgIC5kcm9wZG93bi5tZW51LnNlbGVjdC1vcHRpb25zIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1kb3duLWFycm93ID4gYTphZnRlciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29udGVudDogXCJcXGU4MGVcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAuZHJvcGRvd24ubWVudS5zZWxlY3Qtb3B0aW9ucyAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtZG93bi1hcnJvdyA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IC01cHg7IH0gfVxuXG4uZHJvcGRvd24ubWVudSAuc3VibWVudSB7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUgYSB7XG4gICAgYmFja2dyb3VuZDogI2U1ZGNkMDtcbiAgICBjb2xvcjogIzUwMTMwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7IH1cbiAgICAuZHJvcGRvd24ubWVudSAuc3VibWVudSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1MDEzMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4uZHJvcGRvd24ubWVudSAub3B0aW9uLXZhbHVlLmlzLWludmFsaWQtaW5wdXQge1xuICBjb2xvcjogI2ZmMDAwMDsgfVxuXG4uY3VzdG9tLWNhbGVuZGFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQwcHg7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmN1c3RvbS1jYWxlbmRhciAubW9udGhzIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpOyB9XG4gICAgLmN1c3RvbS1jYWxlbmRhciAubW9udGhzIHVsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY3VzdG9tLWNhbGVuZGFyIC5tb250aCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICNhZTk0NmU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmN1c3RvbS1jYWxlbmRhciAubW9udGguYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNTAxMzAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmN1c3RvbS1jYWxlbmRhciBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3VzdG9tLWNhbGVuZGFyIC55ZWFyIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogNzVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jYWxsb3V0IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIC5jYWxsb3V0LnNob3cge1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5jYWxsb3V0IC50YWJ1bGFyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuY2FsbG91dCAudGFidWxhciBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgbWFyZ2luOiAwIDkwcHggMCAxMzVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAuY2FsbG91dCAudGFidWxhciBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IDAgNjBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5jYWxsb3V0IC50YWJ1bGFyIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogMCA0MHB4OyB9IH1cbiAgICAuY2FsbG91dCAudGFidWxhciBwIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jYWxsb3V0IC5pY29uLWNhbmNlbCwgLmNhbGxvdXQgLmJhY2stbmF2IC5iYWNrLWJ1dHRvbiwgLmJhY2stbmF2IC5jYWxsb3V0IC5iYWNrLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLyogSUUgOSAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLyogU2FmYXJpICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLyogU3RhbmRhcmQgc3ludGF4ICovXG4gICAgcmlnaHQ6IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAuY2FsbG91dCAuaWNvbi1jYW5jZWwsIC5jYWxsb3V0IC5iYWNrLW5hdiAuYmFjay1idXR0b24sIC5iYWNrLW5hdiAuY2FsbG91dCAuYmFjay1idXR0b24ge1xuICAgICAgICByaWdodDogMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNhbGxvdXQgLmljb24tY2FuY2VsLCAuY2FsbG91dCAuYmFjay1uYXYgLmJhY2stYnV0dG9uLCAuYmFjay1uYXYgLmNhbGxvdXQgLmJhY2stYnV0dG9uIHtcbiAgICAgICAgcmlnaHQ6IDhweDsgfSB9XG4gIC5jYWxsb3V0IC5pY29uLW1lZ2FwaG9uZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLyogSUUgOSAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLyogU2FmYXJpICovXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLyogU3RhbmRhcmQgc3ludGF4ICovXG4gICAgbGVmdDogOTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5jYWxsb3V0IC5pY29uLW1lZ2FwaG9uZSB7XG4gICAgICAgIGxlZnQ6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYWxsb3V0IC5pY29uLW1lZ2FwaG9uZSB7XG4gICAgICAgIGxlZnQ6IDhweDsgfSB9XG4gIC5jYWxsb3V0IFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5idXR0b24ge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6ICdMYXRvV2ViQm9sZCcsICBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3JlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgbWluLXdpZHRoOiAxNTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIG1pbi13aWR0aDogMTU1cHg7IH0gfVxuICAuYnV0dG9uIC52LWFsaWduIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzk5N2UxNTsgfVxuICAuYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzUwMTMwMDtcbiAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmJ1dHRvbi5hY3RpdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICM5OTdlMTU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk3ZTE1O1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5idXR0b24uYWN0aXZlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1MDEzMDA7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b24gW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjOTk3ZTE1OyB9XG4gIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uLmhvbGxvdy53aGl0ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgY29sb3I6ICM5OTdlMTU7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTk3ZTE1O1xuICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgb3V0bGluZTogMDsgfVxuXG4ubWFpbi1jb250ZW50IC5idXR0b24ge1xuICBsZXR0ZXItc3BhY2luZzogMC4ycmVtOyB9XG5cbi5sb2FkLW1vcmUtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgY29sb3I6ICNhZTk0NmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJMYXRvV2ViQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmxvYWQtbW9yZS1idXR0b24gLmljb24tcGx1cy0xOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5sb2FkLW1vcmUtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7IH0gfVxuICAubG9hZC1tb3JlLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICM5OTdlMTU7IH1cblxuLmNhbmNlbC1idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA0NXB4O1xuICB3aWR0aDogNDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNhbmNlbC1idXR0b24gLmljb24tY2FuY2VsLCAuY2FuY2VsLWJ1dHRvbiAuYmFjay1uYXYgLmJhY2stYnV0dG9uLCAuYmFjay1uYXYgLmNhbmNlbC1idXR0b24gLmJhY2stYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MiU7XG4gICAgbGVmdDogNTIlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmNhbmNlbC1idXR0b24gLmljb24tY2FuY2VsOmJlZm9yZSwgLmNhbmNlbC1idXR0b24gLmJhY2stbmF2IC5iYWNrLWJ1dHRvbjpiZWZvcmUsIC5iYWNrLW5hdiAuY2FuY2VsLWJ1dHRvbiAuYmFjay1idXR0b246YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuXG4ucmVhZC1tb3JlLWJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1dlYkJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAucmVhZC1tb3JlLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICM5OTdlMTU7IH1cbiAgICAucmVhZC1tb3JlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM5OTdlMTU7IH1cbiAgLnJlYWQtbW9yZS1idXR0b24gLmljb24tcmlnaHQtb3Blbi1iaWc6aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzk5N2UxNTsgfVxuXG4uYmFjay10by10b3AtY29tcCAucmV0dXJuLWJ1dHRvbiB7XG4gIGJvdHRvbTogMjBweDtcbiAgY29sb3I6ICNhZTk0NmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHJpZ2h0OiAyMHB4O1xuICAvKiBpbWFnZSByZXBsYWNlbWVudCBwcm9wZXJ0aWVzICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiA1MHB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgLjNzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzIDBzLCB2aXNpYmlsaXR5IDBzIC4zcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgLjNzOyB9XG5cbi5iYWNrLXRvLXRvcC1jb21wIC5pY29uLWFuZ2xlLXVwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmJhY2stdG8tdG9wLWNvbXAgLnJldHVybi1idXR0b24uY2QtaXMtdmlzaWJsZSwgLmJhY2stdG8tdG9wLWNvbXAgLnJldHVybi1idXR0b24uY2QtZmFkZS1vdXQsIC5iYWNrLXRvLXRvcC1jb21wIC5uby10b3VjaCAucmV0dXJuLWJ1dHRvbjpob3ZlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIDBzLCB2aXNpYmlsaXR5IDBzIDBzOyB9XG5cbi5iYWNrLXRvLXRvcC1jb21wIC5yZXR1cm4tYnV0dG9uLmNkLWlzLXZpc2libGUge1xuICAvKiB0aGUgYnV0dG9uIGJlY29tZXMgdmlzaWJsZSAqL1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5iYWNrLXRvLXRvcC1jb21wIC5uby10b3VjaCAucmV0dXJuLWJ1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnN1Ym1pdC1idG4gLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLmNvbHVtbmluZm9ncmFwaGljIHtcbiAgbWFyZ2luOiAwIDAgNTBweCAwOyB9XG5cbi5pbmZvZ3JhcGhpYy1jb21wIHtcbiAgbWFyZ2luOiAwIDAgNDBweDsgfVxuICAuaW5mb2dyYXBoaWMtY29tcCAubGlzdC1pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FlOTQ2ZTtcbiAgICBjb2xvcjogI2FlOTQ2ZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDE0NXB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLmluZm9ncmFwaGljLWNvbXAgLmxpc3QtaXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWluLWhlaWdodDogMTU4cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuaW5mb2dyYXBoaWMtY29tcCAubGlzdC1pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiA3cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuaW5mb2dyYXBoaWMtY29tcCAubGlzdC1pdGVtIGEge1xuICAgICAgY29sb3I6ICNhZTk0NmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5pbmZvZ3JhcGhpYy1jb21wIC5saXN0LWl0ZW0gLml0ZW0tZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAuaW5mb2dyYXBoaWMtY29tcCAubGlzdC1pdGVtIFtjbGFzc149XCJpY29uLVwiXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgLmluZm9ncmFwaGljLWNvbXAgLmxpc3QtaXRlbSBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5pbmZvZ3JhcGhpYy1jb21wIC5saXN0LWl0ZW0gW2NsYXNzXj1cImljb24tXCJdIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIC5pbmZvZ3JhcGhpYy1jb21wIC5saXN0LWl0ZW0uY2xpY2thYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTdlMTU7XG4gICAgICBjb2xvcjogIzk5N2UxNTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmluZm9ncmFwaGljLWNvbXAgLmxpc3QtaXRlbS5jbGlja2FibGUgYSB7XG4gICAgICAgIGNvbG9yOiAjOTk3ZTE1O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5pbmZvZ3JhcGhpYy1jb21wIC5saXN0LWl0ZW0uY2xpY2thYmxlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5pbmZvZ3JhcGhpYy1jb21wIC5jb2x1bW4sIC5pbmZvZ3JhcGhpYy1jb21wIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5tYWluLW5hdi1tYXJnaW4ge1xuICBtYXgtd2lkdGg6IDEyMjRweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubWFpbi1uYXYtbWFyZ2luIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5tYWluLW5hdi1tYXJnaW4ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4udG9wLXRpZXItbWVudS1jb21wIHtcbiAgbWFyZ2luOiAyNXB4IDE1cHggMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAudG9wLXRpZXItbWVudS1jb21wIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC50b3AtdGllci1tZW51LWNvbXAgLmJvb2stbm93IC5tZW51LCAudG9wLXRpZXItbWVudS1jb21wIC5ib29rLW5vdyAubGFuZy1tZW51LFxuICAudG9wLXRpZXItbWVudS1jb21wIC5tZW51IC5tZW51LFxuICAudG9wLXRpZXItbWVudS1jb21wIC5tZW51IC5sYW5nLW1lbnUge1xuICAgIGNvbG9yOiAjYWU5NDZlO1xuICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnRvcC10aWVyLW1lbnUtY29tcCAuYm9vay1ub3cgLm1lbnUsIC50b3AtdGllci1tZW51LWNvbXAgLmJvb2stbm93IC5sYW5nLW1lbnUsXG4gICAgICAudG9wLXRpZXItbWVudS1jb21wIC5tZW51IC5tZW51LFxuICAgICAgLnRvcC10aWVyLW1lbnUtY29tcCAubWVudSAubGFuZy1tZW51IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnRvcC10aWVyLW1lbnUtY29tcCAuYnV0dG9uLmJvb2stbm93IHtcbiAgICAgIG1pbi13aWR0aDogNjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAudG9wLXRpZXItbWVudS1jb21wIC5tZW51IC5sYW5nLW1lbnUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgICAgd2lkdGg6IDgwcHg7IH1cbiAgICAgIC50b3AtdGllci1tZW51LWNvbXAgLm1lbnUgLmxhbmctbWVudSBpOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gIC50b3AtdGllci1tZW51LWNvbXAgLm1lbnUge1xuICAgIGNvbG9yOiAjYWU5NDZlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9XZWJCb2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgLnRvcC10aWVyLW1lbnUtY29tcCAubWVudTpob3ZlciB7XG4gICAgICBjb2xvcjogIzk5N2UxNTsgfVxuICAgIC50b3AtdGllci1tZW51LWNvbXAgLm1lbnUuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNTAxMzAwO1xuICAgICAgZm9jdXM6IDA7IH1cbiAgICAgIC50b3AtdGllci1tZW51LWNvbXAgLm1lbnUuYWN0aXZlIFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzUwMTMwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC50b3AtdGllci1tZW51LWNvbXAgLm1lbnUge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAudG9wLXRpZXItbWVudS1jb21wIC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC50b3AtdGllci1tZW51LWNvbXAgLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAudG9wLXRpZXItbWVudS1jb21wIC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogMC43cmVtIDAuNHJlbTsgfVxuICAgICAgICAgIC50b3AtdGllci1tZW51LWNvbXAgLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIC50b3AtdGllci1tZW51LWNvbXAgLm1lbnUgYS5idXR0b24ge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAudG9wLXRpZXItbWVudS1jb21wIC5tZW51IGEuYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAudG9wLXRpZXItbWVudS1jb21wIC5pY29uLW1lbnUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC50b3AtdGllci1tZW51LWNvbXAgLmljb24tbWVudTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAudG9wLXRpZXItbWVudS1jb21wIC5pY29uLWFuZ2xlLXVwIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAudG9wLXRpZXItbWVudS1jb21wIC5pY29uLWFuZ2xlLXVwOmJlZm9yZSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnRvcC10aWVyLW1lbnUtY29tcCAuaWNvbi1zdWl0Y2FzZSB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAudG9wLXRpZXItbWVudS1jb21wIFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC50b3AtdGllci1tZW51LWNvbXAgW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnRvcC10aWVyLW1lbnUtY29tcCAuaWNvbi1tZW51OmJlZm9yZSB7XG4gICAgICBsaW5lLWhlaWdodDogNjVweDsgfSB9XG4gIC50b3AtdGllci1tZW51LWNvbXAgLmJvb2stbm93IC5pY29uLWFuZ2xlLWRvd246YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAudG9wLXRpZXItbWVudS1jb21wIC5ib29rLW5vdyAuaWNvbi1hbmdsZS1kb3duOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC50b3AtdGllci1tZW51LWNvbXAgYS5hY3RpdmUgLmljb24tYW5nbGUtZG93bjpiZWZvcmUge1xuICAgIGxldHRlci1zcGFjaW5nOiAtN3B4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLnNlY29uZC10aWVyLWxhbmctY29tcCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7XG4gIHBhZGRpbmc6IDIwcHggNDBweCAxMHB4IDQwcHg7IH1cblxuLnNlY29uZC10aWVyLW1lbnUtY29tcCwgLnNlY29uZC10aWVyLWxhbmctY29tcCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlY29uZC10aWVyLW1lbnUtY29tcCAubm8tYnVsbGV0LCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIC5uby1idWxsZXQge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zZWNvbmQtdGllci1tZW51LWNvbXAgLm5vLWJ1bGxldCBsaSwgLnNlY29uZC10aWVyLWxhbmctY29tcCAubm8tYnVsbGV0IGxpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTGF0b1dlYkJvbGQnLCAgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5hY2NvcmRpb24taXRlbSwgLnNlY29uZC10aWVyLWxhbmctY29tcCAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc2Vjb25kLXRpZXItbWVudS1jb21wIGgyLCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIGgyIHtcbiAgICBmb250LWZhbWlseTogJ0xhdG9XZWJCb2xkJywgIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5zZWNvbmQtdGllci1tZW51LWNvbXAgaW5wdXRbdHlwZT1cInRleHRcIl0sIC5zZWNvbmQtdGllci1tZW51LWNvbXAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpO1xuICAgIGNvbG9yOiAjNTAxMzAwOyB9XG4gICAgLnNlY29uZC10aWVyLW1lbnUtY29tcCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnNlY29uZC10aWVyLW1lbnUtY29tcCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgaW5wdXRbdHlwZT1cInRleHRcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8qIFNhZmFyaSwgQ2hyb21lIGFuZCBPcGVyYSAqL1xuICAgICAgY29sb3I6ICNhZTk0NmU7IH1cbiAgICAuc2Vjb25kLXRpZXItbWVudS1jb21wIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOi1tb3otcGxhY2Vob2xkZXIsIC5zZWNvbmQtdGllci1tZW51LWNvbXAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOi1tb3otcGxhY2Vob2xkZXIsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgaW5wdXRbdHlwZT1cInRleHRcIl06LW1vei1wbGFjZWhvbGRlciwgLnNlY29uZC10aWVyLWxhbmctY29tcCBpbnB1dFt0eXBlPVwiZW1haWxcIl06LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgY29sb3I6ICNhZTk0NmU7IH1cbiAgICAuc2Vjb25kLXRpZXItbWVudS1jb21wIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbW96LXBsYWNlaG9sZGVyLCAuc2Vjb25kLXRpZXItbWVudS1jb21wIGlucHV0W3R5cGU9XCJlbWFpbFwiXTo6LW1vei1wbGFjZWhvbGRlciwgLnNlY29uZC10aWVyLWxhbmctY29tcCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LW1vei1wbGFjZWhvbGRlciwgLnNlY29uZC10aWVyLWxhbmctY29tcCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgLyogRmlyZWZveCAxOSsgKi9cbiAgICAgIGNvbG9yOiAjYWU5NDZlOyB9XG4gICAgLnNlY29uZC10aWVyLW1lbnUtY29tcCBpbnB1dFt0eXBlPVwidGV4dFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5zZWNvbmQtdGllci1tZW51LWNvbXAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnNlY29uZC10aWVyLWxhbmctY29tcCBpbnB1dFt0eXBlPVwidGV4dFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBJRSAxMCsgKi9cbiAgICAgIGNvbG9yOiAjYWU5NDZlOyB9XG4gICAgLnNlY29uZC10aWVyLW1lbnUtY29tcCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAuc2Vjb25kLXRpZXItbWVudS1jb21wIGlucHV0W3R5cGU9XCJlbWFpbFwiXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgLyogRWRnZSAqL1xuICAgICAgY29sb3I6ICNhZTk0NmU7IH1cbiAgICAuc2Vjb25kLXRpZXItbWVudS1jb21wIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOnBsYWNlaG9sZGVyLXNob3duLCAuc2Vjb25kLXRpZXItbWVudS1jb21wIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpwbGFjZWhvbGRlci1zaG93biwgLnNlY29uZC10aWVyLWxhbmctY29tcCBpbnB1dFt0eXBlPVwidGV4dFwiXTpwbGFjZWhvbGRlci1zaG93biwgLnNlY29uZC10aWVyLWxhbmctY29tcCBpbnB1dFt0eXBlPVwiZW1haWxcIl06cGxhY2Vob2xkZXItc2hvd24ge1xuICAgICAgLyogU3RhbmRhcmQgb25lIGxhc3QhICovXG4gICAgICBjb2xvcjogI2FlOTQ2ZTsgfVxuICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5qb2luLW1haWxpbmctZmllbGQsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgLmpvaW4tbWFpbGluZy1maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnNlY29uZC10aWVyLW1lbnUtY29tcCAuam9pbi1tYWlsaW5nLWZpZWxkIGE6YWZ0ZXIsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgLmpvaW4tbWFpbGluZy1maWVsZCBhOmFmdGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImljb25mb250XCI7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjb2xvcjogcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICBjb250ZW50OiBcIlxcZTgxNVwiO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5qb2luLW1haWxpbmctZmllbGQuYWN0aXZlOmFmdGVyLCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIC5qb2luLW1haWxpbmctZmllbGQuYWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNTAxMzAwOyB9XG4gICAgLnNlY29uZC10aWVyLW1lbnUtY29tcCAuam9pbi1tYWlsaW5nLWZpZWxkIC5tYWlsLWxpc3QtZXJyb3IsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgLmpvaW4tbWFpbGluZy1maWVsZCAubWFpbC1saXN0LWVycm9yIHtcbiAgICAgIGNvbG9yOiAjZmYwMDAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5zZWNvbmQtdGllci1tZW51LWNvbXAgbGFiZWwsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgbGFiZWwge1xuICAgIGNvbG9yOiAjYWU5NDZlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc2Vjb25kLXRpZXItbWVudS1jb21wIGEsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgYSB7XG4gICAgY29sb3I6ICNhZTk0NmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnNlY29uZC10aWVyLW1lbnUtY29tcCBhOmhvdmVyLCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM5OTdlMTU7IH1cbiAgLnNlY29uZC10aWVyLW1lbnUtY29tcCBsaSwgLnNlY29uZC10aWVyLWxhbmctY29tcCBsaSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAuc2Vjb25kLXRpZXItbWVudS1jb21wIFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5zZWNvbmQtdGllci1tZW51LWNvbXAgLnNvY2lhbCwgLnNlY29uZC10aWVyLWxhbmctY29tcCAuc29jaWFsIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgLnNlY29uZC10aWVyLW1lbnUtY29tcCAuc29jaWFsIC5tZW51LCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIC5zb2NpYWwgLm1lbnUge1xuICAgICAgbWFyZ2luOiAwIDAgMCAtMXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5zb2NpYWwgLm1lbnUsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgLnNvY2lhbCAubWVudSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAtMXJlbTsgfSB9XG4gICAgICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5zb2NpYWwgLm1lbnUgYTpob3ZlcjpiZWZvcmUsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgLnNvY2lhbCAubWVudSBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjOTk3ZTE1OyB9XG4gICAgICAuc2Vjb25kLXRpZXItbWVudS1jb21wIC5zb2NpYWwgLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhLCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIC5zb2NpYWwgLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMC43cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNlY29uZC10aWVyLW1lbnUtY29tcCAuc29jaWFsLCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIC5zb2NpYWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDVweCAxMHB4IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlY29uZC10aWVyLW1lbnUtY29tcCAubWFpbGluZy1saXN0LCAuc2Vjb25kLXRpZXItbGFuZy1jb21wIC5tYWlsaW5nLWxpc3Qge1xuICAgICAgcGFkZGluZzogMTBweCAyNXB4IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWNvbmQtdGllci1tZW51LWNvbXAgLm1lbnUtc2V0LTEgbGksIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgLm1lbnUtc2V0LTEgbGkge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWNvbmQtdGllci1tZW51LWNvbXAgLm1lbnUtc2V0LTEgbGkgYSwgLnNlY29uZC10aWVyLWxhbmctY29tcCAubWVudS1zZXQtMSBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC4zMTI1cmVtIDAuNjI1cmVtIDEuNTYyNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4ycmVtOyB9IH1cblxuLnRvLXRoaXJkLXRpZXItbWVudS1jb21wIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDQwcHggMCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpOyB9XG4gIC50by10aGlyZC10aWVyLW1lbnUtY29tcCAubWVudSBsaSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnRvLXRoaXJkLXRpZXItbWVudS1jb21wIC5tZW51IGxpIHtcbiAgICAgICAgd2lkdGg6IDMyJTsgfSB9XG4gICAgLnRvLXRoaXJkLXRpZXItbWVudS1jb21wIC5tZW51IGxpIGEge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC50by10aGlyZC10aWVyLW1lbnUtY29tcCAubWVudSAudG9nZ2xlLWFjdGl2ZS5hY3RpdmUgW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMHB4OyB9XG5cbi50by10aGlyZC10aWVyLW1vYmlsZS1jb21wIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4udGhpcmQtdGllci1tZW51LWNvbXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRoaXJkLXRpZXItbWVudS1jb21wIFtpZF49XCJtZW51LVwiXSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgLnRoaXJkLXRpZXItbWVudS1jb21wIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnRoaXJkLXRpZXItbWVudS1jb21wIGxpIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnRoaXJkLXRpZXItbWVudS1jb21wIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9MaWdodFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjYWU5NDZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnRoaXJkLXRpZXItbWVudS1jb21wIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM5OTdlMTU7IH1cblxuLmJvb2tpbmctc2Vjb25kLWNvbXAge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuYm9va2luZy1zZWNvbmQtY29tcCB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLndpZGUtbWFyZ2luIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMHB4OyB9IH1cbiAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmNvbHVtbiwgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmNvbHVtbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5jb2x1bW46bGFzdC1jaGlsZCwgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gICAgICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5jb2x1bW46bGFzdC1jaGlsZDphZnRlciwgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmNvbHVtbnM6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmNvbHVtbjpudGgtY2hpbGQob2RkKTpiZWZvcmUsIC5ib29raW5nLXNlY29uZC1jb21wIC5jb2x1bW5zOm50aC1jaGlsZChvZGQpOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNDgsIDExMCwgMC4zKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB6LWluZGV4OiA5OTk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5jb2x1bW46YWZ0ZXIsIC5ib29raW5nLXNlY29uZC1jb21wIC5jb2x1bW5zOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNDgsIDExMCwgMC4zKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgbGVmdDogMjBweDsgfSB9XG4gIC5ib29raW5nLXNlY29uZC1jb21wIC5kcCB7XG4gICAgaGVpZ2h0OiAxMjJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5kcCB7XG4gICAgICAgIGhlaWdodDogOTJweDsgfSB9XG4gIC5ib29raW5nLXNlY29uZC1jb21wIFtjbGFzc149XCJib29rLVwiXSB7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTYxcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgW2NsYXNzXj1cImJvb2stXCJdIHtcbiAgICAgICAgaGVpZ2h0OiAxMjlweDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ib29raW5nLXNlY29uZC1jb21wIFtjbGFzc149XCJib29rLVwiXSB7XG4gICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgW2NsYXNzXj1cImJvb2stXCJdIC5ib29rLWJ1dHRvbi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU4MGVcIjsgfVxuICAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBoZWlnaHQ6IDEyMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5ib29rLWJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogOTJweDsgfSB9XG4gICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmJvb2stYnV0dG9uIFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmJvb2stYnV0dG9uLmxpbmVkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNDgsIDExMCwgMC4zKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24ubGluZWQge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMDsgfSB9XG4gICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmJvb2stYnV0dG9uIC5pY29uLWFuZ2xlLWRvd24ge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmJvb2stYnV0dG9uIGg0LCAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24gLmNvbmRpdGlvbnMgbGksIC5jb25kaXRpb25zIC5ib29raW5nLXNlY29uZC1jb21wIC5ib29rLWJ1dHRvbiBsaSB7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmJvb2stYnV0dG9uIGg0LCAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24gLmNvbmRpdGlvbnMgbGksIC5jb25kaXRpb25zIC5ib29raW5nLXNlY29uZC1jb21wIC5ib29rLWJ1dHRvbiBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24gaDQsIC5ib29raW5nLXNlY29uZC1jb21wIC5ib29rLWJ1dHRvbiAuY29uZGl0aW9ucyBsaSwgLmNvbmRpdGlvbnMgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmJvb2stYnV0dG9uIGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5ib29rLWJ1dHRvbiBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9MaWdodFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmJvb2stYnV0dG9uIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDsgfSB9XG4gICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmJvb2stYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjYWU5NDZlO1xuICAgICAgY29udGVudDogXCJcXGU4MGVcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgICAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLmJvb2stYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IC01cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5ib29rLWJ1dHRvbi5uby1tZW51IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5ib29rLWJ1dHRvbi5uby1tZW51OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24gLmRheSxcbiAgICAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24gLmljb24tYmVkIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5ib29rLWJ1dHRvbi50b2dnbGUtbnVtYmVyIGlucHV0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gLTRweCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDgwcHg7IH1cbiAgICAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24udG9nZ2xlLW51bWJlci5lZGl0IHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5ib29rLWJ1dHRvbi50b2dnbGUtbnVtYmVyLmVkaXQgaW5wdXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuYm9va2luZy1zZWNvbmQtY29tcCAuYm9vay1idXR0b24udG9nZ2xlLW51bWJlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAuYm9va2luZy1zZWNvbmQtY29tcCAubm8tbWVudSB7XG4gICAgYmFja2dyb3VuZDogI2VlZTllMztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxNjFweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAuYm9va2luZy1zZWNvbmQtY29tcCAubm8tbWVudSB7XG4gICAgICAgIGhlaWdodDogMTI5cHg7IH0gfVxuICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5uby1tZW51IFtjbGFzc149XCJpY29uLVwiXSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAuYm9va2luZy1zZWNvbmQtY29tcCAubm8tbWVudSBbY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDsgfVxuICAgIC5ib29raW5nLXNlY29uZC1jb21wIC5uby1tZW51OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM5OTdlMTU7IH1cbiAgLmJvb2tpbmctc2Vjb25kLWNvbXAgLnN1Ym1pdC1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ib29raW5nLXNlY29uZC1jb21wIC50aWNrZWQgPiBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmZmY4OyB9XG4gIC5ib29raW5nLXNlY29uZC1jb21wLmRhdGUtc2V0dGluZy1zaW5nbGUgLmJvb2stOCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJvb2tpbmctc2Vjb25kLWNvbXAuZGF0ZS1zZXR0aW5nLXNpbmdsZSAuYm9vay0zLCAuYm9va2luZy1zZWNvbmQtY29tcC5kYXRlLXNldHRpbmctc2luZ2xlIC5ib29rLTQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJvb2tpbmctc2Vjb25kLWNvbXAuZGF0ZS1zZXR0aW5nLXJhbmdlIC5ib29rLTgge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJvb2tpbmctc2Vjb25kLWNvbXAuZGF0ZS1zZXR0aW5nLXJhbmdlIC5ib29rLTMsIC5ib29raW5nLXNlY29uZC1jb21wLmRhdGUtc2V0dGluZy1yYW5nZSAuYm9vay00IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYm9va2luZy10aGlyZC1jb21wIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ib29raW5nLXRoaXJkLWNvbXAgW2lkXj1cIm1lbnUtXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgaGVpZ2h0OiA4NXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuYm9va2luZy10aGlyZC1jb21wIC53aWRlLW1hcmdpbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cbiAgLmJvb2tpbmctdGhpcmQtY29tcCBhIHtcbiAgICBmb250LWZhbWlseTogXCJMYXRvTGlnaHRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2FlOTQ2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5ib29raW5nLXRoaXJkLWNvbXAgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzUwMTMwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ib29raW5nLXRoaXJkLWNvbXAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9IH1cbiAgLmJvb2tpbmctdGhpcmQtY29tcCB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuYm9va2luZy10aGlyZC1jb21wIC5zdGF5IC53aWRlLW1hcmdpbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLnRoaXJkLWx2bC1ib29raW5nLXBhbmVsIFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUge1xuICBmb250LXNpemU6IDE4cHg7IH1cblxuLmJvb2tpbmctc3RheSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJvb2tpbmctc3RheTpob3ZlciB7XG4gICAgY29sb3I6ICM1MDEzMDA7IH1cbiAgICAuYm9va2luZy1zdGF5OmhvdmVyIFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM1MDEzMDA7IH1cbiAgLmJvb2tpbmctc3RheSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3JlbTsgfVxuXG4uYm9va2luZy1jb3VudCB7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYm9va2luZy1jb3VudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJvb2tpbmctY291bnQ6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNDgsIDExMCwgMC4zKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIGxlZnQ6IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJvb2tpbmctY291bnQ6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIHRvcDogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYm9va2luZy1jb3VudCAuYWR1bHQtY291bnQsXG4gICAgLmJvb2tpbmctY291bnQgLmNoaWxkLWNvdW50LFxuICAgIC5ib29raW5nLWNvdW50IC5ndWVzdHMtY291bnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5ib29raW5nLWNvdW50LnVuaXQge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuLmRheUZyb20sXG4uZGF5VG8sXG4uZGF5RGF0ZSxcbi5hZHVsdC1jb3VudCxcbi5jaGlsZC1jb3VudCxcbi5ndWVzdHMtY291bnQge1xuICBmb250LWZhbWlseTogXCJMYXRvV2ViQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG4uc2VhcmNoLXZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDI1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5zZWFyY2gtdmFsdWUge1xuICAgICAgYm90dG9tOiAxNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWFyY2gtdmFsdWUge1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cblxuLnNpZGUtbmF2LWNvbXAge1xuICBmb250LWZhbWlseTogXCJMYXRvV2ViXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5zaWRlLW5hdi1jb21wIGEge1xuICAgIGNvbG9yOiAjNTAxMzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5zaWRlLW5hdi1jb21wIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM5OTdlMTU7IH1cbiAgICAuc2lkZS1uYXYtY29tcCBhLmFjdGl2ZSB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXRvV2ViQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgLnNpZGUtbmF2LWNvbXAgbmF2IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCAwIDAgLTFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5zaWRlLW5hdi1jb21wIC5uYXZpZ2F0aW9uIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2lkZS1uYXYtY29tcCAubmF2aWdhdGlvbiB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4xMjVlbSkge1xuICAgIC5zaWRlLW5hdi1jb21wIC5uYXZpZ2F0aW9uLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDAuN3JlbSAwIDAuN3JlbSAwOyB9IH1cblxuLm5hdmlnYXRpb24ge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm5hdmlnYXRpb24gbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4OyB9XG5cbi5uYXZoZWFkZXIge1xuICBmb250LXNpemU6IDE0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5uYXZoZWFkZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5uYXZoZWFkZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNsaWRlLXRyaWdnZXIge1xuICBkaXNwbGF5OiBub25lO1xuICAvKiBuZWVkIHRoaXMgKi9cbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNDgsIDExMCwgMC4zKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNDgsIDExMCwgMC4zKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAxMHB4IDMwcHggMTBweCAxMHB4OyB9XG4gIC5zbGlkZS10cmlnZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwZSc7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5zbGlkZS10cmlnZ2VyLmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU4MGQnOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNsaWRlLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5uby1qcyAuc2xpZGUtdHJpZ2dlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubm8tanMgLm5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm5hdmlnYXRpb24gbGkge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5uYXZpZ2F0aW9uIGxpIGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5zbGlkZS10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubm8tanMgLnNsaWRlLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5vLWpzIC5uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luOiAwIDE1cHg7IH1cbiAgLm5hdmlnYXRpb24gbGkge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5uYXZpZ2F0aW9uIGxpIGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7IH0gfVxuXG4jc3RpY2t5LW5hdiB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4xMjVlbSkge1xuICAgICNzdGlja3ktbmF2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgI3N0aWNreS1uYXYuc3RpY2sge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDIwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjEyNWVtKSB7XG4gICAgICAjc3RpY2t5LW5hdi5zdGljayB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG4ubW9yZS1saW5rcyBoNCwgLm1vcmUtbGlua3MgLmNvbmRpdGlvbnMgbGksIC5jb25kaXRpb25zIC5tb3JlLWxpbmtzIGxpIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmJhY2stbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMzBweDsgfVxuICAuYmFjay1uYXYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJhY2stbmF2IC5iYWNrLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNDgsIDExMCwgMC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgIHdpZHRoOiAzNXB4OyB9XG4gICAgLmJhY2stbmF2IC5iYWNrLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZTk0NmU7IH1cbiAgICAuYmFjay1uYXYgLmJhY2stYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2FlOTQ2ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXNpemU6IDIxcHg7IH1cblxuLm9mZmVycy1jb2x1bW4tMi1jb21wIC5saXN0LWl0ZW0tY29tcCB7XG4gIG1heC1oZWlnaHQ6IDYwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5vZmZlcnMtY29sdW1uLTItY29tcCAubGlzdC1pdGVtLWNvbXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAub2ZmZXJzLWNvbHVtbi0zLWNvbXAgLnNtYWxsLXVwLTEge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5vZmZlci1oZWFkaW5nIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9IH1cblxuLm9mZmVycy1jb2x1bW4tMy1jb21wIC5sb2FkLW1vcmUtYnV0dG9uIHtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuXG4ub2ZmZXJzLWNvbHVtbi0zLWNvbXAgLm1lZGl1bS11cC0zIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vZmZlcnMtY29sdW1uLTMtY29tcCAubGlzdC1pdGVtLWNvbXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDE1cHggMjVweCAwIDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHdpZHRoOiAzMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5saXN0LWl0ZW0tY29tcCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAub2ZmZXJzLWNvbHVtbi0zLWNvbXAgLmxpc3QtaXRlbS1jb21wIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5saXN0LWl0ZW0tY29tcCAub2ZmZXItdGh1bWIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjA1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIC5vZmZlcnMtY29sdW1uLTMtY29tcCAubGlzdC1pdGVtLWNvbXAgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAub2ZmZXJzLWNvbHVtbi0zLWNvbXAgLmxpc3QtaXRlbS1jb21wIHNwYW4gaDMge1xuICAgICAgY29sb3I6ICNhZTk0NmU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxMnB4IDA7IH1cbiAgICAub2ZmZXJzLWNvbHVtbi0zLWNvbXAgLmxpc3QtaXRlbS1jb21wIHNwYW4gcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5vZmZlcnMtY29sdW1uLTMtY29tcCAubGlzdC1pdGVtLWNvbXAgc3BhbiBhIHtcbiAgICAgIGNvbG9yOiAjNTAxMzAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgIC5vZmZlcnMtY29sdW1uLTMtY29tcCAubGlzdC1pdGVtLWNvbXAgc3BhbiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNhZTk0NmU7IH1cbiAgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5saXN0LWl0ZW0tY29tcCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5saXN0LWl0ZW0tY29tcCAucHJpY2Uge1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogMTBweDsgfVxuXG4ub2ZmZXJzLWNvbHVtbi0zLWNvbXAgLmNvbHVtbjpudGgtb2YtdHlwZSgzbisyKSAubGlzdC1pdGVtLWNvbXAsIC5vZmZlcnMtY29sdW1uLTMtY29tcCAuY29sdW1uczpudGgtb2YtdHlwZSgzbisyKSAubGlzdC1pdGVtLWNvbXAge1xuICBtYXJnaW46IDE1cHggMCAwIDdweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMikgLmxpc3QtaXRlbS1jb21wLCAub2ZmZXJzLWNvbHVtbi0zLWNvbXAgLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMikgLmxpc3QtaXRlbS1jb21wIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5vZmZlcnMtY29sdW1uLTMtY29tcCAuY29sdW1uOm50aC1vZi10eXBlKDNuKzIpIC5saXN0LWl0ZW0tY29tcCwgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzIpIC5saXN0LWl0ZW0tY29tcCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5vZmZlcnMtY29sdW1uLTMtY29tcCAuY29sdW1uOm50aC1vZi10eXBlKDNuKzApIC5saXN0LWl0ZW0tY29tcCwgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzApIC5saXN0LWl0ZW0tY29tcCB7XG4gIG1hcmdpbjogMTVweCAwIDAgMTRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMCkgLmxpc3QtaXRlbS1jb21wLCAub2ZmZXJzLWNvbHVtbi0zLWNvbXAgLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMCkgLmxpc3QtaXRlbS1jb21wIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5vZmZlcnMtY29sdW1uLTMtY29tcCAuY29sdW1uOm50aC1vZi10eXBlKDNuKzApIC5saXN0LWl0ZW0tY29tcCwgLm9mZmVycy1jb2x1bW4tMy1jb21wIC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzApIC5saXN0LWl0ZW0tY29tcCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5vZmZlci1yZXN1bHRzLXN0YXRlIC5vZmZlci1yZXN1bHRzLWxvYWRpbmcge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAub2ZmZXItcmVzdWx0cy1zdGF0ZSAub2ZmZXItcmVzdWx0cy1sb2FkaW5nIGkge1xuICAgIGNvbG9yOiAjYWU5NDZlO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi5vZmZlci1yZXN1bHRzLXN0YXRlLmxvYWRpbmcgLm9mZmVyLXJlc3VsdHMtbG9hZGluZyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vZmZlci1yZXN1bHRzLXN0YXRlIC5saXN0LWl0ZW0tY29tcCB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHMgZWFzZS1pbi1vdXQ7IH1cbiAgLm9mZmVyLXJlc3VsdHMtc3RhdGUgLmxpc3QtaXRlbS1jb21wLnJlYWR5IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ub2ZmZXItcmVzdWx0cy1zdGF0ZSAub2ZmZXItcmVzdWx0cy1saXN0IHtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5saXN0LWl0ZW0tY29tcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxNXB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmxpc3QtaXRlbS1jb21wIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmxpc3QtaXRlbS1jb21wIC5saXN0LWRldGFpbCB7XG4gICAgcGFkZGluZzogMCA4MHB4IDIwcHggMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAubGlzdC1pdGVtLWNvbXAgLmxpc3QtZGV0YWlsIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5saXN0LWl0ZW0tY29tcCAubGlzdC1kZXRhaWwgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gIC5saXN0LWl0ZW0tY29tcCBoMyxcbiAgLmxpc3QtaXRlbS1jb21wIHAsXG4gIC5saXN0LWl0ZW0tY29tcCBhIHtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5saXN0LWl0ZW0tY29tcCBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3N0aW9uOiBhYnNvbHV0ZTsgfVxuICAubGlzdC1pdGVtLWNvbXAgaDMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5saXN0LWl0ZW0tY29tcCBoMyB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgLmxpc3QtaXRlbS1jb21wIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC1oZWlnaHQ6IDM3cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucHJpY2Uge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDgwLCAxOSwgMCwgMC44KTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1dlYkJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRvcDogMDsgfVxuXG4uc2hhZGVkLCAub2ZmZXJzLWNvbHVtbi0yLWNvbXAgLmxpc3QtaXRlbS1jb21wOmFmdGVyLCAubWFwLWNvbnRhaW5lcjphZnRlciB7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC4xKSwgcmdiYSgwLCAwLCAwLCAwLjYpKTtcbiAgLyogRm9yIFNhZmFyaSA1LjEgdG8gNi4wICovXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuMSksIHJnYmEoMCwgMCwgMCwgMC42KSk7XG4gIC8qIEZvciBPcGVyYSAxMS4xIHRvIDEyLjAgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjEpLCByZ2JhKDAsIDAsIDAsIDAuNikpO1xuICAvKiBGb3IgRmlyZWZveCAzLjYgdG8gMTUgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC4xKSwgcmdiYSgwLCAwLCAwLCAwLjYpKTtcbiAgLyogU3RhbmRhcmQgc3ludGF4ICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSwgLnNsaWRlci1jb250YWluZXIge1xuICBoZWlnaHQ6IDYwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuc2xpY2stc2xpZGUsIC5zbGlkZXItY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMzc1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNsaWNrLXNsaWRlLCAuc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDQ4NXB4OyB9IH1cblxuLnNsaWRlci1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zbGlkZXItY29udGFpbmVyID4gZGl2LCAuc2xpZGVyLWNvbnRhaW5lciA+IHVsIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItY29udGFpbmVyLnJlYWR5ID4gZGl2LCAuc2xpZGVyLWNvbnRhaW5lci5yZWFkeSA+IHVsIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLnNsaWNrLXNsaWRlIC5zbGlkZS1jYXB0aW9uIC5zbGlkZS10ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJhbm5lci1iZyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJhbm5lci1iZyB7XG4gICAgICBoZWlnaHQ6IDQ4NXB4OyB9IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbi8qXHJcbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XHJcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcclxuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICB9XHJcbn1cclxuKi9cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMTBweFxcOTtcbiAgLypsdGUgSUUgOCovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgei1pbmRleDogMTsgfVxuICAuc2xpY2stcHJldjpob3ZlcixcbiAgLnNsaWNrLW5leHQ6aG92ZXIge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzk5N2UxNTsgfVxuICAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4gIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMjU7IH1cblxuLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBmb250LXNpemU6IDYwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDcwcHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogNzBweDsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCXXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6gmFwiOyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDcwcHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogNzBweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCYXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6gl1wiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDYwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIGJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2xpY2stZG90cyB7XG4gICAgICBib3R0b206IDMwcHg7IH0gfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYWU5NDZlO1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4vKiBDYXB0aW9ucyAgICovXG4uc2xpZGUtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDY1MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5zbGlkZS1jYXB0aW9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTUwcHg7XG4gICAgbGVmdDogLTE1MHB4O1xuICAgIHJpZ2h0OiAtMTUwcHg7XG4gICAgYm90dG9tOiAtMTUwcHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Ryb3BzaGFkb3cucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNsaWRlLWNhcHRpb246YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZHJvcHNoYWRvd19tb2JpbGUucG5nXCIpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zbGlkZS1jYXB0aW9uIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB3aWR0aDogMjg0cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLnNsaWRlLWNhcHRpb24ge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHdpZHRoOiA2NDhweDsgfSB9XG4gIC5zbGlkZS1jYXB0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zbGlkZS1jYXB0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5zbGlkZS1jYXB0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMjBweDsgfSB9XG4gICAgICAuc2xpZGUtY2FwdGlvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbC5pcy1pbnZhbGlkLWxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2ZmMDAwMDsgfVxuICAgICAgLnNsaWRlLWNhcHRpb24gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAgIC5zbGlkZS1jYXB0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgICAuc2xpZGUtY2FwdGlvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODA4XCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBsZWZ0OiAtMjVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRvcDogMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5zbGlkZS1jYXB0aW9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgIGxlZnQ6IC0yMHB4OyB9IH1cblxuLnNsaWRlLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiAnTGF0b1dlYkJvbGQnLCAgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcmVtO1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNsaWRlLWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xcmVtOyB9IH1cblxuLnNsaWRlLXRleHQge1xuICBjb2xvcjogI2ZmZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cblxuLnNsaWRlLWxhYmVsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uc2xpZGUtYmcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbnAsIC5hcnRpY2xlLWNvbnRlbnQge1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbmgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbi5jb25kaXRpb25zIGxpLFxuaDUsXG5oNiB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxudWwsXG5saSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTsgfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKDgwLCAxOSwgMCwgMC4yKTsgfVxuXG5ib2R5LmxhbmctZW4gaDIsIGJvZHkubGFuZy1lbiBoNCwgYm9keS5sYW5nLWVuIC5jb25kaXRpb25zIGxpLCAuY29uZGl0aW9ucyBib2R5LmxhbmctZW4gbGksXG5ib2R5LmxhbmctZW4gLm1haW4tY29udGVudCBoMyxcbmJvZHkubGFuZy1lbiAubGlzdC1kZXRhaWwgaDMsXG5ib2R5LmxhbmctZW4gLnNlY29uZC10aWVyLW1lbnUtY29tcCAubm8tYnVsbGV0IGxpLFxuYm9keS5sYW5nLWVuIC5zZWNvbmQtdGllci1tZW51LWNvbXAgbGFiZWwsXG5ib2R5LmxhbmctZW4gLnNlY29uZC10aWVyLWxhbmctY29tcCAubm8tYnVsbGV0IGxpLFxuYm9keS5sYW5nLWVuIC5zZWNvbmQtdGllci1sYW5nLWNvbXAgbGFiZWwsXG5ib2R5LmxhbmctZW4gLnRvcC10aWVyLW1lbnUtY29tcCAubWVudSxcbmJvZHkubGFuZy1lbiAudG9wLXRpZXItbWVudS1jb21wIC5idXR0b24ge1xuICBmb250LWZhbWlseTogXCJvcHRpbWFib2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4jbWFwIHtcbiAgaGVpZ2h0OiA2MDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDQ4NXB4OyB9IH1cblxuLm1hcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuZm9ybSB7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgZm9ybSAuY29sdW1uLCBmb3JtIC5jb2x1bW5zLFxuICBmb3JtIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIGZvcm0gLmNvbHVtbiwgZm9ybSAuY29sdW1ucyxcbiAgICAgIGZvcm0gLmNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjEyNWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gICAgICBmb3JtIC5jb2x1bW46bGFzdC1jaGlsZCwgZm9ybSAuY29sdW1uczpsYXN0LWNoaWxkLFxuICAgICAgZm9ybSAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICBmb3JtIC5jb2x1bW46b25seS1jaGlsZCwgZm9ybSAuY29sdW1uczpvbmx5LWNoaWxkLFxuICAgIGZvcm0gLmNvbHVtbnM6b25seS1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4xMjVlbSkge1xuICAgIGZvcm0uY2hvb3NlZGF0ZSAubWVkaXVtLTY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMTI1ZW0pIHtcbiAgICBmb3JtLmNob29zZWRhdGUgLm1lZGl1bS02Omxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7IH0gfVxuICBmb3JtIC5mb3JtLWVycm9yIHtcbiAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICBmb3JtIGgzIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbnNlbGVjdCxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIC8qdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsqL1xuICBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjNTAxMzAwO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG5zZWxlY3Qgb3B0aW9uIHtcbiAgY29sb3I6ICM1MDEzMDA7XG4gIGJhY2tncm91bmQ6ICNhZTk0NmU7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLmJhbm5lci1iZzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLmJhbm5lci1iZyBpbnB1dCxcbi5iYW5uZXItYmcgc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1dlYkJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5iYW5uZXItYmcgLmlzLWludmFsaWQtaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjZmFlMGUwOyB9XG5cbi5kYXRlcyAuc21hbGwtNDpudGgtY2hpbGQoMikge1xuICBwYWRkaW5nOiAwIDAuNDY4NzVyZW07IH1cblxuLmRhdGVzIC5zbWFsbC00OmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZzogMCAwLjQ2ODc1cmVtIDAgMDsgfVxuXG4uZGF0ZXMgLnNtYWxsLTQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDAgMCAwIDAuNDY4NzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZGF0ZXMgLnNtYWxsLTQ6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuICAuZGF0ZXMgLnNtYWxsLTQ6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtIDAgMDsgfVxuICAuZGF0ZXMgLnNtYWxsLTQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogMCAwIDAgMC4xODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZGF0ZXMgbGkge1xuICAgIGZvbnQtc2l6ZTogMTBweDsgfSB9XG5cbi5kcm9wZG93bi5tZW51LnNlbGVjdC1vcHRpb25zIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1kb3duLWFycm93ID4gLm9wdGlvbi12YWx1ZSB7XG4gIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAxcmVtIDAuNXJlbTtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5kcm9wZG93bi5tZW51LnNlbGVjdC1vcHRpb25zIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1kb3duLWFycm93ID4gLm9wdGlvbi12YWx1ZSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW0gMXJlbSAwLjNyZW07IH0gfVxuXG4uZHJvcGRvd24ubWVudS5zZWxlY3Qtb3B0aW9ucyAubWVudSB7XG4gIG1heC1oZWlnaHQ6IDExMHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLmFzc2lnbkRhdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFzc2lnbkRhdGUgLmRkLWFycm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmFzc2lnbkRhdGUgLmRkLWFycm93OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7XG4gICAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsgfVxuXG4uY3VzdG9tTW9udGgge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jdXN0b21Nb250aC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ob3RlbCxcbi5zdGF5LFxuLmd1ZXN0LWNvdW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaG90ZWwsXG4gICAgLnN0YXksXG4gICAgLmd1ZXN0LWNvdW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmhvdGVsIC52ZXJ0LW1lZGl1bS1wYWQsXG4gICAgLnN0YXkgLnZlcnQtbWVkaXVtLXBhZCxcbiAgICAuZ3Vlc3QtY291bnQgLnZlcnQtbWVkaXVtLXBhZCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmhvdGVsIC52ZXJ0LW1lZGl1bS1wYWQge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaG90ZWwsXG4gIC5zdGF5IHtcbiAgICB0b3A6IC00ODBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmd1ZXN0LWNvdW50IHtcbiAgICB0b3A6IC0xNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmd1ZXN0LWNvdW50IC5jb2x1bW46bGFzdC1jaGlsZCwgLmd1ZXN0LWNvdW50IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmd1ZXN0LWNvdW50IC5jb2x1bW46bGFzdC1jaGlsZDpiZWZvcmUsIC5ndWVzdC1jb3VudCAuY29sdW1uczpsYXN0LWNoaWxkOmJlZm9yZSwgLmd1ZXN0LWNvdW50IC5jb2x1bW46bGFzdC1jaGlsZDphZnRlciwgLmd1ZXN0LWNvdW50IC5jb2x1bW5zOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc3RheSAuY29sdW1uLCAuc3RheSAuY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zdGF5IC5jb2x1bW46YmVmb3JlLCAuc3RheSAuY29sdW1uczpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zdGF5IC5jb2x1bW46YWZ0ZXIsIC5zdGF5IC5jb2x1bW5zOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc3RheSAuY29sdW1uIC5ib29raW5nLXN0YXksIC5zdGF5IC5jb2x1bW5zIC5ib29raW5nLXN0YXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5ob3RlbCAuY29sdW1uLCAuaG90ZWwgLmNvbHVtbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaG90ZWwgLmNvbHVtbjpiZWZvcmUsIC5ob3RlbCAuY29sdW1uczpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNzQsIDE0OCwgMTEwLCAwLjMpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5ob3RlbCAuY29sdW1uOmFmdGVyLCAuaG90ZWwgLmNvbHVtbnM6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3R0b206IDIwcHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5ob3RlbCAuY29sdW1uIC5sb2NhdGlvbiwgLmhvdGVsIC5jb2x1bW5zIC5sb2NhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKiogcG9zdCByZWFjdCBjaGFuZ2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmJvb2tpbmctbWVudS1jb250YWluZXIgLnBhbmVsLWNvbHVtbiB7XG4gIGhlaWdodDogMTYxcHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzOyB9XG4gIC5ib29raW5nLW1lbnUtY29udGFpbmVyIC5wYW5lbC1jb2x1bW46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU5ZTM7IH1cbiAgLmJvb2tpbmctbWVudS1jb250YWluZXIgLnBhbmVsLWNvbHVtbi50aWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmZmY4OyB9XG5cbi5ib29raW5nLW1lbnUtY29udGFpbmVyIC5wYW5lbC1kYXRlIC5kYXRlcGlja2VyLWhvbGRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAwOyB9XG5cbi5ib29raW5nLW1lbnUtY29udGFpbmVyIC5wYW5lbC1ndWVzdCAuYm9vay1idXR0b246YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ib29raW5nLW1lbnUtY29udGFpbmVyIC5ib29rLWJ1dHRvbjpub3QoLnN1Ym1pdC1idXR0b24pIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuYm9va2luZy1tZW51LWNvbnRhaW5lciAuYm9vay1idXR0b24ge1xuICAgIGJvcmRlci13aWR0aDogMDsgfSB9XG5cbi5ib29raW5nLW1lbnUtY29udGFpbmVyIC5ib29rLWJ1dHRvbiAuZ3Vlc3QtY291bnQtdG90YWwge1xuICBmb250LWZhbWlseTogXCJMYXRvV2ViQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG4uYm9va2luZy1tZW51LWNvbnRhaW5lciAuYm9vay1idXR0b24gLmJvb2tpbmctbnVtYmVycyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAwIGF1dG8gLTRweCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA4MHB4OyB9XG5cbi5ib29raW5nLW1lbnUtY29udGFpbmVyIC5wYW5lbC13aGVyZSAuYm9vay1idXR0b24ge1xuICBib3JkZXItd2lkdGg6IDA7IH1cblxuLmJvb2tpbmctc3ViLW1lbnUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDU7IH1cbiAgLmJvb2tpbmctc3ViLW1lbnUub3BlbiB7XG4gICAgbWF4LWhlaWdodDogMTUwcHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuYm9va2luZy1zdWItbWVudSB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmJvb2tpbmctc3ViLW1lbnUgdWwgbGkge1xuICAgICAgY29sb3I6ICNhZTk0NmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAycHggMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5ib29raW5nLXN1Yi1tZW51IHVsIGxpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM1MDEzMDA7IH1cbiAgLmJvb2tpbmctc3ViLW1lbnUgLmhvdGVsLW1lbnUge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAuYm9va2luZy1zdWItbWVudSAudHlwZS1tZW51IHVsIGxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5ib29raW5nLXN1Yi1tZW51IC50eXBlLW1lbnUgdWwgbGkgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjFyZW07IH1cbiAgICAuYm9va2luZy1zdWItbWVudSAudHlwZS1tZW51IHVsIGxpIGkge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYm9va2luZy1zdWItbWVudSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjI0cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDk5OTsgfVxuICAgICAgLmJvb2tpbmctc3ViLW1lbnUub3BlbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3NCwgMTQ4LCAxMTAsIDAuMyk7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7IH1cbiAgICAgIC5ib29raW5nLXN1Yi1tZW51IC52ZXJ0LW1lZGl1bS1wYWQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5ib29raW5nLXN1Yi1tZW51IC5jb2x1bW4sIC5ib29raW5nLXN1Yi1tZW51IC5jb2x1bW5zIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yczsgfVxuICAgICAgICAuYm9va2luZy1zdWItbWVudSAuY29sdW1uOmhvdmVyLCAuYm9va2luZy1zdWItbWVudSAuY29sdW1uczpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTllMzsgfVxuICAgICAgLmJvb2tpbmctc3ViLW1lbnUgLmhvdGVsLW1lbnUge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIC5ib29raW5nLXN1Yi1tZW51IC5ob3RlbC1tZW51IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTkxcHg7XG4gICAgICAgICAgcGFkZGluZzogODBweCAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgICAgLmJvb2tpbmctc3ViLW1lbnUgLmhvdGVsLW1lbnUgbGk6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTllMzsgfSB9XG5cbi5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMjU0cHggIWltcG9ydGFudDsgfVxuIiwiLyoqXHJcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuICogVmVyc2lvbiA2LjAuNlxyXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG4gKi9cclxuXHJcbi8vIFNhc3MgdXRpbGl0aWVzXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcblxyXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vIENvbXBvbmVudHNcclxuQGltcG9ydCAnZ3JpZC9ncmlkJztcclxuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcclxuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcclxuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcge1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxufVxyXG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxyXG5cclxuJW11aS1kZWZhdWx0cyB7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcclxufVxyXG5cclxuLy8gVHJhbnNpdGlvbnNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XHJcbiAgLy8gU2xpZGVcclxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XHJcbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cclxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGJvdHRvbSk7IH1cclxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XHJcbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxyXG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XHJcbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB0b3ApOyB9XHJcbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxyXG5cclxuICAvLyBGYWRlXHJcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxyXG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cclxuXHJcbiAgLy8gSGluZ2VcclxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cclxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxyXG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxyXG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cclxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxyXG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XHJcbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XHJcbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cclxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cclxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XHJcbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cclxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxyXG5cclxuICAvLyBTY2FsZVxyXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxyXG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxyXG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxyXG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxyXG5cclxuICAvLyBTcGluXHJcbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cclxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxyXG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cclxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XHJcblxyXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXHJcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XHJcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XHJcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XHJcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbmltYXRpb25zXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XHJcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cclxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XHJcbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XHJcbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XHJcblxyXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcclxuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XHJcblxyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xyXG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xyXG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XHJcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcclxuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcclxuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxyXG4vLy8gQHR5cGUgTWFwXHJcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxyXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxyXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxyXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcclxuICBjaGFpbjogdHJ1ZSxcclxuICBwcmVmaXg6ICdtdWktJyxcclxuICBhY3RpdmU6ICctYWN0aXZlJyxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRtb3Rpb24tdWktc3RhdGVzOiAoXHJcbiAgaW46ICdlbnRlcicsXHJcbiAgb3V0OiAnbGVhdmUnLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRtb3Rpb24tdWktc3BlZWRzOiAoXHJcbiAgZGVmYXVsdDogNTAwbXMsXHJcbiAgc2xvdzogNzUwbXMsXHJcbiAgZmFzdDogMjUwbXMsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cclxuLy8vIEB0eXBlIE1hcFxyXG4kbW90aW9uLXVpLWRlbGF5czogKFxyXG4gIGRlZmF1bHQ6IDAsXHJcbiAgc2hvcnQ6IDMwMG1zLFxyXG4gIGxvbmc6IDcwMG1zLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXHJcbi8vLyBAdHlwZSBNYXBcclxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXHJcbiAgZGVmYXVsdDogbGluZWFyLFxyXG4gIGxpbmVhcjogbGluZWFyLFxyXG4gIGVhc2U6IGVhc2UsXHJcbiAgZWFzZS1pbjogZWFzZS1pbixcclxuICBlYXNlLW91dDogZWFzZS1vdXQsXHJcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxyXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxyXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXHJcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXHJcbi8vLyBAdHlwZSBNYXBcclxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxyXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cclxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXHJcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXHJcbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcclxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXHJcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXHJcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXHJcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcclxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXHJcbikgIWRlZmF1bHQ7XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBnbG9iYWxcclxuLy8vL1xyXG5cclxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUHJpbWFyeSBjb2xvciBmb3IgaW50ZXJhY3RpdmUgY29tcG9uZW50cyBsaWtlIGxpbmtzIGFuZCBidXR0b25zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHByaW1hcnktY29sb3I6ICMyMTk5ZTggIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2Vjb25kYXJ5IGNvbG9yLCB1c2VkIHdpdGggY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgdGhlIGAuc2Vjb25kYXJ5YCBjbGFzcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzZWNvbmRhcnktY29sb3I6ICM3NzcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdG8gaW5kaWNhdGUgYSBwb3NpdGl2ZSBzdGF0dXMgb3IgYWN0aW9uLCB1c2VkIHdpdGggdGhlIGAuc3VjY2Vzc2AgY2xhc3MuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB0byBpbmRpY2F0ZSBhIGNhdXRpb24gc3RhdHVzIG9yIGFjdGlvbiwgdXNlZCB3aXRoIHRoZSBgLndhcm5pbmdgIGNsYXNzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdG8gaW5kaWNhdGUgYSBuZWdhdGl2ZSBzdGF0dXMgb3IgYWN0aW9uLCB1c2VkIHdpdGggdGhlIGAuYWxlcnRgIGNsYXNzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFsZXJ0LWNvbG9yOiAjZWM1ODQwICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcclxuXHJcbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxyXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XHJcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XHJcblxyXG4vLyBJbnRlcm5hbCBtYXAgdXNlZCB0byBpdGVyYXRlIHRocm91Z2ggY29sb3JzLCB0byBnZW5lcmF0ZSBDU1MgY2xhc3NlcyB3aXRoIGxlc3MgY29kZVxyXG4kZm91bmRhdGlvbi1jb2xvcnM6IChcclxuICBwcmltYXJ5OiAkcHJpbWFyeS1jb2xvcixcclxuICBzZWNvbmRhcnk6ICRzZWNvbmRhcnktY29sb3IsXHJcbiAgc3VjY2VzczogJHN1Y2Nlc3MtY29sb3IsXHJcbiAgYWxlcnQ6ICRhbGVydC1jb2xvcixcclxuICB3YXJuaW5nOiAkd2FybmluZy1jb2xvcixcclxuKTtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xyXG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XHJcblxyXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxyXG4gIC5mb3VuZGF0aW9uLW1xIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcclxuICB9XHJcblxyXG4gIGh0bWwsXHJcbiAgYm9keSB7XHJcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB9XHJcblxyXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXHJcbiAgKixcclxuICAqOmJlZm9yZSxcclxuICAqOmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXHJcbiAgYm9keSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcblxyXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xyXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xyXG5cclxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XHJcbiAgc2VsZWN0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxyXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcclxuICAjbWFwX2NhbnZhcyxcclxuICAubWFwX2NhbnZhcyxcclxuICAubXFhLWRpc3BsYXkge1xyXG4gICAgaW1nLFxyXG4gICAgZW1iZWQsXHJcbiAgICBvYmplY3Qge1xyXG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcclxuICBidXR0b24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcclxuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXHJcblxyXG4gIC8qKlxyXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXHJcbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcclxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXHJcbiAgICovXHJcblxyXG4gIGh0bWwge1xyXG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cclxuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cclxuICAgKi9cclxuXHJcbiAgYm9keSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cclxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxyXG4gICAqIGFuZCBGaXJlZm94LlxyXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXHJcbiAgICovXHJcblxyXG4gIGFydGljbGUsXHJcbiAgYXNpZGUsXHJcbiAgZGV0YWlscyxcclxuICBmaWdjYXB0aW9uLFxyXG4gIGZpZ3VyZSxcclxuICBmb290ZXIsXHJcbiAgaGVhZGVyLFxyXG4gIGhncm91cCxcclxuICBtYWluLFxyXG4gIG1lbnUsXHJcbiAgbmF2LFxyXG4gIHNlY3Rpb24sXHJcbiAgc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gICAqL1xyXG5cclxuICBhdWRpbyxcclxuICBjYW52YXMsXHJcbiAgcHJvZ3Jlc3MsXHJcbiAgdmlkZW8ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXHJcbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuICAgKi9cclxuXHJcbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXHJcbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxyXG4gICAqL1xyXG5cclxuICBbaGlkZGVuXSxcclxuICB0ZW1wbGF0ZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLyogTGlua3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICAgKi9cclxuXHJcbiAgYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cclxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXHJcbiAgICovXHJcblxyXG4gIGE6YWN0aXZlLFxyXG4gIGE6aG92ZXIge1xyXG4gICAgb3V0bGluZTogMDtcclxuICB9XHJcblxyXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuICBhYmJyW3RpdGxlXSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gICAqL1xyXG5cclxuICBiLFxyXG4gIHN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICAgKi9cclxuXHJcbiAgZGZuIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcclxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAgICovXHJcblxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXHJcbiAgICovXHJcblxyXG4gIG1hcmsge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmMDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcblxyXG4gIHNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogODAlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG5cclxuICBzdWIsXHJcbiAgc3VwIHtcclxuICAgIGZvbnQtc2l6ZTogNzUlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgfVxyXG5cclxuICBzdXAge1xyXG4gICAgdG9wOiAtMC41ZW07XHJcbiAgfVxyXG5cclxuICBzdWIge1xyXG4gICAgYm90dG9tOiAtMC4yNWVtO1xyXG4gIH1cclxuXHJcbiAgLyogRW1iZWRkZWQgY29udGVudFxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxyXG4gICAqL1xyXG5cclxuICBpbWcge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXHJcbiAgICovXHJcblxyXG4gIHN2Zzpub3QoOnJvb3QpIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAvKiBHcm91cGluZyBjb250ZW50XHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXHJcbiAgICovXHJcblxyXG4gIGZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gICAqL1xyXG5cclxuICBociB7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIGhlaWdodDogMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG5cclxuICBwcmUge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcblxyXG4gIGNvZGUsXHJcbiAga2JkLFxyXG4gIHByZSxcclxuICBzYW1wIHtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gIH1cclxuXHJcbiAgLyogRm9ybXNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAvKipcclxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxyXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cclxuICAgKi9cclxuXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAgICovXHJcblxyXG4gIGJ1dHRvbixcclxuICBpbnB1dCxcclxuICBvcHRncm91cCxcclxuICBzZWxlY3QsXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cclxuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxuICAgIG1hcmdpbjogMDsgLyogMyAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAgICovXHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cclxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxyXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXHJcbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxyXG4gICAqL1xyXG5cclxuICBidXR0b24sXHJcbiAgc2VsZWN0IHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcclxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXHJcbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcclxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAgICovXHJcblxyXG4gIGJ1dHRvbixcclxuICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xyXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4gICAqL1xyXG5cclxuICBidXR0b25bZGlzYWJsZWRdLFxyXG4gIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cclxuICAgKi9cclxuXHJcbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXHJcbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXHJcbiAgICovXHJcblxyXG4gIGlucHV0IHtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXHJcbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cclxuICAgKlxyXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXHJcbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cclxuICAgKi9cclxuXHJcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxyXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXHJcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxyXG4gICAqL1xyXG5cclxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICAgKi9cclxuXHJcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxyXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcclxuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXHJcbiAgICovXHJcblxyXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXHJcbiAgICovXHJcblxyXG4gIGZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxyXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cclxuICAgKi9cclxuXHJcbiAgbGVnZW5kIHtcclxuICAgIGJvcmRlcjogMDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICAgKi9cclxuXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXHJcbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXHJcbiAgICovXHJcblxyXG4gIG9wdGdyb3VwIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcbiAgLyogVGFibGVzXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gICAqL1xyXG5cclxuICB0YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgfVxyXG5cclxuICB0ZCxcclxuICB0aCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNS4gRHJpbGxkb3duXHJcbi8vICAxNi4gRHJvcGRvd25cclxuLy8gIDE3LiBEcm9wZG93biBNZW51XHJcbi8vICAxOC4gRmxleCBWaWRlb1xyXG4vLyAgMTkuIEZvcm1zXHJcbi8vICAyMC4gTGFiZWxcclxuLy8gIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gIDIyLiBNZW51XHJcbi8vICAyMy4gT2ZmLWNhbnZhc1xyXG4vLyAgMjQuIE9yYml0XHJcbi8vICAyNS4gUGFnaW5hdGlvblxyXG4vLyAgMjYuIFByb2dyZXNzIEJhclxyXG4vLyAgMjcuIFJldmVhbFxyXG4vLyAgMjguIFNsaWRlclxyXG4vLyAgMjkuIFN3aXRjaFxyXG4vLyAgMzAuIFRhYmxlXHJcbi8vICAzMS4gVGFic1xyXG4vLyAgMzIuIFRodW1ibmFpbFxyXG4vLyAgMzMuIFRvb2x0aXBcclxuLy8gIDM0LiBUb3AgQmFyXHJcblxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC13aWR0aDogMTAwJTtcclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kcHJpbWFyeS1jb2xvcjogI2FlOTQ2ZTsgLy8jMjE5OWU4O1xyXG4kc2Vjb25kYXJ5LWNvbG9yOiAjNTAxMzAwO1xyXG4kdGVydGlhcnktY29sb3I6ICNlN2UwZDY7XHJcbiRob3Zlci1jb2xvcjogIzk5N2UxNTtcclxuJGNhbGxvdXQtY29sb3I6ICNjZjcwMTk7XHJcbiRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2O1xyXG4kd2FybmluZy1jb2xvcjogI2ZmYWUwMDtcclxuJGFsZXJ0LWNvbG9yOiAjZmYwMDAwO1xyXG4kbGlnaHQtZ3JheTogI2Y5ZjlmOTtcclxuJG1lZGl1bS1ncmF5OiAjZWVlOWUzO1xyXG4kZGFyay1ncmF5OiAjZWJlYmViO1xyXG4kYnJlYWRjcnVtYi1jb2xvcjogIzlmOWY5ZjtcclxuJHBsYWNlaG9sZGVyLWNvbG9yOiBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCA1JSk7XHJcbiRibGFjazogIzAwMDtcclxuJHdoaXRlOiAjZmZmO1xyXG4kc2VsZWN0ZWQtY29sb3I6ICNlZmZmZjg7XHJcbiRib2R5LWJhY2tncm91bmQ6IG5vbmU7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiBcIkxhdG9XZWJcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJHRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDJweDtcclxuJGdsb2JhbC1uYW1lc3BhY2U6IGZhbHNlO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRyZW0tYmFzZTogMTZweDtcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMzIwcHgsXHJcbiAgbWVkaXVtOiA3NjhweCxcclxuICBsYXJnZTogMTAyNnB4LFxyXG4gIHhsYXJnZTogMTAwJSxcclxuICB4eGxhcmdlOiAxNDQwcHgsXHJcbik7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApO1xyXG4kZ3JpZC1jb2x1bS1yZXNwb25zaXZlLWd1dHRlcjogKFxyXG5zbWFsbDogcmVtLWNhbGMoMTUpLFxyXG5tZWRpdW06ICRncmlkLWNvbHVtbi1ndXR0ZXIsXHJcbmxhcmdlOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyLFxyXG4gICk7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiBcIkxhdG9XZWJCb2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGJvZHktZm9udC1mYW1pbHk6IFwiTGF0b1dlYlwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRsaWdodC1mb250LWZhbWlseTogXCJMYXRvTGlnaHRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kaWNvbi1mb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xyXG4kaGVhZGVyLXNpemVzOiAoXHJcbiAgc21hbGw6IChcclxuICAgICdoMSc6IDMwLFxyXG4gICAgJ2gyJzogMjUsXHJcbiAgICAnaDMnOiAxOCxcclxuICAgICdoNCc6IDE3LFxyXG4gICAgJ2g1JzogMTYsXHJcbiAgICAnaDYnOiAxNSxcclxuICApLFxyXG4gIG1lZGl1bTogKFxyXG4gICAgJ2gxJzogNDgsXHJcbiAgICAnaDInOiAyNixcclxuICAgICdoMyc6IDE4LFxyXG4gICAgJ2g0JzogMTQsXHJcbiAgICAnaDUnOiAxMixcclxuICAgICdoNic6IDEwLFxyXG4gICksXHJcbiAgbGFyZ2U6IChcclxuICAgICdoMSc6IDQ4LFxyXG4gICAgJ2gyJzogMzAsXHJcbiAgICAnaDMnOiAxOCxcclxuICAgICdoNCc6IDE0LFxyXG4gICAgJ2g1JzogMTIsXHJcbiAgICAnaDYnOiAxMCxcclxuICApLFxyXG4pO1xyXG4kaGVhZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbi8vJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGFuY2hvci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGhvdmVyLWNvbG9yLCAkbGlnaHRuZXNzOiAwJSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiB1bmRlcmxpbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDFyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbi8vJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG5vbmU7IC8vJGFsZXJ0LWNvbG9yO1xyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBub25lOyAvLyRhbGVydC1jb2xvcjtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBub25lOyAvLyRhbGVydC1jb2xvcjtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkYnJlYWRjcnVtYi1jb2xvcjsvLyRwcmltYXJ5LWNvbG9yO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYnJlYWRjcnVtYi1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJ1dHRvbi1maWxsOiBub25lO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6IG5vbmU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJGhvdmVyLWNvbG9yO1xyXG4kYnV0dG9uLWNvbG9yOiBub25lO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogIzAwMDtcclxuJGJ1dHRvbi1yYWRpdXM6IDJweDsvLyRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJGNhbGxvdXQtY29sb3I7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogMCU7XHJcbiRjYWxsb3V0LWJvcmRlcjogMDsgLy8xcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZTtcclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW07XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICR3aGl0ZTtcclxuXHJcbi8vIDE1LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG5cclxuLy8gMTYuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDE2cmVtO1xyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgdGlueTogMTAwcHgsXHJcbiAgc21hbGw6IDIwMHB4LFxyXG4gIGxhcmdlOiA0MDBweCxcclxuKTtcclxuXHJcbi8vIDE3LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDE4LiBGbGV4IFZpZGVvXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleHZpZGVvLXBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XHJcbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XHJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcclxuXHJcbi8vIDE5LiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IG5vbmU7IC8vMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IDA7IC8vcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogIzMzMztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTsgLy8jZmFmYWZhO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAjMzMzO1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjsgLy8kZGFyay1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJHdoaXRlO1xyXG4kaW5wdXQtc2hhZG93OiBub25lOyAvL2luc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogbm9uZTsgLy8gMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBub25lOyAvL2JveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIwLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKTtcclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMi4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LWV4cGFuZC1tYXg6IDY7XHJcblxyXG4vLyAyMy4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdtYWluLWNvbnRlbnQnO1xyXG4kbWFpbmNvbnRlbnQtc2hhZG93OiBub25lOyAvLzAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kbWFpbmNvbnRlbnQtcHJldmVudC1zY3JvbGw6IHRydWU7XHJcblxyXG4vLyAyNC4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHNlY29uZGFyeS1jb2xvcjtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMTBweDtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNS4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcblxyXG4vLyAyNi4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1vZmZzZXQ6IHJlbS1jYWxjKDEwMCk7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDI4LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogJHNsaWRlci1oZWlnaHQ7XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG4vLyAyOS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gMzAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogbm9uZTsvL3NtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG5cclxuLy8gMzEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XHJcbiR0YWItYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcbiR0YWItZXhwYW5kLW1heDogNjtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyAzMi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzMy4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXBpcC1vZmZzZXQ6IDEuMjVyZW07XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzNC4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogI2VlZTtcclxuJHRvcGJhci1saW5rLWNvbG9yOiAjZmZmO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXHJcbiAgJHJvdzogJ3JvdycsXHJcbiAgJGNvbHVtbjogJ2NvbHVtbicsXHJcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcclxuICAkcHVzaDogJ3B1c2gnLFxyXG4gICRwdWxsOiAncHVsbCcsXHJcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcclxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcicsXHJcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxyXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXHJcbiAgJG9mZnNldDogJ29mZnNldCcsXHJcbiAgJGVuZDogJ2VuZCcsXHJcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxyXG4gICRicmVha3BvaW50czogJGJyZWFrcG9pbnQtY2xhc3Nlc1xyXG4pIHtcclxuICAvLyBSb3dcclxuICAuI3skcm93fSB7XHJcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcclxuXHJcbiAgICAvLyBDb2xsYXBzaW5nXHJcbiAgICAmLiN7JGNvbGxhcHNlfSB7XHJcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE5lc3RpbmdcclxuICAgICYgJiB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCwgJGNmOiBmYWxzZSk7XHJcblxyXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0IGNvbGxhcHNlLCAkY2Y6IGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xyXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgICAmLiN7JHNpemV9LSN7JGNvbGxhcHNlfSB7XHJcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuI3skc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xyXG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLXVuY29sbGFwc2U7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XHJcbiAgICAmLiN7JGV4cGFuZGVkfSB7XHJcbiAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbHVtblxyXG4gIC4jeyRjb2x1bW59IHtcclxuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xyXG5cclxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XHJcbiAgICAgICYuI3skZW5kfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb2x1bW4gcm93XHJcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxyXG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuXHJcbiAgICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcclxuICAgIC4jeyRyb3d9ICYge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XHJcbiAgICAgICAgLy8gQ29sdW1uIHdpZHRoXHJcbiAgICAgICAgLiN7JHNpemV9LSN7JGl9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gU291cmNlIG9yZGVyaW5nXHJcbiAgICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS0jeyRwdXNofS0jeyRpfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLiN7JHNpemV9LSN7JHB1bGx9LSN7JGl9IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBPZmZzZXRzXHJcbiAgICAgICAgJG86ICRpIC0gMTtcclxuXHJcbiAgICAgICAgLiN7JHNpemV9LSN7JG9mZnNldH0tI3skb30ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEJsb2NrIGdyaWRcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xyXG4gICAgICAgIC4jeyRzaXplfS11cC0jeyRpfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBQb3NpdGlvbmluZ1xyXG4gICAgICAuI3skY29sdW1ufS4jeyRzaXplfS0jeyRjZW50ZXJ9IHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcclxuICAgICAgLiN7JHNpemV9LSN7JHVuY2VudGVyfSxcclxuICAgICAgLiN7JHNpemV9LSN7JHB1c2h9LTAsXHJcbiAgICAgIC4jeyRzaXplfS0jeyRwdWxsfS0wIHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicge1xyXG4gICAgLmNvbHVtbnMge1xyXG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQbGFjZWhvbGRlckluRXh0ZW5kXHJcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXHJcbi8vLyBAY29udGVudFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxyXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxyXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxyXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxyXG4gICRjb2x1bW5zLFxyXG4gICRyb290OiBmYWxzZVxyXG4pIHtcclxuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcclxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XHJcblxyXG4gIEBpZiAkcm9vdCB7XHJcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxyXG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudDtcclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cclxuLy8vIEBjb250ZW50XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXHJcbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cclxuQG1peGluIGdyaWQtcm93KFxyXG4gICRjb2x1bW5zOiBudWxsLFxyXG4gICRiZWhhdmlvcjogbnVsbCxcclxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcclxuICAkY2Y6IHRydWVcclxuKSB7XHJcbiAgJGJlaGF2aW9yOiAtemYtZ2V0LW9wdGlvbnMoJGJlaGF2aW9yLCBuZXN0IGNvbGxhcHNlKTtcclxuICAkbWFyZ2luOiBhdXRvO1xyXG5cclxuICBAaWYgbWFwLWdldCgkYmVoYXZpb3IsIG5lc3QpIHtcclxuICAgICRtYXJnaW46IHJlbS1jYWxjKCRncmlkLWNvbHVtbi1ndXR0ZXIpIC8gMiAqIC0xO1xyXG5cclxuICAgIEBpZiBtYXAtZ2V0KCRiZWhhdmlvciwgY29sbGFwc2UpIHtcclxuICAgICAgJG1hcmdpbjogMDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XHJcbiAgfVxyXG5cclxuICBAaWYgJGNmIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIH1cclxuXHJcbiAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XHJcbiAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xyXG5cclxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cclxuQG1peGluIGNzcy10cmlhbmdsZShcclxuICAkdHJpYW5nbGUtc2l6ZSxcclxuICAkdHJpYW5nbGUtY29sb3IsXHJcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxyXG4pIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcclxuXHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgfVxyXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuICB9XHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcclxuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuICB9XHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXHJcbkBtaXhpbiBoYW1idXJnZXIoXHJcbiAgJGNvbG9yOiBibGFjayxcclxuICAkY29sb3ItaG92ZXI6ICM2NjYsXHJcbiAgJHdpZHRoOiAyMHB4LFxyXG4gICRoZWlnaHQ6IDE2cHgsXHJcbiAgJHdlaWdodDogMnB4LFxyXG4gICRiYXJzOiAzXHJcbikge1xyXG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxyXG4gICRzaGFkb3c6ICgpO1xyXG4gICRob3Zlci1zaGFkb3c6ICgpO1xyXG5cclxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcclxuICAkc3BhY2luZzogZmxvb3IoKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKSk7XHJcblxyXG4gIC8vIEljb24gY29udGFpbmVyXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB3aWR0aDogJHdpZHRoO1xyXG4gIGhlaWdodDogJGhlaWdodDtcclxuXHJcbiAgLy8gSWNvbiBiYXJzXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZVxyXG4gIEBpZiAkY29sb3ItaG92ZXIge1xyXG4gICAgLy8gR2VuZXJhdGUgQ1NTXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXHJcbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxyXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xyXG4gICRyZ2I6ICdyZ2IoI3tyZWQoJGNvbG9yKX0sICN7Z3JlZW4oJGNvbG9yKX0sICN7Ymx1ZSgkY29sb3IpfSknO1xyXG5cclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xyXG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNTAlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxyXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyAnO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXHJcbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cclxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XHJcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcclxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxyXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XHJcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXHJcbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xyXG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXHJcbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbn1cclxuXHJcbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xyXG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgY2xpcDogYXV0bztcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcclxuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG59XHJcblxyXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4vLyBSZW1vdmUgaW4gNi4xLlxyXG4vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgYW4gZWxlbWVudCB1c2luZyBgdHJhbnNmb3JtYC5cclxuQG1peGluIHYtYWxpZ24tbWlkZGxlIHtcclxuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2UoKSB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcclxuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XHJcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxyXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2UoKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcclxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcclxuLy8vL1xyXG5cclxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcclxuXHJcbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXHJcbi8vLyBAdHlwZSBNYXBcclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgbWVkaXVtOiA2NDBweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTIwMHB4LFxyXG4gIHh4bGFyZ2U6IDE0NDBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXHJcbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6IHNtYWxsKSB7XHJcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXHJcbiAgJGJwOiBudGgoJHZhbCwgMSk7XHJcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXHJcbiAgJGJwLW1heDogMDtcclxuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxyXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xyXG4gIC8vIEV2ZW50dWFsIG91dHB1dFxyXG4gICRzdHI6ICcnO1xyXG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XHJcbiAgJG5hbWVkOiBmYWxzZTtcclxuXHJcbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxyXG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xyXG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcclxuICB9XHJcbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcclxuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xyXG4gIH1cclxuXHJcbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxyXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XHJcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XHJcbiAgICAgICAgJG5leHQtYnA6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XHJcblxyXG4gICAgICAgIEBpZiAkbmV4dC1icCA9PSBudWxsIHtcclxuICAgICAgICAgICRicC1tYXg6IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICRicC1tYXg6ICRuZXh0LWJwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcclxuICAgICAgJG5hbWVkOiB0cnVlO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkYnA6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxyXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XHJcbiAgQGlmICRicC1tYXgge1xyXG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xyXG4gIH1cclxuXHJcbiAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiB0aGUgaW5wdXQgaXMgXCIwIHVwXCIgb3IgXCIwIGRvd25cIlxyXG4gIEBpZiAkYnAgPiAwIG9yICRkaXIgPT0gJ29ubHknIHtcclxuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcclxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XHJcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XHJcbiAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcclxuXHJcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XHJcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gJ09ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxyXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xyXG4gICAgICAkbWF4OiAwO1xyXG5cclxuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzLCBzdWJ0cmFjdCB0aGUgYnJlYWtwb2ludCB2YWx1ZSBieSBvbmUgXCJwaXhlbFwiLCBvciAxLzE2ZW0uXHJcbiAgICAgIEBpZiAkbmFtZWQge1xyXG4gICAgICAgICRtYXg6ICRicC1tYXg7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICRtYXg6ICRicDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxyXG4gICAgQGVsc2UgaWYgc3RyaXAtdW5pdCgkYnApID4gMCB7XHJcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzdHI7XHJcbn1cclxuXHJcbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XHJcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cclxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJHJlbS1iYXNlYC5cclxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxyXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cclxuLy8vXHJcbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cclxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XHJcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xyXG5cclxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXHJcbiAgQGlmICRzdHIgPT0gJycge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxyXG4gIEBlbHNlIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXHJcbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcclxuICAkc3RyOiAnJztcclxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XHJcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xyXG4gIH1cclxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xyXG5cclxuICBAcmV0dXJuICRzdHI7XHJcbn1cclxuXHJcbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxyXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxyXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcclxuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcclxuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xyXG5cclxuICAvLyBHaGV0dG8gZm9yIGxvb3BcclxuICAkaTogMTtcclxuICAkZm91bmQ6IGZhbHNlO1xyXG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xyXG4gICAgQGlmICRmb3VuZCA9PSBmYWxzZSB7XHJcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XHJcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgICRpOiAkaSArIDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXHJcbiAgQGlmICRpID4gbGVuZ3RoKCRtYXApIHtcclxuICAgIEByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTGVnYWN5IGJyZWFrcG9pbnQgdmFyaWFibGVzXHJcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjJcclxuJHNtYWxsLXVwOiBudWxsO1xyXG4kc21hbGwtb25seTogbnVsbDtcclxuJG1lZGl1bS11cDogbnVsbDtcclxuJG1lZGl1bS1vbmx5OiBudWxsO1xyXG4kbGFyZ2UtdXA6IG51bGw7XHJcbiRsYXJnZS1vbmx5OiBudWxsO1xyXG4keGxhcmdlLXVwOiBudWxsO1xyXG4keGxhcmdlLW9ubHk6IG51bGw7XHJcbiR4eGxhcmdlLXVwOiBudWxsO1xyXG4keHhsYXJnZS1vbmx5OiBudWxsO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcclxuICAkc21hbGwtdXA6IHNjcmVlbjtcclxuICAkc21hbGwtb25seTogc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9O1xyXG59XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcclxuICAkbWVkaXVtLXVwOiBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfTtcclxuICAkbWVkaXVtLW9ubHk6IHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX07XHJcbn1cclxuXHJcbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XHJcbiAgJGxhcmdlLXVwOiBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9O1xyXG4gICRsYXJnZS1vbmx5OiBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX07XHJcbn1cclxuXHJcbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xyXG4gICR4bGFyZ2UtdXA6IHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9O1xyXG4gICR4bGFyZ2Utb25seTogc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfTtcclxufVxyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xyXG4gICR4eGxhcmdlLXVwOiBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX07XHJcbiAgJHh4bGFyZ2Utb25seTogc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSBvbmx5KX07XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cclxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXHJcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxyXG4pIHtcclxuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXHJcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxyXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcclxuKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcclxuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XHJcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cclxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxyXG4vLy8gICAtIEEgc3RyaW5nIG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cclxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XHJcbiAgJHdpZHRoOiAwJTtcclxuXHJcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXHJcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcclxuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xyXG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcclxuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xyXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XHJcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcclxuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XHJcbiAgQGVsc2Uge1xyXG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkd2lkdGg7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cclxuQG1peGluIGdyaWQtY29sdW1uKFxyXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXHJcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxyXG4pIHtcclxuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XHJcblxyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xyXG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XHJcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XHJcblxyXG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XHJcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxyXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcclxuKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcjogJGd1dHRlcik7XHJcbiAgXHJcbiAgJixcclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cclxuQGZ1bmN0aW9uIGdyaWQtY29sKFxyXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcclxuKSB7XHJcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxyXG5AbWl4aW4gZ3JpZC1jb2woXHJcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcclxuQG1peGluIGdyaWQtY29sLXJvdyhcclxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXHJcbikge1xyXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cclxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xyXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xyXG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpIHtcclxuICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcclxuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XHJcbn1cclxuXHJcbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cclxuQG1peGluIGdyaWQtY29sdW1uLWVuZCgpIHtcclxuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxyXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcclxuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXHJcbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cclxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXHJcbkBtaXhpbiBncmlkLWNvbC11bnBvcygpIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxyXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxyXG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cclxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcclxuQG1peGluIGdyaWQtY29sLWVuZCgpIHtcclxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdyaWRcclxuLy8vL1xyXG5cclxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cclxuQG1peGluIGdyaWQtbGF5b3V0KFxyXG4gICRuLFxyXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXHJcbikge1xyXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XHJcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xyXG5cclxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcclxuICAgICAgY2xlYXI6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxyXG4vLy8vXHJcblxyXG4vLyBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxyXG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cclxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cclxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxyXG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cclxuLy8gICAtIEFuY2hvcnMgPGE+XHJcbi8vICAgLSBEaXZpZGVycyA8aHI+XHJcbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxyXG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XHJcbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cclxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XHJcbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XHJcbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRoZWFkZXItc2l6ZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogMjQsXHJcbiAgICAnaDInOiAyMCxcclxuICAgICdoMyc6IDE5LFxyXG4gICAgJ2g0JzogMTgsXHJcbiAgICAnaDUnOiAxNyxcclxuICAgICdoNic6IDE2LFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiA0OCxcclxuICAgICdoMic6IDQwLFxyXG4gICAgJ2gzJzogMzEsXHJcbiAgICAnaDQnOiAyNSxcclxuICAgICdoNSc6IDIwLFxyXG4gICAgJ2g2JzogMTYsXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xyXG5cclxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xyXG5cclxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xyXG5cclxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xyXG5cclxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcclxuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xyXG4gIGRpdixcclxuICBkbCxcclxuICBkdCxcclxuICBkZCxcclxuICB1bCxcclxuICBvbCxcclxuICBsaSxcclxuICBoMSxcclxuICBoMixcclxuICBoMyxcclxuICBoNCxcclxuICBoNSxcclxuICBoNixcclxuICBwcmUsXHJcbiAgZm9ybSxcclxuICBwLFxyXG4gIGJsb2NrcXVvdGUsXHJcbiAgdGgsXHJcbiAgdGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC8vIFBhcmFncmFwaHNcclxuICBwIHtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcclxuICB9XHJcblxyXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxyXG4gIGVtLFxyXG4gIGkge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTdHJvbmcgdGV4dFxyXG4gIHN0cm9uZyxcclxuICBiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTbWFsbCB0ZXh0XHJcbiAgc21hbGwge1xyXG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkaW5nc1xyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XHJcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcclxuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XHJcblxyXG4gICAgc21hbGwge1xyXG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xyXG4gICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEhlYWRpbmcgc2l6ZXNcclxuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xyXG4gICAgICAgICN7JGhlYWRlcn0geyBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExpbmtzXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xyXG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIb3Jpem9udGFsIHJ1bGVcclxuICBociB7XHJcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcblxyXG4gIC8vIExpc3RzXHJcbiAgdWwsXHJcbiAgb2wsXHJcbiAgZGwge1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xyXG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XHJcbiAgfVxyXG5cclxuICAvLyBMaXN0IGl0ZW1zXHJcbiAgbGkge1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gVW5vcmRlcmVkIGxpc3RzXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgfVxyXG5cclxuICAvLyBPcmRlcmVkIGxpc3RzXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgfVxyXG5cclxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcclxuICB1bCwgb2wge1xyXG4gICAgJiAmIHtcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEZWZpbml0aW9uIGxpc3RzXHJcbiAgZGwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XHJcblxyXG4gICAgZHQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xyXG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQmxvY2txdW90ZXNcclxuICBibG9ja3F1b3RlIHtcclxuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XHJcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XHJcblxyXG4gICAgJiwgcCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENpdGF0aW9uc1xyXG4gIGNpdGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcclxuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEFiYnJldmlhdGlvbnNcclxuICBhYmJyIHtcclxuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgY3Vyc29yOiBoZWxwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29kZVxyXG4gIGNvZGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcclxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xyXG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcclxuICB9XHJcblxyXG4gIC8vIEtleXN0cm9rZXNcclxuICBrYmQge1xyXG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XHJcbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXHJcbi8vLy9cclxuXHJcbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XHJcblxyXG4vLy8gRGVmaW5lcyB0aGUgYmFzZSBmb250IHNpemUgb2YgdGhlIHBhZ2UsIHdoaWNoIGlzIHRoZSB2YWx1ZSBgMXJlbWAgaXMgZXF1YWwgdG8uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuLy8vIEBncm91cCBnbG9iYWxcclxuJHJlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcclxuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcclxufVxyXG5cclxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbJHJlbS1iYXNlXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXHJcbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogJHJlbS1iYXNlKSB7XHJcbiAgJHJlbS12YWx1ZXM6ICgpO1xyXG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xyXG5cclxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XHJcbiAgICAkYmFzZTogJHJlbS1iYXNlO1xyXG4gIH1cclxuXHJcbiAgQGlmICRjb3VudCA9PSAxIHtcclxuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XHJcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xyXG59XHJcblxyXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxyXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xyXG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xyXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xyXG59XHJcblxyXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRyZW0tYmFzZWAgdmFyaWFibGUuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbJHJlbS1iYXNlXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cclxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogJHJlbS1iYXNlKSB7XHJcbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cclxuICBAaWYgKHVuaXQoJHZhbHVlKSAhPSAncmVtJykge1xyXG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XHJcbiAgfVxyXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcclxuICBAaWYgKCR2YWx1ZSA9PSAwcmVtKSB7ICR2YWx1ZTogMDsgfVxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcclxuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXHJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XHJcbiAgLy8gPGhlYWRlcj5cclxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cclxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cclxuICAvLyA8L2hlYWRlcj5cclxuICAuc3ViaGVhZGVyIHtcclxuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcclxuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxyXG4gIC5sZWFkIHtcclxuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xyXG4gIC5zdGF0IHtcclxuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICAgcCArICYge1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxyXG4gIC5uby1idWxsZXQge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XHJcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJ3NtYWxsJyB7XHJcbiAgICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAZWxzZSB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcclxuLy8vL1xyXG5cclxuLy8gc2Nzcy1saW50OmRpc2FibGUgYWxsXHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xyXG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuICBAbWVkaWEgcHJpbnQge1xyXG4gICAgKiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XHJcbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cclxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcclxuICAgIGEsXHJcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XHJcbiAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxyXG5cclxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcclxuICAgIC5pciBhOmFmdGVyLFxyXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcclxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XHJcblxyXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XHJcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XHJcblxyXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xyXG4gICAgcHJlLFxyXG4gICAgYmxvY2txdW90ZSB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBoNWJwLmNvbS90XHJcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxyXG5cclxuICAgIHRyLFxyXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XHJcblxyXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cclxuXHJcbiAgICBwLFxyXG4gICAgaDIsXHJcbiAgICBoMyB7XHJcbiAgICAgIG9ycGhhbnM6IDM7XHJcbiAgICAgIHdpZG93czogMztcclxuICAgIH1cclxuXHJcbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcclxuICAgIGgyLFxyXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnV0dG9uXHJcbi8vLy9cclxuXHJcbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tY29sb3I6ICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tY29sb3ItYWx0OiAjMDAwICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXHJcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcclxuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xyXG59XHJcblxyXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXHJcbkBtaXhpbiBidXR0b24tYmFzZSB7XHJcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcclxuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XHJcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcclxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XHJcbn1cclxuXHJcbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXHJcbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcclxuICBAaWYgJGV4cGFuZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxyXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXHJcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcclxuICAkY29sb3I6ICRidXR0b24tY29sb3JcclxuKSB7XHJcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcclxuICAgICRjb2xvcjogaXNpdGxpZ2h0KCRiYWNrZ3JvdW5kKTtcclxuICB9XHJcblxyXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcclxuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTIwJSk7XHJcbiAgfVxyXG5cclxuICBAaWYgbGlnaHRuZXNzKCRiYWNrZ3JvdW5kKSA+PSA3MCUge1xyXG4gICAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLWFsdDtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cclxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xyXG4gICYsXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcclxuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcclxuICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXHJcbkBtaXhpbiBidXR0b24tZGlzYWJsZWQge1xyXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcclxuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cclxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcclxuICAkc2l6ZTogMC40ZW0sXHJcbiAgJGNvbG9yOiAkd2hpdGUsXHJcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcclxuKSB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cclxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxyXG5AbWl4aW4gYnV0dG9uKFxyXG4gICRleHBhbmQ6IGZhbHNlLFxyXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXHJcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcclxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXHJcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcclxuKSB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XHJcblxyXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGV4cGFuZCB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcclxuICAuYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuXHJcbiAgICAvLyBTaXplc1xyXG4gICAgJi50aW55ICAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCB0aW55KTsgfVxyXG4gICAgJi5zbWFsbCAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBzbWFsbCk7IH1cclxuICAgICYubGFyZ2UgICAgeyBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgbGFyZ2UpOyB9XHJcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxyXG5cclxuICAgIC8vIENvbG9yc1xyXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xyXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XHJcbiAgICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEhvbGxvdyBzdHlsZVxyXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xyXG4gICAgICAmLmhvbGxvdyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xyXG5cclxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLWNvbG9ycyB7XHJcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIERpc2FibGVkIHN0eWxlXHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcclxuICAgICYuZHJvcGRvd24ge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XHJcblxyXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcclxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xyXG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgdG9wOiAwLjJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBGb250XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQm9yZGVyXHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cclxuLy8vIEB0eXBlIFNoYWRvd1xyXG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cclxuLy8vIEB0eXBlIFNoYWRvd1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXHJcbi8vLyBAdHlwZSBDdXJzb3JcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdCAhZGVmYXVsdDtcclxuXHJcbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBCb3JkZXJcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcclxuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcclxuXHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XHJcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xyXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xyXG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XHJcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcclxuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xyXG5cclxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XHJcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcclxuICB9XHJcblxyXG4gIC8vIEZvY3VzIHN0YXRlXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xyXG5cclxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcclxuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xyXG4gIC8vIFRleHQgaW5wdXRzXHJcbiAgI3t0ZXh0LWlucHV0cygpfSxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvLyBUZXh0IGFyZWFzXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgICZbcm93c10ge1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxyXG4gIGlucHV0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgICY6ZGlzYWJsZWQsXHJcbiAgICAmW3JlYWRvbmx5XSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xyXG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXHJcbiAgW3R5cGU9J3N1Ym1pdCddLFxyXG4gIFt0eXBlPSdidXR0b24nXSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xyXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXHJcbiAgW3R5cGU9J251bWJlciddIHtcclxuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XHJcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG5cclxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG4gICAgICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xyXG4gIFt0eXBlPSdmaWxlJ10sXHJcbiAgW3R5cGU9J2NoZWNrYm94J10sXHJcbiAgW3R5cGU9J3JhZGlvJ10ge1xyXG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcclxuICB9XHJcblxyXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcclxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxyXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICB9XHJcblxyXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcclxuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxyXG4gIGxhYmVsID4gW3R5cGU9J2xhYmVsJ10ge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XHJcbiAgfVxyXG5cclxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxyXG4gIFt0eXBlPSdmaWxlJ10ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmb3Jtc1xyXG4vLy8vXHJcblxyXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvcm0tbGFiZWwge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcclxuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xyXG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcclxufVxyXG5cclxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcclxuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcclxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcclxuICBsYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xyXG5cclxuICAgICYubWlkZGxlIHtcclxuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmb3Jtc1xyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlbHB0ZXh0LWNvbG9yOiAjMzMzICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XHJcbiAgLmhlbHAtdGV4dCB7XHJcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XHJcblxyXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XHJcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XHJcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcclxuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmb3Jtc1xyXG4vLy8vXHJcblxyXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cclxuLy8vIEB0eXBlIEJvcmRlclxyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xyXG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XHJcblxyXG5cclxuICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XHJcblxyXG4gICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXM7XHJcbiAgICB9XHJcblxyXG4gICAgJiA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICAgICYgPiAqIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XHJcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XHJcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xyXG5cclxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcclxuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xyXG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDElO1xyXG5cclxuICAgIGEsXHJcbiAgICBpbnB1dCxcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cclxuLy8vIEB0eXBlIEJvcmRlclxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmaWVsZHNldCB7XHJcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xyXG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xyXG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcclxuXHJcbiAgbGVnZW5kIHtcclxuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xyXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xyXG4gIGZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICBsZWdlbmQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuICB9XHJcblxyXG4gIC5maWVsZHNldCB7XHJcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICNmYWZhZmEgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3JtLXNlbGVjdCB7XHJcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XHJcblxyXG4gIGhlaWdodDogJGhlaWdodDtcclxuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xyXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcclxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XHJcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuXHJcbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xyXG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKCRmb3JtLXNwYWNpbmcgLyAyKSBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIH1cclxuICAvLyBEaXNhYmxlZCBzdGF0ZVxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XHJcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xyXG4gICY6Oi1tcy1leHBhbmQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gICZbbXVsdGlwbGVdIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcclxuICBzZWxlY3Qge1xyXG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBhYmlkZVxyXG4vLy8vXHJcblxyXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWVycm9yLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cclxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXHJcbiAgJGJhY2tncm91bmQ6ICRhbGVydC1jb2xvclxyXG4pIHtcclxuICAmOm5vdCg6Zm9jdXMpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQsIDAuMSk7XHJcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxyXG5AbWl4aW4gZm9ybS1lcnJvciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcclxuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcclxuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xyXG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xyXG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcclxuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xyXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xyXG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRhYmlkZS1sYWJlbHMge1xyXG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcclxuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcclxuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcclxuICAuZm9ybS1lcnJvciB7XHJcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xyXG5cclxuICAgICYuaXMtdmlzaWJsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxyXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcclxuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcclxuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxLzE2KTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxyXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xyXG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xyXG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XHJcblxyXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcclxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMS8xNik7XHJcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXHJcbiAgQGlmICRsb3dlci1ib3VuZC1zaXplID09IDAge1xyXG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcclxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxyXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcclxuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xyXG4gIC5oaWRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5pbnZpc2libGUge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcclxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgIEBpZiAkc2l6ZSAhPSBzbWFsbCB7XHJcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcclxuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xyXG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXHJcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxyXG4gIC5zaG93LWZvci1zcixcclxuICAuc2hvdy1vbi1mb2N1cyB7XHJcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcclxuICB9XHJcblxyXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxyXG4gIC5zaG93LW9uLWZvY3VzIHtcclxuICAgICY6YWN0aXZlLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxyXG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZmxvYXRcclxuLy8vL1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XHJcbiAgLmZsb2F0LWxlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mbG9hdC1yaWdodCB7XHJcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mbG9hdC1jZW50ZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICB9XHJcblxyXG4gIC5jbGVhcmZpeCB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGFjY29yZGlvblxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXHJcbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xyXG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXHJcbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gIGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3I7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcclxuICB9XHJcblxyXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIHRoZSBsYXN0IHRpdGxlXHJcbiAgOmxhc3QtY2hpbGQgPiAmIHtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgfVxyXG5cclxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJysnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAn4oCTJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxyXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gIHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcclxuICAuYWNjb3JkaW9uIHtcclxuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgLy8gVGhpcyBjbGFzcyBkb2Vzbid0IG5lZWQgc3R5bGVzIVxyXG4gIH1cclxuXHJcbiAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XHJcbiAgfVxyXG5cclxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBiYWRnZVxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxyXG5AbWl4aW4gYmFkZ2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcclxuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcclxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xyXG4gIC5iYWRnZSB7XHJcbiAgICBAaW5jbHVkZSBiYWRnZTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xyXG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XHJcbiAgICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcclxuLy8vL1xyXG5cclxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxyXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcclxuXHJcbiAgLy8gSXRlbSB3cmFwcGVyXHJcbiAgbGkge1xyXG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcclxuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xyXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNsYXNoIHtcclxuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxyXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcclxuXHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiAgICAgICAgY29udGVudDogJHNsYXNoO1xyXG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFBhZ2UgbGlua3NcclxuICBhIHtcclxuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XHJcbiAgLmJyZWFkY3J1bWJzIHtcclxuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcclxuXHJcbiAgICAuZGlzYWJsZWQge1xyXG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcclxuLy8vL1xyXG5cclxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXHJcbi8vLyBAdHlwZSBCb3JkZXJcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xyXG5cclxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXHJcbkBtaXhpbiBidXR0b24tZ3JvdXAoXHJcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JcclxuKSB7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcclxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XHJcblxyXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XHJcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG5cclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJGNvdW50IFthdXRvXSAtIE51bWJlciBvZiBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLiBTZXQgdG8gYGF1dG9gIHRvIGdlbmVyYXRlIENTUyB0aGF0IHdpbGwgYWNjb3VudCBmb3IgYSB2YXJpYWJsZSBudW1iZXIgb2YgYnV0dG9ucy5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxyXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcclxuICAkY291bnQ6IGF1dG8sXHJcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JcclxuKSB7XHJcbiAgI3skc2VsZWN0b3J9IHtcclxuICAgIEBpZiAkY291bnQgPT0gYXV0byB7XHJcbiAgICAgIEBpbmNsdWRlIGF1dG8td2lkdGgoJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgsICRzZWxlY3Rvcik7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiB0eXBlLW9mKCRjb3VudCkgPT0gJ251bWJlcicge1xyXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGNvdW50KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxyXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxyXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXHJcbikge1xyXG4gICN7JHNlbGVjdG9yfSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcclxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxyXG4pIHtcclxuICAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xyXG4gIC5idXR0b24tZ3JvdXAge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xyXG5cclxuICAgIC8vIFNpemVzXHJcbiAgICAmLnRpbnkgICAgIHsgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIHRpbnkpOyB9XHJcbiAgICAmLnNtYWxsICAgIHsgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIHNtYWxsKTsgfVxyXG4gICAgJi5sYXJnZSAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBsYXJnZSk7IH1cclxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLWNvbG9ycyB7XHJcbiAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuc3RhY2tlZCxcclxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGNhbGxvdXRcclxuLy8vL1xyXG5cclxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmdWFsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cclxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cclxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cclxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcclxuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcclxuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xyXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgY29sb3I6ICRjYWxsb3V0LWZvbnQtY29sb3I7XHJcblxyXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXHJcbiAgPiA6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcblxyXG4gID4gOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cclxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XHJcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbn1cclxuXHJcbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcclxuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XHJcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XHJcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XHJcbn1cclxuXHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXHJcbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xyXG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcclxuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xyXG4gIC5jYWxsb3V0IHtcclxuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xyXG4gICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnNtYWxsIHtcclxuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKC41cmVtKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmxhcmdlIHtcclxuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cclxuLy8vIEB0eXBlIExpc3RcclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cclxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XHJcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xyXG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcclxuXHJcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xyXG4gICN7JHh9OiAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw7XHJcbiAgI3skeX06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw7XHJcbiAgZm9udC1zaXplOiAkY2xvc2VidXR0b24tc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XHJcbiAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBkcmlsbGRvd25cclxuLy8vL1xyXG5cclxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXHJcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xyXG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXHJcbiAgLmlzLWRyaWxsZG93biB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLy8gQXBwbGllZCB0byBuZXN0ZWQgPHVsPnNcclxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcclxuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcclxuXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1jbG9zaW5nIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcclxuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRwcmltYXJ5LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcclxuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrOjpiZWZvcmUge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkcHJpbWFyeS1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcclxuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XHJcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNnJlbTsgLy8gTGluZXMgdGhlIHRpcCBvZiB0aGUgYXJyb3cgd2l0aCB0aGUgaXRlbXMgYmVsb3dcclxuICAgICAgbWFyZ2luLXRvcDogMTRweDsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBkcm9wZG93blxyXG4vLy8vXHJcblxyXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMTZyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXHJcbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XHJcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgd2lkdGg6IDMwMHB4O1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XHJcblxyXG4gICYuaXMtb3BlbiB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xyXG4gIC5kcm9wZG93bi1wYW5lIHtcclxuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xyXG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xyXG4gICAgICB3aWR0aDogJHNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XHJcbi8vLy9cclxuXHJcbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XHJcbiAgLmRyb3Bkb3duLm1lbnUge1xyXG4gICAgYSB7XHJcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcclxuICAgIH1cclxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgIGE6OmFmdGVyIHtcclxuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XHJcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcclxuICAgICAgICAmLmlzLWRvd24tYXJyb3cgYSB7XHJcbiAgICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06IDEuNXJlbTtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1kb3duLWFycm93ID4gYTo6YWZ0ZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGFuY2hvci1jb2xvciwgZG93bik7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKDJweCkgKyByZW0tY2FsYyhnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsIHRvcCkpO1xyXG4gICAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWxlZnQtYXJyb3cgPiBhOjphZnRlciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkYW5jaG9yLWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xyXG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1yaWdodC1hcnJvdyA+IGE6OmFmdGVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRhbmNob3ItY29sb3IsICRnbG9iYWwtcmlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5pcy1sZWZ0LWFycm93Lm9wZW5zLWlubmVyIC5zdWJtZW51e1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy1yaWdodC1hcnJvdy5vcGVucy1pbm5lciAuc3VibWVudXtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgICYub3BlbnMtaW5uZXIgLnN1Ym1lbnUge1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uby1qcyAmIHVsIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuc3VibWVudSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAxMDAlO1xyXG4gICAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XHJcbiAgICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XHJcblxyXG4gICAgICA+IGxpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5maXJzdC1zdWIge1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLFxyXG4gICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCAuc3VibWVudSB7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWxpZ24tcmlnaHQge1xyXG4gICAgICAuc3VibWVudS5maXJzdC1zdWIge1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcblxyXG4gICAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICA+IGxpIC5zdWJtZW51IHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZmxleC12aWRlb1xyXG4vLy8vXHJcblxyXG4vLy8gUGFkZGluZyBhYm92ZSBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRmbGV4dmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXJnaW4gYmVsb3cgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgNDozIGFzcGVjdCByYXRpby5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDE2OjkgYXNwZWN0IHJhdGlvLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDcmVhdGVzIGEgcGVyY2VudGFnZSBoZWlnaHQgdGhhdCBjYW4gYmUgdXNlZCBhcyBwYWRkaW5nIGluIGEgZmxleCB2aWRlbyBjb250YWluZXIuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxyXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgYHBhZGRpbmctYm90dG9tYCBwYXJhbWV0ZXIgb2YgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cclxuQGZ1bmN0aW9uIGZsZXgtdmlkZW8oJHJhdGlvKSB7XHJcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xyXG4gICRoOiBudGgoJHJhdGlvLCAzKTtcclxuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gWyRmbGV4dmlkZW8tcmF0aW9dIC0gUmF0aW8gdG8gdXNlIGZvciB0aGUgY29udGFpbmVyLCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXHJcbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJGZsZXh2aWRlby1yYXRpbykge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgcGFkZGluZy10b3A6ICRmbGV4dmlkZW8tcGFkZGluZy10b3A7XHJcbiAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJHJhdGlvKTtcclxuICBtYXJnaW4tYm90dG9tOiAkZmxleHZpZGVvLW1hcmdpbi1ib3R0b207XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgaWZyYW1lLFxyXG4gIG9iamVjdCxcclxuICBlbWJlZCxcclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xyXG4gIC5mbGV4LXZpZGVvIHtcclxuICAgIEBpbmNsdWRlIGZsZXgtdmlkZW87XHJcblxyXG4gICAgJi53aWRlc2NyZWVuIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuKTtcclxuICAgIH1cclxuXHJcbiAgICAmLnZpbWVvIHtcclxuICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBsYWJlbFxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxyXG5AbWl4aW4gbGFiZWwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcclxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xyXG4gIC5sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBsYWJlbDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xyXG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XHJcbiAgICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XHJcbi8vLy9cclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gV2l0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXHJcbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcclxuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxyXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG4gICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcclxuICB9XHJcblxyXG4gICY6bGFzdC1jaGlsZDpub3QoKyAjeyZ9OmZpcnN0LWNoaWxkKSB7XHJcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxyXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcclxuICAubWVkaWEtb2JqZWN0IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xyXG5cclxuICAgICYubWlkZGxlIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxyXG4gICAgJi5ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBtZW51XHJcbi8vLy9cclxuXHJcbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVudS1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xyXG5cclxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXHJcbkBtaXhpbiBtZW51LWJhc2Uge1xyXG4gIG1hcmdpbjogJG1lbnUtbWFyZ2luO1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcbiAgLy8gTGlzdCBpdGVtcyBhcmUgdGFibGUgY2VsbCB0byBhbGxvdyBmb3IgdmVydGljYWwgYWxpZ25tZW50XHJcbiAgPiBsaSB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcblxyXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcclxuICA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICB9XHJcblxyXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xyXG4gIGlucHV0LFxyXG4gIGEsXHJcbiAgYnV0dG9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkY291bnQgW2F1dG9dIC0gTnVtYmVyIG9mIGl0ZW1zIGluIHRoZSBNZW51LiBZb3UgY2FuIGhhcmRjb2RlIGEgbnVtYmVyLCBvciB1c2UgYGF1dG9gIHRvIGdlbmVyYXRlIENTUyB0aGF0IHdpbGwgYWRhcHQgdG8gdGhlIG51bWJlciBvZiBpdGVtcyBpbnNpZGUgdGhlIG1lbnUuXHJcbkBtaXhpbiBtZW51LWV4cGFuZCgkY291bnQ6IGF1dG8pIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgPiBsaSB7XHJcbiAgICBAaWYgJGNvdW50ID09IGF1dG8ge1xyXG4gICAgICBAaW5jbHVkZSBhdXRvLXdpZHRoKCRtZW51LWV4cGFuZC1tYXgpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgdHlwZS1vZigkY291bnQpID09ICdudW1iZXInIHtcclxuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRjb3VudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cclxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcclxuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcclxuICAgID4gbGkge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcclxuICAgID4gbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxyXG5AbWl4aW4gbWVudS1zaW1wbGUge1xyXG4gIGEge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRnbG9iYWwtcmlnaHQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxyXG5AbWl4aW4gbWVudS1uZXN0ZWQoJG1hcmdpbjogJG1lbnUtbWFyZ2luLW5lc3RlZCkge1xyXG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgdGhlIHNoYXJlZCBDU1MgYmV0d2VlbiBzaWRlLSBhbmQgdG9wLWFsaWduZWQgaWNvbnMgZnJvbSBiZWluZyBwcmludGVkLiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSdyZSBjYWxsaW5nIHRoZSBtaXhpbiBtdWx0aXBsZSB0aW1lcyBvbiB0aGUgc2FtZSBlbGVtZW50LlxyXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XHJcbiAgQGlmICRiYXNlIHtcclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgPiBpbWcsXHJcbiAgICAgID4gaSB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiBzcGFuIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xyXG4gICAgPiBsaSA+IGEge1xyXG4gICAgICA+IGltZyxcclxuICAgICAgPiBpIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtZW51LWljb24tc3BhY2luZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgPiBpbWcsXHJcbiAgICAgID4gaSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWVudS10ZXh0IHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBwYWRkaW5nLXRvcDogMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xyXG4gIC5tZW51IHtcclxuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcclxuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XHJcblxyXG4gICAgLy8gT3JpZW50YXRpb25cclxuICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xyXG5cclxuICAgICYudmVydGljYWwge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICAgIEBpZiAkc2l6ZSAhPSBzbWFsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTaW1wbGVcclxuICAgICYuc2ltcGxlIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWxpZ24gcmlnaHRcclxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XHJcbiAgICAgID4gbGkge1xyXG4gICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRXZlbi13aWR0aFxyXG4gICAgJi5leHBhbmRlZCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xyXG5cclxuICAgICAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFZlcnRpY2FsIGljb25zXHJcbiAgICAmLmljb24tdG9wIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTmVzdGluZ1xyXG4gICAgJi5uZXN0ZWQge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZW51LXRleHQge1xyXG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xyXG4gIH1cclxuXHJcbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cclxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xyXG4vLy8vXHJcblxyXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvZmZjYW52YXMtc2l6ZTogMjUwcHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvZmZjYW52YXMtemluZGV4OiAtMSAhZGVmYXVsdDtcclxuXHJcbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XHJcblxyXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgbWVudSBpcyBvcGVuLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGJvZHkuXHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm94IHNoYWRvdyB0byBwbGFjZSB1bmRlciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoaXMgc2hhZG93IG92ZXJsYXBzIHRoZSBvZmYtY2FudmFzIG1lbnVzLlxyXG4vLy8gQHR5cGUgU2hhZG93XHJcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cclxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcclxuICAvLyBFeHRyYSBwcm9wZXJ0aWVzIG5lZWRlZCBvbiA8aHRtbD4gYW5kIDxib2R5PiB0byBtYWtlIG9mZi1jYW52YXMgd29ya1xyXG4gIGh0bWwsXHJcbiAgYm9keSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87XHJcbiAgfVxyXG5cclxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcclxuICAub2ZmLWNhbnZhcy1jb250ZW50LFxyXG4gIC4jeyRtYWluY29udGVudC1jbGFzc30ge1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRtYWluY29udGVudC1zaGFkb3cpIHtcclxuICAgICAgYm94LXNoYWRvdzogJG1haW5jb250ZW50LXNoYWRvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENsaWNrLXRvLWV4aXQgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXHJcbiAgLmpzLW9mZi1jYW52YXMtZXhpdCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcclxuXHJcbiAgICAuaXMtb2ZmLWNhbnZhcy1vcGVuICYge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBtZW51LlxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlIHtcclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZDtcclxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXppbmRleDtcclxuICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XHJcbn1cclxuXHJcbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxyXG4gICRwb3NpdGlvbjogbGVmdCxcclxuICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLFxyXG4gICRmaXhlZDogZmFsc2VcclxuKSB7XHJcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcclxuICAgIGxlZnQ6IC0kc2l6ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAkc2l6ZTtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgIHJpZ2h0OiAtJHNpemU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgfVxyXG5cclxuICAvLyBHZW5lcmF0ZXMgYW4gb3BlbiBzdGF0ZSBjbGFzcyB0aGF0IG1hdGNoZXMgdGhlIHdpZHRoIG9mIHRoZSBtZW51XHJcbiAgQGF0LXJvb3Qge1xyXG4gICAgLmlzLW9wZW4tI3skcG9zaXRpb259IHtcclxuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIG1lbnUuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbbGVmdF0gLSBQb3NpdGlvbiBvZiB0aGUgb2ZmLWNhbnZhcyBtZW51IGJlaW5nIHJldmVhbGVkLlxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXHJcbiAgJHBvc2l0aW9uOiBsZWZ0XHJcbikge1xyXG4gICN7JHBvc2l0aW9ufTogMDtcclxuICB6LWluZGV4OiBhdXRvO1xyXG5cclxuICBAaWYgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gIH1cclxuXHJcbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xyXG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XHJcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XHJcblxyXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXHJcbiAgLm9mZi1jYW52YXMge1xyXG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xyXG5cclxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxyXG4gICAgJi5wb3NpdGlvbi1yaWdodCAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0KTsgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgbWVudSBvbiBsYXJnZXIgc2NyZWVuc1xyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gc21hbGwge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgb3JiaXRcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1zbGlkZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LWhlaWdodDogMTAwJTtcclxuICAmLm5vLW1vdGlvbnVpIHtcclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG9yYml0LWZpZ3VyZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xyXG4gIG1hcmdpbjogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxyXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgY29sb3I6IGZvcmVncm91bmQoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcclxufVxyXG5cclxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cclxuQG1peGluIG9yYml0LWNvbnRyb2wge1xyXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcclxuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XHJcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xyXG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmFjdGl2ZSxcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XHJcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxyXG5AbWl4aW4gb3JiaXQtbmV4dCB7XHJcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xyXG4gICN7JGdsb2JhbC1yaWdodH06IDA7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcclxuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XHJcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XHJcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcclxuICAub3JiaXQge1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcclxuICB9XHJcblxyXG4gIC5vcmJpdC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xyXG4gIH1cclxuXHJcbiAgLm9yYml0LXNsaWRlIHtcclxuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xyXG4gIH1cclxuXHJcbiAgLm9yYml0LWZpZ3VyZSB7XHJcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XHJcbiAgfVxyXG5cclxuICAub3JiaXQtaW1hZ2Uge1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XHJcbiAgfVxyXG5cclxuICAub3JiaXQtY2FwdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xyXG4gIH1cclxuXHJcbiAgJW9yYml0LWNvbnRyb2wge1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcclxuICB9XHJcblxyXG4gIC5vcmJpdC1wcmV2aW91cyB7XHJcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XHJcbiAgfVxyXG5cclxuICAub3JiaXQtbmV4dCB7XHJcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcclxuICB9XHJcblxyXG4gIC5vcmJpdC1idWxsZXRzIHtcclxuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwYWdpbmF0aW9uXHJcbi8vLy9cclxuXHJcbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIG1lZGlhIG9iamVjdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xyXG5cclxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3MuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxuICBtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAvLyBMaXN0IGl0ZW1cclxuICBsaSB7XHJcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzO1xyXG5cclxuICAgIEBpZiBub3QgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcclxuICAgICAgJjpsYXN0LWNoaWxkLFxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQYWdlIGxpbmtzXHJcbiAgYSxcclxuICBidXR0b24ge1xyXG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cclxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IHtcclxuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XHJcbiAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ7XHJcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQge1xyXG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcclxuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIHtcclxuICBjb250ZW50OiAn4oCmJztcclxuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XHJcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcclxuICAucGFnaW5hdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcclxuXHJcbiAgICAuY3VycmVudCB7XHJcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kaXNhYmxlZCB7XHJcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xyXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxyXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICfCqyc7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxyXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnwrsnO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb2dyZXNzLWJhclxyXG4vLy8vXHJcblxyXG4vLy8gSGVpZ2h0IG9mIGEgcHJvZ3Jlc3MgYmFyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHByb2dyZXNzIGJhci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHByb2dyZXNzIGJhcidzIG1ldGVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGEgcHJvZ3Jlc3MgYmFyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXHJcbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xyXG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcclxuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcclxuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cclxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcclxuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cclxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICAjeyRnbG9iYWwtbGVmdH06IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcclxuICAvLyBQcm9ncmVzcyBiYXJcclxuICAucHJvZ3Jlc3Mge1xyXG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xyXG5cclxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tY29sb3JzIHtcclxuICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFByb2dyZXNzIGJhciBtZXRlclxyXG4gIC5wcm9ncmVzcy1tZXRlciB7XHJcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcclxuXHJcbiAgICAvLyBQcm9ncmVzcyBiYXIgbWV0ZXIgdGV4dFxyXG4gICAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xyXG4gICAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcclxuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgc2xpZGVyXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogJHNsaWRlci1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgYWN0aXZlIGZpbGwgY29sb3Igb2YgdGhlIHNsaWRlci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgaGFuZGxlIGZvciB0aGUgc2xpZGVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmYWRlIGFtb3VudCBvZiBhIGRpc2FibGVkIHNsaWRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLlxyXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxyXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XHJcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xyXG59XHJcblxyXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxyXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XHJcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xyXG5cclxuICAmLmlzLWRyYWdnaW5nIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cclxuQG1peGluIHNsaWRlci1oYW5kbGUge1xyXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcclxuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogMTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xyXG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XHJcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xyXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4gIH1cclxuXHJcbiAgJi5pcy1kcmFnZ2luZyB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XHJcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcclxuICBoZWlnaHQ6IDEyLjVyZW07XHJcbiAgbWFyZ2luOiAwIDEuMjVyZW07XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XHJcblxyXG4gIC5zbGlkZXItZmlsbCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuc2xpZGVyLWhhbmRsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xyXG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XHJcbiAgLy8gQ29udGFpbmVyXHJcbiAgLnNsaWRlciB7XHJcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xyXG4gIH1cclxuXHJcbiAgLy8gRmlsbCBhcmVhXHJcbiAgLnNsaWRlci1maWxsIHtcclxuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xyXG4gIH1cclxuXHJcbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxyXG4gIC5zbGlkZXItaGFuZGxlIHtcclxuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZCBzdGF0ZVxyXG4gIC5zbGlkZXIuZGlzYWJsZWQsXHJcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xyXG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLy8gVmVydGljYWwgc2xpZGVyXHJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XHJcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XHJcbiAgLnN0aWNreS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgLnN0aWNreSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgfVxyXG5cclxuICAuc3RpY2t5LmlzLXN0dWNrIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDU7XHJcblxyXG4gICAgJi5pcy1hdC10b3Age1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1hdC1ib3R0b20ge1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogYXV0bztcclxuXHJcbiAgICAmLmlzLWF0LWJvdHRvbSB7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHJldmVhbFxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vLyBPZmZzZXQgZnJvbSB0aGUgdG9wIG9mIHRoZSB3aW5kb3cgd2hlbiBhIG1vZGFsIGlzIGFkZGVkLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRyZXZlYWwtb2Zmc2V0OiByZW0tY2FsYygxMDApICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXHJcbkBtaXhpbiByZXZlYWwtb3ZlcmxheSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG5cclxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXHJcbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XHJcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xyXG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcclxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xyXG4gIC8vIG1hcmdpbjogMTAwcHggYXV0byAwIDEwMHB4O1xyXG4gIG1hcmdpbjogMTAwcHggYXV0byAwIGF1dG87XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICB9XHJcblxyXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxyXG4gIC5jb2x1bW4sXHJcbiAgLmNvbHVtbnMge1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXHJcbiAgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxyXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxyXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcclxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxyXG4pIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxyXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xyXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcclxuICBib2R5LmlzLXJldmVhbC1vcGVuIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE92ZXJsYXlcclxuICAucmV2ZWFsLW92ZXJsYXkge1xyXG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XHJcbiAgfVxyXG5cclxuICAvLyBNb2RhbCBjb250YWluZXJcclxuICAucmV2ZWFsIHtcclxuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xyXG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXHJcbiAgICAmLmNvbGxhcHNlIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcclxuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xyXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XHJcbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cclxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxyXG5cclxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcclxuICAgICYuZnVsbCB7XHJcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgc3dpdGNoXHJcbi8vLy9cclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcclxuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcclxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxyXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XHJcbiAgb3V0bGluZTogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cclxuQG1peGluIHN3aXRjaC1pbnB1dCB7XHJcbiAgb3BhY2l0eTogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXHJcbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcclxuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogNHJlbTtcclxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xyXG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XHJcbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XHJcblxyXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcblxyXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxyXG4gIGlucHV0ICsgJiB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxyXG4gICY6OmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06IDAuMjVyZW07XHJcbiAgICB0b3A6IDAuMjVyZW07XHJcbiAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXHJcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xyXG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMi4yNXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0OmZvY3VzIH4gJiB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxyXG5AbWl4aW4gc3dpdGNoLXRleHQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cclxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XHJcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcclxuICBkaXNwbGF5OiBub25lO1xyXG5cclxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXHJcbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XHJcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xyXG5cclxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzRyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBib2R5LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLXdpZHRoIFsxLjVyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBwYWRkbGUuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXHJcbkBtaXhpbiBzd2l0Y2gtc2l6ZShcclxuICAkZm9udC1zaXplOiAxcmVtLFxyXG4gICR3aWR0aDogNHJlbSxcclxuICAkaGVpZ2h0OiAycmVtLFxyXG4gICRwYWRkbGUtd2lkdGg6IDEuNXJlbSxcclxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxyXG4pIHtcclxuICAkcGFkZGxlLWhlaWdodDogJGhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xyXG4gICRwYWRkbGUtbGVmdC1hY3RpdmU6ICR3aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcclxuXHJcbiAgLnN3aXRjaC1wYWRkbGUge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XHJcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcclxuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6YWZ0ZXIge1xyXG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWxlZnQtYWN0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcclxuICAvLyBDb250YWluZXIgY2xhc3NcclxuICAuc3dpdGNoIHtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcclxuICAuc3dpdGNoLWlucHV0IHtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcclxuICB9XHJcblxyXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxyXG4gIC5zd2l0Y2gtcGFkZGxlIHtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XHJcbiAgfVxyXG5cclxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXHJcbiAgJXN3aXRjaC10ZXh0IHtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xyXG4gIH1cclxuXHJcbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXHJcbiAgLnN3aXRjaC1hY3RpdmUge1xyXG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XHJcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XHJcbiAgfVxyXG5cclxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xyXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xyXG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XHJcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcclxuICB9XHJcblxyXG4gIC8vIFN3aXRjaCBzaXplc1xyXG4gIC5zd2l0Y2gudGlueSB7XHJcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksIDNyZW0sICRzd2l0Y2gtaGVpZ2h0LXRpbnksIDFyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XHJcbiAgfVxyXG5cclxuICAuc3dpdGNoLnNtYWxsIHtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgMy41cmVtLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgMS4yNXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2gubGFyZ2Uge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCA1cmVtLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgMnJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3IsIFF1YWxpZnlpbmdFbGVtZW50XHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdGFibGVcclxuLy8vL1xyXG5cclxuLy8vIERlZnVhbHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZ1YWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZnVhbHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cclxuLy8vIEB0eXBlIExpc3RcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZnVhbHQgcGFkZGluZyBmb3IgdGFibGUuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZnVhbHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZnVhbHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cclxuLy8vIEB0eXBlIExpc3RcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZnVhbHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmdWFsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3RlciBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnlvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxyXG4vLy8gQHR5cGUgS2V5b3dvcmRcclxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZ1YWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZ1YWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZnVhbHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZ1YWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmdWFsdCB2YWx1ZSBpcyBldmVuLlxyXG5AbWl4aW4gdGFibGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xyXG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuICBAYXQtcm9vdCB7XHJcbiAgICB0aGVhZCxcclxuICAgIHRib2R5LFxyXG4gICAgdGZvb3Qge1xyXG4gICAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENhcHRpb25cclxuICAgIGNhcHRpb24ge1xyXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxyXG4gICAgdGhlYWQsXHJcbiAgICB0Zm9vdCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xyXG5cclxuICAgICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxyXG4gICAgICB0ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XHJcbiAgICAgIHRoLFxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGFibGUgcm93c1xyXG4gICAgdGJvZHkge1xyXG4gICAgICB0ciB7XHJcbiAgICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cclxuICAgICAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcclxuICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxyXG4gICAgICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcclxuICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGgsXHJcbiAgICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxyXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuXHJcbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxyXG5AbWl4aW4gdGFibGUtaG92ZXIge1xyXG4gIHRyIHtcclxuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xyXG4gICAgfVxyXG5cclxuICAgIC8vRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXHJcbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XHJcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9EYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxyXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xyXG4gICAgICAmOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXHJcbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcclxuICBAaWYgJGhlYWRlciB7XHJcbiAgICB0aGVhZCB7XHJcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGgge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIHRoZWFkIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRmb290IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICB0cixcclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIHRkIHtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSB7XHJcbiAgdGFibGUge1xyXG4gICAgQGluY2x1ZGUgdGFibGU7XHJcbiAgfVxyXG5cclxuICB0YWJsZS5zdGFjayB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGFibGUuc2Nyb2xsIHtcclxuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcclxuICB9XHJcblxyXG4gIHRhYmxlLmhvdmVyIHtcclxuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXHJcbi8vLy9cclxuXHJcbi8vLyBDaGVja3MgdGhlIGxpZ2h0bmVzcyBvZiBgJGNvbG9yYCwgYW5kIGlmIGl0IHBhc3NlcyB0aGUgYCR0aHJlc2hvbGRgIG9mIGxpZ2h0bmVzcywgaXQgcmV0dXJucyB0aGUgYCR5ZXNgIGNvbG9yLiBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlIGAkbm9gIGNvbG9yLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBvdXRwdXQgYSBmb3JlZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIGEgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHllcyBbJGJsYWNrXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBsaWdodC5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxyXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxyXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xyXG4gIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xyXG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4gIH1cclxuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCkge1xyXG4gICAgQHJldHVybiAkeWVzO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRubztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxyXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxyXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXHJcbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xyXG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xyXG4gICAgJHNjYWxlOiAtJHNjYWxlO1xyXG4gIH1cclxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdGFic1xyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIGFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYi1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIGEgdGFiIGl0ZW0uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcclxuICAudGFicyB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIG1hcmdpbjogJHRhYi1tYXJnaW47XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xyXG5cclxuICAgIC8vIFNpbXBsZVxyXG4gICAgJi5zaW1wbGUge1xyXG4gICAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBWZXJ0aWNhbFxyXG4gICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgID4gbGkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUHJpbWFyeSBjb2xvclxyXG4gICAgJi5wcmltYXJ5IHtcclxuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcblxyXG4gICAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJHByaW1hcnktY29sb3IpO1xyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYnMtdGl0bGUge1xyXG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcclxuXHJcbiAgICA+IGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmc7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGNvbG9yOiAkdGFiLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgJjpmb2N1cyxcclxuICAgICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZC1hY3RpdmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50YWJzLWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcblxyXG4gICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XHJcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGFicy1wYW5lbCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmc7XHJcblxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxyXG4vLy8vXHJcblxyXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxyXG4vLy8gQHR5cGUgQm9yZGVyXHJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXHJcbi8vLyBAdHlwZSBTaGFkb3dcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXHJcbi8vLyBAdHlwZSBTaGFkb3dcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXHJcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXHJcbkBtaXhpbiB0aHVtYm5haWwge1xyXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XHJcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XHJcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XHJcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xyXG4gIC50aHVtYm5haWwge1xyXG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXHJcbi8vLy9cclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxyXG4vLy8gQHR5cGUgTGVuZ3RoXHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXHJcbi8vLyBAdHlwZSBXZWlnaHRcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XHJcbiAgLnRpdGxlLWJhciB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcclxuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xyXG5cclxuICAgIC5tZW51LWljb24ge1xyXG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xyXG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLXBhZGRpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGl0bGUtYmFyLWxlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG5cclxuICAudGl0bGUtYmFyLXJpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLnRpdGxlLWJhci10aXRsZSB7XHJcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLm1lbnUtaWNvbiB7XHJcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB0b29sdGlwXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwaXAgb2Zmc2V0IGZvciB0b29sdGlwcy4gVGhpcyBjb250cm9scyBob3cgZmFyIHRoZSBwaXAgaXMgaW5kZW50ZWQgZnJvbSB0aGUgbGVmdCBlZGdlIG9mIHRoZSB0b29sdGlwLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0b29sdGlwLXBpcC1vZmZzZXQ6IDEuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gaGFzLXRpcCB7XHJcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgY3Vyc29yOiBoZWxwO1xyXG59XHJcblxyXG5AbWl4aW4gdG9vbHRpcCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcclxuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XHJcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XHJcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcclxuICBtYXgtd2lkdGg6IDEwcmVtICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xyXG4gICAgYm90dG9tOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIH1cclxuXHJcbiAgJi50b3A6OmJlZm9yZSB7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICB9XHJcblxyXG4gICYubGVmdDo6YmVmb3JlIHtcclxuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIGxlZnQ6IDEwMCU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9XHJcblxyXG4gICYucmlnaHQ6OmJlZm9yZSB7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogMTAwJTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XHJcbiAgLmhhcy10aXAge1xyXG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcclxuICB9XHJcblxyXG4gIC50b29sdGlwIHtcclxuICAgIEBpbmNsdWRlIHRvb2x0aXA7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB0b3AtYmFyXHJcbi8vLy9cclxuXHJcbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgZm9yIGxpbmtzIGluc2lkZSBhIHRvcCBiYXIgbWVudS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0b3BiYXItbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gV2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cclxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XHJcblxyXG4gICYsXHJcbiAgdWwge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgaW5wdXQge1xyXG4gICAgd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcclxuICB9XHJcblxyXG4gIGlucHV0LmJ1dHRvbiB7XHJcbiAgICB3aWR0aDphdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIG1ha2VzIHNlY3Rpb25zIHN0YWNrZWRcclxuQG1peGluIHRvcC1iYXItc3RhY2tlZCgpIHtcclxuICAvLyBTdWItc2VjdGlvbnNcclxuICAudG9wLWJhci1yaWdodCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLnRvcC1iYXItbGVmdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xyXG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXHJcbiAgLnRvcC1iYXIge1xyXG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XHJcbiAgfVxyXG4gIC8vIGdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcclxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgIC5zdGFja2VkLWZvci0jeyRzaXplfSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xyXG4gICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyBzdGFjayBvbiBzbWFsbCBzY3JlZW5zIGFzIGRlZmF1bHRcclxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcclxuICB9XHJcblxyXG4gIC8vIFN1Yi1zZWN0aW9uc1xyXG4gIC50b3AtYmFyLWxlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG4gIC50b3AtYmFyLXJpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcbn1cclxuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXHJcbiQtbXVpLWN1c3RvbTogMDtcclxuXHJcbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXHJcbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXHJcbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xyXG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcclxuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xyXG5cclxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXHJcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XHJcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcclxuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcclxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XHJcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXHJcbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxyXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xyXG4gICRvdXRwdXQ6ICgpO1xyXG5cclxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcclxuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XHJcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcclxuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XHJcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG91dHB1dDtcclxufVxyXG5cclxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxyXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xyXG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcclxuXHJcbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcclxuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXHJcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcclxuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICAjeyRwcm9wfTogJHZhbHVlO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXHJcbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcclxuICAkbmV3LW1hcDogKCk7XHJcblxyXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcclxuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcclxuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcclxuXHJcbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcclxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XHJcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xyXG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcclxuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG5ldy1tYXA7XHJcbn1cclxuXHJcbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxyXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XHJcbiAgJG5ldy1tYXA6ICgpO1xyXG5cclxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXHJcbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XHJcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XHJcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XHJcbiAgICB9XHJcblxyXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcclxuXHJcbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXHJcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXHJcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcclxuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcclxuICAgICAgJG5ldy12YWx1ZTogKCk7XHJcblxyXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcclxuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxyXG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxyXG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcclxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXHJcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XHJcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcclxuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xyXG5cclxuICBAcmV0dXJuICRuZXctbWFwO1xyXG59XHJcblxyXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cclxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxyXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcclxuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XHJcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcclxuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XHJcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcclxufVxyXG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc2xpZGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxyXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cclxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxyXG5AbWl4aW4gbXVpLXNsaWRlIChcclxuICAkc3RhdGU6IGluLFxyXG4gICRkaXJlY3Rpb246IGxlZnQsXHJcbiAgJGFtb3VudDogMTAwJSxcclxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXHJcbiAgJGR1cmF0aW9uOiBudWxsLFxyXG4gICR0aW1pbmc6IG51bGwsXHJcbiAgJGRlbGF5OiBudWxsXHJcbikge1xyXG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcclxuXHJcbiAgLy8gQ1NTIE91dHB1dFxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XHJcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xyXG5cclxuICAgIEBpZiAkZmFkZSB7XHJcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XHJcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XHJcblxyXG4gICAgQGlmICRmYWRlIHtcclxuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cclxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxyXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXHJcbiAgJGR1cmF0aW9uOiBudWxsLFxyXG4gICR0aW1pbmc6IG51bGwsXHJcbiAgJGRlbGF5OiBudWxsXHJcbikge1xyXG4gIEBleHRlbmQgJW11aS1kZWZhdWx0cztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XHJcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xyXG59XHJcblxyXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cclxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xyXG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XHJcblxyXG4gIEBhdC1yb290IHtcclxuICAgICN7JHNlbGVjdG9yfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cclxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcclxuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xyXG5cclxuICBAYXQtcm9vdCB7XHJcbiAgICAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXHJcbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxyXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XHJcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXHJcbn1cclxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXHJcbkBtaXhpbiBtdWktZmFkZShcclxuICAkc3RhdGU6IGluLFxyXG4gICRmcm9tOiAwLFxyXG4gICR0bzogMSxcclxuICAkZHVyYXRpb246IG51bGwsXHJcbiAgJHRpbWluZzogbnVsbCxcclxuICAkZGVsYXk6IG51bGxcclxuKSB7XHJcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XHJcblxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XHJcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XHJcblxyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xyXG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XHJcbiAgfVxyXG59XHJcbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXHJcbkBmdW5jdGlvbiBoaW5nZSAoXHJcbiAgJHN0YXRlOiBpbixcclxuICAkZnJvbTogbGVmdCxcclxuICAkYXhpczogZWRnZSxcclxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcclxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xyXG4pIHtcclxuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XHJcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XHJcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXHJcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcclxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXHJcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXHJcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxyXG4gICk7XHJcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXHJcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXHJcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcclxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxyXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxyXG4gICk7XHJcblxyXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxyXG4gICRyb3RhdGlvbjogJyc7XHJcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcclxuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcclxuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xyXG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcclxuICB9XHJcblxyXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcclxuICAkc3RhcnQ6ICcnO1xyXG4gICRlbmQ6ICcnO1xyXG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xyXG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcclxuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcclxuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xyXG4gIH1cclxuXHJcbiAgLy8gVHVybiBheGlzXHJcbiAgJG9yaWdpbjogJyc7XHJcbiAgQGlmICRheGlzID09IGVkZ2Uge1xyXG4gICAgJG9yaWdpbjogJGZyb207XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkb3JpZ2luOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAka2V5ZnJhbWVzOiAoXHJcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXHJcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxyXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcclxuICApO1xyXG5cclxuICBAcmV0dXJuICRrZXlmcmFtZXM7XHJcbn1cclxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXHJcbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXHJcbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXHJcbkBtaXhpbiBtdWktaGluZ2UgKFxyXG4gICRzdGF0ZTogaW4sXHJcbiAgJGZyb206IGxlZnQsXHJcbiAgJGF4aXM6IGVkZ2UsXHJcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXHJcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXHJcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxyXG4gICRkdXJhdGlvbjogbnVsbCxcclxuICAkdGltaW5nOiBudWxsLFxyXG4gICRkZWxheTogbnVsbFxyXG4pIHtcclxuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XHJcblxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XHJcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xyXG5cclxuICAgIEBpZiAkZmFkZSB7XHJcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcclxuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcclxuXHJcbiAgICBAaWYgJGZhZGUge1xyXG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxyXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cclxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxyXG5AbWl4aW4gbXVpLXpvb20oXHJcbiAgJHN0YXRlOiBpbixcclxuICAkZnJvbTogMS41LFxyXG4gICR0bzogMSxcclxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXHJcbiAgJGR1cmF0aW9uOiBudWxsLFxyXG4gICR0aW1pbmc6IG51bGwsXHJcbiAgJGRlbGF5OiBudWxsXHJcbikge1xyXG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcclxuXHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcclxuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XHJcblxyXG4gICAgQGlmICRmYWRlIHtcclxuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xyXG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xyXG5cclxuICAgIEBpZiAkZmFkZSB7XHJcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cclxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXHJcbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cclxuQG1peGluIG11aS1zcGluKFxyXG4gICRzdGF0ZTogaW4sXHJcbiAgJGRpcmVjdGlvbjogY3csXHJcbiAgJGFtb3VudDogMC43NXR1cm4sXHJcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXHJcbiAgJGR1cmF0aW9uOiBudWxsLFxyXG4gICR0aW1pbmc6IG51bGwsXHJcbiAgJGRlbGF5OiBudWxsXHJcbikge1xyXG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XHJcblxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XHJcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XHJcblxyXG4gICAgQGlmICRmYWRlIHtcclxuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xyXG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XHJcblxyXG4gICAgQGlmICRmYWRlIHtcclxuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxyXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxyXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xyXG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XHJcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcclxufVxyXG4iLCIuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRAaW5jbHVkZSB0eXBvZ3JhcGh5KFxyXG5cdFx0JGhlYWRlci1mb250LWZhbWlseSxcclxuXHRcdCRyZW0tYmFzZSAtIDIsXHJcblx0XHQzLFxyXG5cdFx0dXBwZXJjYXNlKTtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBcIlxcZTgwZVwiO1xyXG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeShcclxuXHRcdFx0JGljb24tZm9udC1mYW1pbHksXHJcblx0XHRcdCRyZW0tYmFzZSArIDQsXHJcblx0XHRcdDMsXHJcblx0XHRcdHVwcGVyY2FzZSk7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcbn1cclxuLmlzLWFjdGl2ZSB7XHJcblx0PiAuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU4MGRcIjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmFjY29yZGlvbntcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0YSB7XHJcblx0XHRib3JkZXItYm90dG9tOiAkZmFkZWQtYm9yZGVyO1xyXG5cdH1cclxufVxyXG5cclxuLmlubmVyLWFjY29yZGlvbiB7XHJcblx0cGFkZGluZzogMDtcclxuXHQuYWNjb3JkaW9uLWl0ZW0ge1xyXG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeShcclxuXHRcdFx0JGhlYWRlci1mb250LWZhbWlseSxcclxuXHRcdFx0JHJlbS1iYXNlIC0gMixcclxuXHRcdFx0MyxcclxuXHRcdFx0dXBwZXJjYXNlKTtcclxuXHR9XHJcblx0bGkge1xyXG5cdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5hY2NvcmRpb24tY29udGVudCB7XHJcblx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogJGZhZGVkLWJvcmRlcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206ICRmYWRlZC1ib3JkZXI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5hY2NvcmRpb24ge1xyXG5cdFx0Ym9yZGVyLXRvcDogJGZhZGVkLWJvcmRlcjtcclxuXHR9XHJcblxyXG59XHJcblxyXG4uYWNjb3JkaW9uLWl0ZW0ge1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjkpO1xyXG5cclxufVxyXG4uc2Vjb25kLXRpZXItbWVudS1jb21we1xyXG5cdC5hY2NvcmRpb24tY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bGkge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0XHRhIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdEBpbmNsdWRlIHR5cG9ncmFwaHkoXHJcblx0XHRcdCRsaWdodC1mb250LWZhbWlseSxcclxuXHRcdFx0JHJlbS1iYXNlIC0gMixcclxuXHRcdFx0MyxcclxuXHRcdFx0dXBwZXJjYXNlKTtcclxuXHRcdFx0cGFkZGluZzogMTBweCA1cHggMTBweCAyNXB4O1xyXG5cdFx0fVxyXG5cdFx0LmFjY29yZGlvbiB7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XHJcblx0XHRcdFx0cGFkZGluZzogMTBweCA1cHggMTBweCAyNXB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5hY2NvcmRpb24tY29udGVudCB7XHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udC1mYW1pbHk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8vcGxhY2Vob2xkZXIgc2V0XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXItc2V0KCRjb2xvcil7XHJcblx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIFNhZmFyaSwgQ2hyb21lIGFuZCBPcGVyYSAqL1xyXG5cdCAgY29sb3I6ICRjb2xvcjtcclxuXHR9XHJcblx0JjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuXHQgIGNvbG9yOiAkY29sb3I7XHJcblx0fVxyXG5cdCY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xyXG5cdCAgY29sb3I6ICRjb2xvcjtcclxuXHR9XHJcblx0JjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuXHQgIGNvbG9yOiAkY29sb3I7XHJcblx0fVxyXG5cdCY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIEVkZ2UgKi9cclxuXHQgIGNvbG9yOiAkY29sb3I7XHJcblx0fVxyXG5cdCY6cGxhY2Vob2xkZXItc2hvd24geyAvKiBTdGFuZGFyZCBvbmUgbGFzdCEgKi9cclxuXHQgIGNvbG9yOiAkY29sb3I7XHJcblx0fVxyXG59XHJcblxyXG4vLyB0eXBvZ3JhcGh5XHJcblxyXG5AbWl4aW4gdGllci10eXBvZ3JhcGh5KCl7XHJcblx0Zm9udC1mYW1pbHk6ICdMYXRvV2ViQm9sZCcsICBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG5cdGxldHRlci1zcGFjaW5nOiAycHg7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuQG1peGluIHR5cG9ncmFwaHkoJGZvbnQtZmFtaWx5LCAkc2l6ZSwgJHNwYWNpbmcsICR0cmFuc2Zvcm0pe1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcblx0Zm9udC1zaXplOiAkc2l6ZTtcclxuXHRsZXR0ZXItc3BhY2luZzogJHNwYWNpbmc7XHJcblx0dGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XHJcbn1cclxuXHJcbkBtaXhpbiBzbGlkZXItdHlwb2dyYXBoeSgkZm9udC1zaXplLCAkbGV0dGVyLXNwYWNpbmcsICRsaW5lLWhlaWdodCkge1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0bGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcclxuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi8vIGJveFxyXG5cclxuQG1peGluIGJveCgkd2lkdGgsICRoZWlnaHQsICRib3JkZXItd2lkdGgsICRib3JkZXItdHlwZSwgJGJvcmRlci1jb2xvcil7XHJcblx0aGVpZ2h0OiAkaGVpZ2h0O1xyXG5cdHdpZHRoOiAkd2lkdGg7XHJcblx0Ym9yZGVyOiAkYm9yZGVyLXdpZHRoICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yO1xyXG5cclxufVxyXG5cclxuLy8gYm9yZGVycyBhbGxcclxuQG1peGluIGJvcmRlcnMoJHdpZHRoLCAkY29sb3Ipe1xyXG5cdGJvcmRlcjogJHdpZHRoIHNvbGlkICRjb2xvcjtcclxufVxyXG5cclxuXHJcbi8vIHNjcm9sbCB0byB0b3Agb3BhY2l0eSB0cmFuc2l0aW9uXHJcblxyXG5AbWl4aW4gZm9ybXBsYWNlaG9sZGVyKCRjb2xvcil7XHJcblx0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogU2FmYXJpLCBDaHJvbWUgYW5kIE9wZXJhICovXHJcblx0ICBjb2xvcjogJGNvbG9yO1xyXG5cdH1cclxuXHJcblx0Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xyXG5cdCAgY29sb3I6ICRjb2xvcjtcclxuXHR9XHJcblxyXG5cdDo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXHJcblx0ICBjb2xvcjogJGNvbG9yO1xyXG5cdH1cclxuXHJcblx0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xyXG5cdCAgY29sb3I6ICRjb2xvcjtcclxuXHR9XHJcblxyXG5cdDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogRWRnZSAqL1xyXG5cdCAgY29sb3I6ICRjb2xvcjtcclxuXHR9XHJcblxyXG5cdDpwbGFjZWhvbGRlci1zaG93biB7IC8qIFN0YW5kYXJkIG9uZSBsYXN0ISAqL1xyXG5cdCAgY29sb3I6ICRjb2xvcjtcclxuXHR9XHJcbn0iLCJcclxuLmJyZWFkY3J1bWItY29tcCB7XHJcbiAgICBtYXJnaW46IDAgMTVweDtcclxuICAgIFxyXG4gICAgLmJyZWFkY3J1bWJzIHtcclxuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDQwKSAwIDAgMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNDApIDAgcmVtLWNhbGMoMjApIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiPlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlIC0gNDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWItY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5kYXRlcGlja2VyIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IC00JTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTclO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuICBkaXJlY3Rpb246IGx0cjtcclxuICBbY2xhc3NePVwiaWNvbi1cIl0ge1xyXG4gICAgZm9udC1zaXplOiAkcmVtLWJhc2UgKyAyO1xyXG4gIH1cclxufVxyXG4gIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMjNweDtcclxuICAgIH1cclxuICB9XHJcbiAgICAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHRoIHtcclxuICAgICAgcGFkZGluZzogNnB4IDEycHg7IH1cclxuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGQge1xyXG4gICAgICBwYWRkaW5nOiA2cHggMTJweDsgfVxyXG4gIC5kYXRlcGlja2VyIHRhYmxlIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICAgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3BhbiB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMSU7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxyXG4gIC5kYXRlcGlja2VyIHRkIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgZm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG4gICAgcGFkZGluZzogNHB4IDhweDtcclxuICAgIC8vYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxyXG4gICAgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLmRheSwgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLnllYXIge1xyXG4gICAgICAvL2JhY2tncm91bmQ6ICMyYmE2Y2I7XHJcbiAgICB9XHJcbiAgICAuZGF0ZXBpY2tlciB0ZC5vbGQsIC5kYXRlcGlja2VyIHRkLm5ldyB7XHJcbiAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjQpO1xyXG4gICAgfVxyXG4gICAgLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUge1xyXG4gICAgICAvL2JhY2tncm91bmQ6ICMyYmE2Y2I7IH1cclxuICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgfVxyXG4gICAgLmRhdGVwaWNrZXIgdGQuZGF5LmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6ICNlZWU7XHJcblx0ICBjdXJzb3I6IGRlZmF1bHQ7XHJcblx0ICB9XHJcbiAgLmRhdGVwaWNrZXIgdGgge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gICAgLy9iYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XHJcbiAgICAuZGF0ZXBpY2tlciB0aC5hY3RpdmUuZGF5LCAuZGF0ZXBpY2tlciB0aC5hY3RpdmUueWVhciB7XHJcbiAgICAgIC8vYmFja2dyb3VuZDogIzJiYTZjYjtcclxuICAgIH1cclxuICAgIC5kYXRlcGlja2VyIHRoLmRhdGUtc3dpdGNoIHtcclxuICAgICAgd2lkdGg6IDE0NXB4OyB9XHJcbiAgICAuZGF0ZXBpY2tlciB0aCBzcGFuLmFjdGl2ZSB7XHJcbiAgICAgIC8vYmFja2dyb3VuZDogIzJiYTZjYlxyXG4gICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XHJcbiAgICB9XHJcbiAgLmRhdGVwaWNrZXIgLmN3IHtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgcGFkZGluZzogMCAycHggMCA1cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XHJcbiAgLmRhdGVwaWNrZXIuZGF5cyBkaXYuZGF0ZXBpY2tlci1kYXlzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgLmRhdGVwaWNrZXIubW9udGhzIGRpdi5kYXRlcGlja2VyLW1vbnRocyB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgfVxyXG4gIC5kYXRlcGlja2VyLnllYXJzIGRpdi5kYXRlcGlja2VyLXllYXJzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgLmRhdGVwaWNrZXIgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XHJcbiAgICAuZGF0ZXBpY2tlciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aC5jdyB7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuICAuZGF0ZXBpY2tlciB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cclxuXHJcbi5kYXRlcGlja2VyLWlubGluZSB7XHJcbiAgd2lkdGg6IDIyMHB4OyB9XHJcblxyXG4uZGF0ZXBpY2tlci1ydGwge1xyXG4gIGRpcmVjdGlvbjogcnRsOyB9XHJcbiAgLmRhdGVwaWNrZXItcnRsIHRhYmxlIHRyIHRkIHNwYW4ge1xyXG4gICAgZmxvYXQ6IHJpZ2h0OyB9XHJcblxyXG4uZGF0ZXBpY2tlci1kcm9wZG93biB7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7IH1cclxuICAuZGF0ZXBpY2tlci1kcm9wZG93bjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC03cHg7XHJcbiAgICBsZWZ0OiA2cHg7IH1cclxuICAuZGF0ZXBpY2tlci1kcm9wZG93bjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTZweDtcclxuICAgIGxlZnQ6IDdweDsgfVxyXG5cclxuLmRhdGVwaWNrZXIgPiBkaXYsXHJcbi5kYXRlcGlja2VyLWRyb3Bkb3duOjpiZWZvcmUsXHJcbi5kYXRlcGlja2VyLWRyb3Bkb3duOjphZnRlciB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLmRhdGVwaWNrZXItY2xvc2Uge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC0zMHB4O1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiAxNXB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi50YWJsZS1zdHJpcGVkIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLFxyXG4udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0aCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuXHJcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWZvdW5kYXRpb24tZGF0ZXBpY2tlci5jc3MubWFwICovXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLnRhYmxlLWNvbmRlbnNlZCB7XHJcbiAgdGhlYWQsXHJcbiAgdGJvZHksXHJcbiAgdGZvb3Qge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLW1vbnRocyB7XHJcbiAgd2lkdGg6IDIyNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgfVxyXG4gIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdHJ7XHJcbiAgICAgIHRkIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICAgIC8vYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsIDAuMik7XHJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGgge1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhlYWQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyLWRheXMge1xyXG4gIC5kYXkge1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5kb3cge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsIDAuMik7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblxyXG4gIH1cclxuICAuZGF0ZS1zd2l0Y2gge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcbn1cclxuXHJcbi5kcCB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiNzdGFydERhdGUsXHJcbiNlbmREYXRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8qIFdlYmZvbnQ6IExhdG8tQm9sZCAqL0Bmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMYXRvV2ViQm9sZCc7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTGF0by1Cb2xkLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTGF0by1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgICAgLy91cmwoJy4uL2ZvbnRzL0xhdG8tQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTGF0by1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTGF0by1Cb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG59XHJcblxyXG4vKiBXZWJmb250OiBMYXRvLUJvbGRJdGFsaWMgKi9AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTGF0b1dlYkJvbGQnO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICAgIC8vdXJsKCcuLi9mb250cy9MYXRvLUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxufVxyXG5cclxuLyogV2ViZm9udDogTGF0by1MaWdodCAqL0Bmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMYXRvV2ViTGlnaHQnO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0xhdG8tTGlnaHQuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9MYXRvLUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgICAgLy91cmwoJy4uL2ZvbnRzL0xhdG8tTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL0xhdG8tTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgICAgdXJsKCcuLi9mb250cy9MYXRvLUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG59XHJcblxyXG4vKiBXZWJmb250OiBMYXRvLUxpZ2h0SXRhbGljICovQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ0xhdG9XZWJMaWdodCc7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTGF0by1MaWdodEl0YWxpYy5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0xhdG8tTGlnaHRJdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgICAvL3VybCgnLi4vZm9udHMvTGF0by1MaWdodEl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTGF0by1MaWdodEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL0xhdG8tTGlnaHRJdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbn1cclxuXHJcbi8qIFdlYmZvbnQ6IExhdG8tUmVndWxhciAqL0Bmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMYXRvV2ViJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9MYXRvLVJlZ3VsYXIuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9MYXRvLVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgICAvL3VybCgnLi4vZm9udHMvTGF0by1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgICAgdXJsKCcuLi9mb250cy9MYXRvLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgICAgdXJsKCcuLi9mb250cy9MYXRvLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnaWNvbmZvbnQnO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9pY29uZm9udC5lb3Q/MjQzMDI2MTgnKTtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvaWNvbmZvbnQuZW90PzI0MzAyNjE4I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9pY29uZm9udC53b2ZmPzI0MzAyNjE4JykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ljb25mb250LnR0Zj8yNDMwMjYxOCcpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgIHVybCgnLi4vZm9udHMvaWNvbmZvbnQuc3ZnPzI0MzAyNjE4I2ljb25mb250JykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuXHJcbi8vIE9wdGltYVxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnb3B0aW1hbm9ybWFsJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcHRpbWEtd2ViZm9udC5lb3QnKTtcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcHRpbWEtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wdGltYS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wdGltYS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9vcHRpbWEtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvb3B0aW1hLXdlYmZvbnQuc3ZnI29wdGltYW5vcm1hbCcpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdvcHRpbWFib2xkJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcHRpbWFfYi13ZWJmb250LmVvdCcpO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wdGltYV9iLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9vcHRpbWFfYi13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wdGltYV9iLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wdGltYV9iLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wdGltYV9iLXdlYmZvbnQuc3ZnI29wdGltYWJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnb3B0aW1haXRhbGljJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcHRpbWFfaS13ZWJmb250LmVvdCcpO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wdGltYV9pLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9vcHRpbWFfaS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wdGltYV9pLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wdGltYV9pLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wdGltYV9pLXdlYmZvbnQuc3ZnI29wdGltYWl0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdvcHRpbWFyZWd1bGFyJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy91bmljb2RlLm9wdGltYS13ZWJmb250LmVvdCcpO1xyXG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3VuaWNvZGUub3B0aW1hLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy91bmljb2RlLm9wdGltYS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3VuaWNvZGUub3B0aW1hLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3VuaWNvZGUub3B0aW1hLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3VuaWNvZGUub3B0aW1hLXdlYmZvbnQuc3ZnI29wdGltYXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuXHJcblxyXG4vLyBXZWF0aGVyIEljb25zXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICd3ZWF0aGVyJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9hcnRpbGxfY2xlYW5faWNvbnMtd2ViZm9udC5lb3QnKTtcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9hcnRpbGxfY2xlYW5faWNvbnMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2FydGlsbF9jbGVhbl9pY29ucy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9hcnRpbGxfY2xlYW5faWNvbnMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvYXJ0aWxsX2NsZWFuX2ljb25zLXdlYmZvbnQuc3ZnI2FydGlsbF9jbGVhbl93ZWF0aGVyX2ljb25zUmcnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuLy8gRm9udCBJY29uc1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD8yMjU1NTU0OScpO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9mb250ZWxsby5lb3Q/MjI1NTU1NDkjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLndvZmYyPzIyNTU1NTQ5JykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby53b2ZmPzIyNTU1NTQ5JykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLnR0Zj8yMjU1NTU0OScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgIHVybCgnLi4vZm9udHMvZm9udGVsbG8uc3ZnPzIyNTU1NTQ5I2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG4vKiBDaHJvbWUgaGFjazogU1ZHIGlzIHJlbmRlcmVkIG1vcmUgc21vb3RoIGluIFdpbmRvenplLiAxMDAlIG1hZ2ljLCB1bmNvbW1lbnQgaWYgeW91IG5lZWQgaXQuICovXHJcbi8qIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlICovXHJcbi8qXHJcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/MjI1NTU1NDkjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xyXG4gIH1cclxufVxyXG4qL1xyXG4gXHJcbiBbY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBzcGVhazogbm9uZTtcclxuIFxyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgd2lkdGg6IDFlbTtcclxuICBtYXJnaW4tcmlnaHQ6IC4yZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC8qIG9wYWNpdHk6IC44OyAqL1xyXG4gXHJcbiAgLyogRm9yIHNhZmV0eSAtIHJlc2V0IHBhcmVudCBzdHlsZXMsIHRoYXQgY2FuIGJyZWFrIGdseXBoIGNvZGVzKi9cclxuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuIFxyXG4gIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXHJcbiAgbGluZS1oZWlnaHQ6IDFlbTtcclxuIFxyXG4gIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXHJcbiAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cclxuICBtYXJnaW4tbGVmdDogLjJlbTtcclxuIFxyXG4gIC8qIHlvdSBjYW4gYmUgbW9yZSBjb21mb3J0YWJsZSB3aXRoIGluY3JlYXNlZCBpY29ucyBzaXplICovXHJcbiAgLyogZm9udC1zaXplOiAxMjAlOyAqL1xyXG4gXHJcbiAgLyogRm9udCBzbW9vdGhpbmcuIFRoYXQgd2FzIHRha2VuIGZyb20gVFdCUyAqL1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiBcclxuICAvKiBVbmNvbW1lbnQgZm9yIDNEIGVmZmVjdCAqL1xyXG4gIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovXHJcbn1cclxuXHJcbi8vIHdlYXRlaHIgaWNvbnNcclxuLndlYXRoZXItZm9udCB7XHJcbiAgICBmb250LWZhbWlseTogd2VhdGhlcjtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMS4wO1xyXG59XHJcbiN3ZWF0aGVyIHtcclxuICAvLyB3ZWF0aGVyIGljb25zXHJcbiAgLmljb24tMDpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiOlwiOyB9XHJcbiAgLmljb24tMTpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwicFwiOyB9XHJcbiAgLmljb24tMjpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiU1wiOyB9XHJcbiAgLmljb24tMzpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiUVwiOyB9XHJcbiAgLmljb24tNDpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiU1wiOyB9XHJcbiAgLmljb24tNTpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiV1wiOyB9XHJcbiAgLmljb24tNjpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiV1wiOyB9XHJcbiAgLmljb24tNzpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiV1wiOyB9XHJcbiAgLmljb24tODpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiV1wiOyB9XHJcbiAgLmljb24tOTpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiSVwiOyB9XHJcbiAgLmljb24tMTA6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIldcIjsgfVxyXG4gIC5pY29uLTExOmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJJXCI7IH1cclxuICAuaWNvbi0xMjpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiSVwiOyB9XHJcbiAgLmljb24tMTM6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIklcIjsgfVxyXG4gIC5pY29uLTE0OmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJJXCI7IH1cclxuICAuaWNvbi0xNTpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiV1wiOyB9XHJcbiAgLmljb24tMTY6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIklcIjsgfVxyXG4gIC5pY29uLTE3OmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJXXCI7IH1cclxuICAuaWNvbi0xODpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiVVwiOyB9XHJcbiAgLmljb24tMTk6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIlpcIjsgfVxyXG4gIC5pY29uLTIwOmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJaXCI7IH1cclxuICAuaWNvbi0yMTpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiWlwiOyB9XHJcbiAgLmljb24tMjI6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIlpcIjsgfVxyXG4gIC5pY29uLTIzOmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJaXCI7IH1cclxuICAuaWNvbi0yNDpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiRVwiOyB9XHJcbiAgLmljb24tMjU6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIkVcIjsgfVxyXG4gIC5pY29uLTI2OmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCIzXCI7IH1cclxuICAuaWNvbi0yNzpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiYVwiOyB9XHJcbiAgLmljb24tMjg6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIkFcIjsgfVxyXG4gIC5pY29uLTI5OmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJhXCI7IH1cclxuICAuaWNvbi0zMDpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiQVwiOyB9XHJcbiAgLmljb24tMzE6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIjZcIjsgfVxyXG4gIC5pY29uLTMyOmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCIxXCI7IH1cclxuICAuaWNvbi0zMzpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiNlwiOyB9XHJcbiAgLmljb24tMzQ6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIjFcIjsgfVxyXG4gIC5pY29uLTM1OmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJXXCI7IH1cclxuICAuaWNvbi0zNjpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiMVwiOyB9XHJcbiAgLmljb24tMzc6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIlNcIjsgfVxyXG4gIC5pY29uLTM4OmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJTXCI7IH1cclxuICAuaWNvbi0zOTpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiU1wiOyB9XHJcbiAgLmljb24tNDA6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIk1cIjsgfVxyXG4gIC5pY29uLTQxOmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJXXCI7IH1cclxuICAuaWNvbi00MjpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiSVwiOyB9XHJcbiAgLmljb24tNDM6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIldcIjsgfVxyXG4gIC5pY29uLTQ0OmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJhXCI7IH1cclxuICAuaWNvbi00NTpiZWZvcmUgeyBAZXh0ZW5kIC53ZWF0aGVyLWZvbnQ7IGNvbnRlbnQ6IFwiU1wiOyB9XHJcbiAgLmljb24tNDY6YmVmb3JlIHsgQGV4dGVuZCAud2VhdGhlci1mb250OyBjb250ZW50OiBcIlVcIjsgfVxyXG4gIC5pY29uLTQ3OmJlZm9yZSB7IEBleHRlbmQgLndlYXRoZXItZm9udDsgY29udGVudDogXCJTXCI7IH1cclxufVxyXG4gXHJcbi5pY29uLXNwaW42OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9IC8qICfuoIAnICovXHJcbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9IC8qICfuoIEnICovXHJcbi5pY29uLWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAyJzsgfSAvKiAn7qCCJyAqL1xyXG4uaWNvbi1jY3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMyc7IH0gLyogJ+6ggycgKi9cclxuLmljb24tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDQnOyB9IC8qICfuoIQnICovXHJcbi5pY29uLWRvYzpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA1JzsgfSAvKiAn7qCFJyAqL1xyXG4uaWNvbi1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA2JzsgfSAvKiAn7qCGJyAqL1xyXG4uaWNvbi1wbHVzLWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNyc7IH0gLyogJ+6ghycgKi9cclxuLmljb24tb2s6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwOCc7IH0gLyogJ+6giCcgKi9cclxuLmljb24tZmxhZzpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA5JzsgfSAvKiAn7qCJJyAqL1xyXG4uaWNvbi1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYSc7IH0gLyogJ+6giicgKi9cclxuLmljb24tbWVudTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBiJzsgfSAvKiAn7qCLJyAqL1xyXG4uaWNvbi1jbG9jazpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBjJzsgfSAvKiAn7qCMJyAqL1xyXG4uaWNvbi1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBkJzsgfSAvKiAn7qCNJyAqL1xyXG4uaWNvbi1hbmdsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGUnOyB9IC8qICfuoI4nICovXHJcbi5pY29uLXBsYXktY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBmJzsgfSAvKiAn7qCPJyAqL1xyXG4uaWNvbi1zdW46YmVmb3JlIHsgY29udGVudDogJ1xcZTgxMCc7IH0gLyogJ+6gkCcgKi9cclxuLmljb24tdGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTEnOyB9IC8qICfuoJEnICovXHJcbi5pY29uLWxlYWY6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxMic7IH0gLyogJ+6gkicgKi9cclxuLmljb24tc3VpdGNhc2U6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxMyc7IH0gLyogJ+6gkycgKi9cclxuLmljb24tbWVnYXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTQnOyB9IC8qICfuoJQnICovXHJcbi5pY29uLWluc3RhZ3JhbS1maWxsZWQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxNSc7IH0gLyogJ+6glScgKi9cclxuLmljb24tdHdpdHRlci1iaXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTYnOyB9IC8qICfuoJYnICovXHJcbi5pY29uLWxlZnQtb3Blbi1iaWc6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxNyc7IH0gLyogJ+6glycgKi9cclxuLmljb24tcmlnaHQtb3Blbi1iaWc6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxOCc7IH0gLyogJ+6gmCcgKi9cclxuLmljb24tZm9vZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODE5JzsgfSAvKiAn7qCZJyAqL1xyXG4uaWNvbi1iZWQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxYSc7IH0gLyogJ+6gmicgKi9cclxuLmljb24tdXNlcnM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxYic7IH0gLyogJ+6gmycgKi9cclxuLmljb24tcmFpbi1pbnY6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxYyc7IH0gLyogJ+6gnCcgKi9cclxuLmljb24tY2FuY2VsOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MWQnOyB9IC8qICfuoJ0nICovXHJcbi5pY29uLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MWUnOyB9IC8qICfuoJ4nICovXHJcbi5pY29uLWZsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MWYnOyB9IC8qICfuoJ8nICovXHJcbi5pY29uLW1haWw6YmVmb3JlIHsgY29udGVudDogJ1xcZTgyMCc7IH0gLyogJ+6goCcgKi9cclxuLmljb24tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MjEnOyB9IC8qICfuoKEnICovXHJcbi5pY29uLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODIyJzsgfSAvKiAn7qCiJyAqL1xyXG4uaWNvbi15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MjMnOyB9IC8qICfuoKMnICovXHJcbi5pY29uLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MjQnOyB9IC8qICfuoKQnICovXHJcbi5pY29uLXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MjUnOyB9IC8qICfuoKUnICovXHJcbi5pY29uLXBpbnRlcmVzdC1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MjYnOyB9IC8qICfuoKYnICovXHJcbi5pY29uLWdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MjcnOyB9IC8qICfuoKcnICovXHJcbi5pY29uLXBsdXM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgyOCc7IH0gLyogJ+6gqCcgKi9cclxuLmljb24tdHJpcC1hZHZpc29yOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MjknOyB9IC8qICfuoKknICovXHJcbi5pY29uLXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODJhJzsgfSAvKiAn7qCqJyAqL1xyXG4uaWNvbi1mbGlnaHQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgyYic7IH0gLyogJ+6gqycgKi9cclxuXHJcblxyXG5cclxuLypcclxuICAgQW5pbWF0aW9uIGV4YW1wbGUsIGZvciBzcGlubmVyc1xyXG4qL1xyXG4uYW5pbWF0ZS1zcGluIHtcclxuXHQkc3BlZWQ6IDEuMnM7XHJcbiAgLW1vei1hbmltYXRpb246IHNwaW4gJHNwZWVkIGluZmluaXRlIGxpbmVhcjtcclxuICAtby1hbmltYXRpb246IHNwaW4gJHNwZWVkIGluZmluaXRlIGxpbmVhcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAkc3BlZWQgaW5maW5pdGUgbGluZWFyO1xyXG4gIGFuaW1hdGlvbjogc3BpbiAkc3BlZWQgaW5maW5pdGUgbGluZWFyO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5ALW1vei1rZXlmcmFtZXMgc3BpbiB7XHJcbiAgMCUge1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xyXG4gIDAlIHtcclxuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgfVxyXG59XHJcbkAtby1rZXlmcmFtZXMgc3BpbiB7XHJcbiAgMCUge1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICB9XHJcbn1cclxuQC1tcy1rZXlmcmFtZXMgc3BpbiB7XHJcbiAgMCUge1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluIHtcclxuICAwJSB7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gIH1cclxufVxyXG4iLCIvLyBIZWFkZXIgc3R5bGVzXHJcblxyXG4kbWFpbi1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDkycHg7XHJcbiRtYWluLWhlYWRlci1oZWlnaHQtbW9iaWxlOiA2MnB4O1xyXG5cclxuLmhlYWRlci1jb21wIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcblx0LndpZGUtbWFyZ2luIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQudG9wLXBhZGRlZCB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuXHJcblx0XHRcdFx0aDEge1xyXG5cdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcblx0ICAgICAgICAubG9nbyB7XHJcblx0ICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOztcclxuXHQgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIDE1cHg7XHJcblxyXG5cdCAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDU4cHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA1NHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDJweDtcclxuXHQgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcblxyXG5cdCAgICAgICAgICAgICAgICBpbWcge1xyXG5cdCAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTZweDtcclxuXHQgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuXHQgICAgICAgICAgICAgICAgfVxyXG5cdCAgICAgICAgICAgIH1cclxuXHQgICAgICAgIH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuICAgICAgICAubWFpbi1oZWFkZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJG1haW4taGVhZGVyLWhlaWdodC1kZXNrdG9wO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRtYWluLWhlYWRlci1oZWlnaHQtbW9iaWxlO1xyXG5cclxuICAgICAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblx0fVxyXG59XHJcblxyXG4vLyBhZGQgc29tZSBzcGFjZSB0byB0b3Agb2YgbWFpbiBjb250ZW50IHRvIGNvcnJlY3QgZm9yIGZpeGVkIGhlYWRlclxyXG4ubWFpbi1jb250ZW50IHtcclxuICAgIG1hcmdpbi10b3A6ICRtYWluLWhlYWRlci1oZWlnaHQtZGVza3RvcDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkbWFpbi1oZWFkZXItaGVpZ2h0LW1vYmlsZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gc3BhY2luZyBmb3IgZml4ZWQgYmFjayBidXR0b25cclxuLmJhY2stbmF2IHtcclxuICAgIHRvcDogJG1haW4taGVhZGVyLWhlaWdodC1kZXNrdG9wICsgMjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICB0b3A6ICRtYWluLWhlYWRlci1oZWlnaHQtbW9iaWxlICsgMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gaGFuZGxlIGZ1bGwgaGVpZ2h0IG1lbnVcclxuLmZ1bGwtaGVpZ2h0LW1lbnUge1xyXG4gICAgLmhlYWRlci1jb21wIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAubWFpbi1jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RpY2sge1xyXG4gICAgdG9wOiAkbWFpbi1oZWFkZXItaGVpZ2h0LWRlc2t0b3A7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgdG9wOiAkbWFpbi1oZWFkZXItaGVpZ2h0LW1vYmlsZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gY3JlYXRlIGFuIG9mZnNldCBmb3IgaGFzaCBsaW5rc1xyXG5hW2lkXSxcclxuaDFbaWRdLFxyXG5oMltpZF0sXHJcbmgzW2lkXSxcclxuaDRbaWRdIHtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRjb250ZW50OiBcIiBcIjtcclxuXHRcdGhlaWdodDogJG1haW4taGVhZGVyLWhlaWdodC1kZXNrdG9wO1xyXG5cdFx0bWFyZ2luLXRvcDogLSRtYWluLWhlYWRlci1oZWlnaHQtZGVza3RvcDtcclxuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRcdHRyYW5zaXRpb246IGFsbCA4cztcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAtJG1haW4taGVhZGVyLWhlaWdodC1tb2JpbGU7XHJcblx0XHRcdFx0aGVpZ2h0OiAkbWFpbi1oZWFkZXItaGVpZ2h0LW1vYmlsZTtcclxuICAgIH1cclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHQvKiBjcmF6eSBob3ZlciBvdmVyIGFib3ZlIGxpbmsgZml4ICovXHJcblx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogLThzO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCJcclxuLmJyaW5nLXRvLWZyb250IHtcclxuXHR6LWluZGV4OiAxMDUwO1xyXG59XHJcblxyXG4uc2VuZC10by1iYWNrIHtcclxuXHR6LWluZGV4OiAwO1xyXG59XHJcblxyXG4ud2lkZS1tYXJnaW4ge1xyXG5cdHdpZHRoOjk3MHB4O1xyXG5cdG1hcmdpbjogYXV0bztcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcbi5zdWItbWFyZ2luIHtcclxuXHRtYXgtd2lkdGg6IDExNjRweDtcclxuXHRtYXJnaW46IGF1dG87XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4ud2lmaS1tYXJnaW4ge1xyXG5cdHdpZHRoOiA2MDBweDtcclxuXHRtYXJnaW46IGF1dG87XHJcblx0dG9wOjUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4uZGltbWVkLWJnIHtcclxuXHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxufVxyXG5cclxuLm5vLWxpbmUge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLmNhcGl0YWxpemVkIHtcclxuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxufVxyXG5cclxuLmhlaWdodC10YWxsIHtcclxuXHRsaSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdH1cclxufVxyXG5cclxuLmhlaWdodC1tZWRpdW0ge1xyXG5cdGxpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdHJldGNoLW9uLXNtYWxsIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi52ZXJ0LXBhZCB7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoNDApIDAgcmVtLWNhbGMoNjApO1xyXG59XHJcbi52ZXJ0LW1lZGl1bS1wYWQge1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAwO1xyXG59XHJcbi5sZWZ0LWNvbCB7XHJcblx0bWFyZ2luOiAwIDAgMCByZW0tY2FsYygxNik7XHJcbn1cclxuXHJcbi5mb3JtLWdhcCB7XHJcblx0cGFkZGluZzogMCByZW0tY2FsYygxNSkgMCAwO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5yaWdodC1jb2wge1xyXG5cdG1hcmdpbjogMCByZW0tY2FsYygxNikgMCAwO1xyXG59XHJcbi5yaWdodC1wYWQge1xyXG5cdHBhZGRpbmc6IDAgcmVtLWNhbGMoMjUpIDAgMDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG59XHJcblxyXG4ubGlnaHRncmF5IHtcclxuXHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxufVxyXG5cclxuLmJvdHRvbS1wYWQge1xyXG5cdHBhZGRpbmc6IDAgMCByZW0tY2FsYyg0MCk7XHJcbn1cclxuXHJcbi53aGl0ZW4ge1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxufVxyXG5cclxuLmdhcHBlZC1idG0ge1xyXG5cdG1hcmdpbjogMCAwIDIwcHg7XHJcbn1cclxuXHJcbi5lcnJvci1tc2cge1xyXG5cdGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcblx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSA0O1xyXG59XHJcblxyXG4ubWVkaXVtLWRvd24tY2VudGVyZWQge1xyXG5cdEBleHRlbmQgLnRleHQtY2VudGVyO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0QGV4dGVuZCAudGV4dC1sZWZ0O1xyXG5cdH1cclxufVxyXG5cclxuLmNvbXAtbWFyZ2luLWJhc2Uge1xyXG5cdG1hcmdpbjogMCAwIHJlbS1jYWxjKDUwKTtcclxufVxyXG4iLCJcclxuLy8gaG9tZXBhZ2UgdmlzaXRcclxuXHJcbi5ob21lIHtcclxuXHQud2lkZS1tYXJnaW4ge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRwYWRkaW5nOiAwIDYwcHg7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdGgyIHtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmZ1bGxlcnRvbi1zdGF5IHtcclxuXHQ+IC53aWRlLW1hcmdpbiB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgNjBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jb2xsYXBzZS1tZWRpdW0ge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblx0Lm9mZmVyLWhlYWRlciB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdG1hcmdpbjogMCAgMCAxMHB4IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udmlzaXQtbGlzdCB7XHJcblx0Lmxpc3QtaXRlbS1jb21wIHtcclxuXHRcdGhlaWdodDogNTAwcHg7XHJcblx0fVxyXG59XHJcblxyXG4udmlkZW8tY29udGFpbmVyIHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0bWFyZ2luOiA2MHB4IDAgMDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBzdWJwYWdlXHJcblxyXG5cclxuLnN1Yi1jb250ZW50LXRleHQge1xyXG5cdHBhZGRpbmc6IDAgMjBweCAwIDA7XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XHJcblx0XHRwYWRkaW5nOiAwIDAgNjBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5zdWItY29udGVudC13cmFwcGVyIHtcclxuXHRtYXJnaW46IDAgMCA0MHB4IDA7XHJcbn1cclxuXHJcbi5zdWItY29udGVudC1pbWFnZSB7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRtYXJnaW46IDAgMCA0MHB4O1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0bWFyZ2luOiAwIGF1dG8gNDBweDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHR3aWR0aDogNDgzcHg7XHJcblx0fVxyXG59XHJcblxyXG4udG9wLXBhZGRlZCB7XHJcblx0cGFkZGluZy10b3A6IDQwcHg7XHJcbn1cclxuXHJcbi5lbWFpbC1saXN0IHtcclxuXHQuZW1haWx7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XHJcblx0fVxyXG5cdC5waG9uZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHQmLmxhc3Qge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRbY2xhc3NePVwiaWNvbi1cIl0ge1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5sYXJnZS11bmNvbGxhcHNlIHtcclxuXHRwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcblx0cGFkZGluZy1yaWdodDogMTBweDtcclxufVxyXG5cclxuYm9keSB7XHJcblx0YmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbn1cclxuXHJcbi5jYXB0Y2hhIHtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcbn1cclxuXHJcbi5mb3JtLXRlcm1zLXdyYXBwZXIge1xyXG5cdHdpZHRoOiA2JTtcclxufVxyXG4uZm9ybS10ZXJtcy10ZXh0IHtcclxuXHR3aWR0aDogOTQlO1xyXG5cdGZvbnQtc2l6ZTogJHJlbS1iYXNlIC0gNDtcclxufVxyXG5cclxuQGluY2x1ZGUgZm9ybXBsYWNlaG9sZGVyKCRwbGFjZWhvbGRlci1jb2xvcik7XHJcblxyXG4ud2lmaSB7XHJcblx0Lm9yYml0LWNhcHRpb24ge1xyXG5cdFx0dG9wOiA1NSU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU1JSk7XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHR9XHJcblx0fVxyXG5cdGZvcm0ge1xyXG5cdFx0d2lkdGg6NDUwcHg7XHJcblx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uaXMtaW52YWxpZC1pbnB1dCB7XHJcblx0QGluY2x1ZGUgcGxhY2Vob2xkZXItc2V0KCRhbGVydC1jb2xvcik7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGFsZXJ0LWNvbG9yO1xyXG59XHJcblxyXG4uc2l0ZW1hcCB7XHJcblx0aDQge1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG5cdH1cclxufVxyXG5cclxuLnByaXZhY3kge1xyXG5cdGg0IHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb3B5cmlnaHQge1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRmb250LWZhbWlseTogXCJvcHRpbWFib2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0bWFyZ2luOiAxMHB4IDAgMDtcclxufVxyXG5cclxuLmNhcmVlcnMge1xyXG5cdHVsIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0XHRsaSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuLmF3YXJkcyB7XHJcblx0Zm9ybSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cdH1cclxufVxyXG5cclxuLm5ld3Nyb29tIHtcclxuXHRmb3JtIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uc3BsYXNoLWltZyB7XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jb25kaXRpb25zIHtcclxuXHRsaSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0XHRAZXh0ZW5kIGg0O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5tZW51IHtcclxuXHRhIHtcclxuXHRcdCYuYnV0dG9uIHtcclxuXHRcdFx0cGFkZGluZzogMCAxNXB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNDVweDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmNvbnRhY3QtZGV0YWlsIHtcclxuXHRbY2xhc3NePVwiaWNvbi1cIl0ge1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdH1cclxuXHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDI7XHJcblx0bGkge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblx0aDMge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4ubWFpbi1jb250ZW50IHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMjBweDtcclxufVxyXG5cclxuI2xpc3Qtc3RheSB7XHJcblx0Lmxpc3QtaXRlbS1jb21wIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG59XHJcblxyXG4uc3RpY2t5LW5hdiB7XHJcblxyXG5cdCYuc3RpY2sge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRwb3NpdGlvbjogc3RhdGljO1xyXG5cdFx0XHRtYXJnaW46ICAwO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XHJcblx0XHRcdG1hcmdpbjogIDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4jc3RpY2t5LW5hdiB7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0bWFyZ2luOiAwIDAgNDBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5hbWVuaXRpZXMtbGlzdCB7XHJcblx0bWFyZ2luOiAwIDAgNDBweCAxMHB4O1xyXG5cdGxpIHtcclxuXHRcdG1hcmdpbjogMCAwIDIwcHg7XHJcblx0XHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDI7XHJcblx0fVxyXG59XHJcblxyXG4uY2VudGVyLWZvci1zbWFsbC1vbmx5IHtcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi54cCB7XHJcblx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5wYWRkZWQtY29udGVudHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYwKTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDYwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5hcnRpY2xlLWhlYWRlciB7XHJcblx0bWFyZ2luOiByZW0tY2FsYyg0MCkgMDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRtYXJnaW46IDAgMCByZW0tY2FsYygxNik7XHJcblx0fVxyXG59XHJcblxyXG4uYXJ0aWNsZS1yb3cge1xyXG5cdG1hcmdpbjogMCAwIDQwcHg7XHJcbn1cclxuLy93aWZpIGFjY2Vzc1xyXG4uZHJvcGRvd24ge1xyXG5cdCYubWVudSB7XHJcblx0XHQmLnNlbGVjdC1vcHRpb25zIHtcclxuXHRcdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XHJcblx0XHRcdC8qdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsqL1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdFx0XHQuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdCYuaXMtZG93bi1hcnJvdyB7XHJcblx0XHRcdFx0XHQmID4gYSB7XHJcblx0XHRcdFx0XHRcdC8vY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcclxuXHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODBlXCI7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQtZmFtaWx5O1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogJHJlbS1iYXNlICsgMjtcclxuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDoyMHB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDoyMHB4O1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG5cdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IC01cHg7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuc3VibWVudSB7XHJcblx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDMwJSk7XHJcblx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5vcHRpb24tdmFsdWUge1xyXG5cdFx0XHQmLmlzLWludmFsaWQtaW5wdXQge1xyXG5cdFx0XHRcdGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jdXN0b20tY2FsZW5kYXIge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDQwcHg7XHJcblx0ei1pbmRleDogMTtcclxuXHQubW9udGhzIHtcclxuXHRcdC8vcGFkZGluZzogMTBweDtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjMpO1xyXG5cdFx0dWwge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5tb250aCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR3aWR0aDogMjElO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luOiAxMHB4O1xyXG5cdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdFtjbGFzc149XCJpY29uLVwiXSB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0fVxyXG5cdC55ZWFyIHtcclxuXHRcdGZvbnQtc2l6ZTogJHJlbS1iYXNlIC0gMztcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxufVxyXG5cclxuIiwiLy8gQW5ub3VuY2VtZW50XHJcblxyXG5AbWl4aW4gdG9wLWNhbGxvdXQtaWNvbnMoJGZvbnQtc2l6ZSl7XHJcblx0Y29sb3I6ICR3aGl0ZTtcclxuXHRmb250LXNpemU6ICRmb250LXNpemU7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlO1xyXG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC01MCUpOyAvKiBJRSA5ICovXHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSk7IC8qIFNhZmFyaSAqL1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKTsgLyogU3RhbmRhcmQgc3ludGF4ICovXHJcbn1cclxuXHJcbi5jYWxsb3V0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRoZWlnaHQ6IDc1cHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0cGFkZGluZzogMTVweCAwO1xyXG5cdH1cclxuXHRcclxuXHQmLnNob3cge1xyXG5cdFx0ZGlzcGxheTogdGFibGU7XHJcblx0fVxyXG5cdC50YWJ1bGFyIHtcclxuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSA0O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogJHJlbS1iYXNlICsgMjtcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxuXHRcdFx0bWFyZ2luOiAwIDkwcHggMCAxMzVweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRcdG1hcmdpbjogMCA2MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdG1hcmdpbjogMCA0MHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRwIHtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDQ7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAkcmVtLWJhc2UgKyAyO1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHQuaWNvbi1jYW5jZWwge1xyXG5cdFx0QGluY2x1ZGUgdG9wLWNhbGxvdXQtaWNvbnMoJHJlbS1iYXNlICsgOCk7XHJcblx0XHRyaWdodDogMzBweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0cmlnaHQ6IDhweDtcclxuXHRcdH1cclxuXHR9XHJcblx0Lmljb24tbWVnYXBob25lIHtcclxuXHRcdEBpbmNsdWRlIHRvcC1jYWxsb3V0LWljb25zKCRyZW0tYmFzZSArIDIpO1xyXG5cdFx0bGVmdDogOTVweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0bGVmdDogMjBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRsZWZ0OiA4cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUge1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcbn1cclxuIiwiLy8gQnV0dG9uc1xyXG5cclxuQG1peGluIHZlcnRpY2FsLWFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xyXG5cdHRvcDogNTAlO1xyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4uYnV0dG9uIHtcclxuXHRjb2xvcjogJHdoaXRlO1xyXG5cdGZvbnQtZmFtaWx5OiAnTGF0b1dlYkJvbGQnLCAgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdGZvbnQtc2l6ZTogJHJlbS1iYXNlIC0gMjtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4zcmVtO1xyXG5cdG1hcmdpbjogMCAwIHJlbS1jYWxjKCRyZW0tYmFzZSk7XHJcblx0bWluLXdpZHRoOiAxNTVweDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRvdXRsaW5lOiAwO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0bWluLXdpZHRoOiAxNTVweDtcclxuXHR9XHJcblx0LnYtYWxpZ24ge1xyXG5cdFx0QGluY2x1ZGUgdmVydGljYWwtYWxpZ24oKTtcclxuXHR9XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0YmFja2dyb3VuZDogJGhvdmVyLWNvbG9yO1xyXG5cdH1cclxuXHQmLmFjdGl2ZSB7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0YmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdG91dGxpbmU6IDA7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRob3Zlci1jb2xvcjtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGhvdmVyLWNvbG9yO1xyXG5cdFx0XHRvdXRsaW5lOiAwO1xyXG5cdFx0fVxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdG91dGxpbmU6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUge1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR9XHJcblx0Ji5wcmltYXJ5IHtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkaG92ZXItY29sb3I7XHJcblx0XHR9XHJcblx0XHQmOmZvY3VzIHtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0b3V0bGluZTogMDtcclxuXHRcdH1cclxuXHR9XHJcblx0Ji5ob2xsb3cge1xyXG5cdFx0Ji53aGl0ZSB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogJHdoaXRlO1xyXG5cdFx0fVxyXG5cdFx0Jjpob3ZlcixcclxuXHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRjb2xvcjogJGhvdmVyLWNvbG9yO1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICRob3Zlci1jb2xvcjtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcclxuXHRcdFx0b3V0bGluZTogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm1haW4tY29udGVudCAuYnV0dG9uIHtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4ycmVtO1xyXG59XHJcblxyXG5cclxuXHJcbi5sb2FkLW1vcmUtYnV0dG9uIHtcclxuXHRiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcclxuXHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDI7XHJcblx0aGVpZ2h0OiA0NXB4O1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjFyZW07XHJcblx0bGluZS1oZWlnaHQ6IDQ1cHg7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHQuaWNvbi1wbHVzLTEge1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRmb250LXNpemU6ICRyZW0tYmFzZSArIDI7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xyXG5cdFx0bWFyZ2luOiAyMHB4IDAgMDtcclxuXHR9XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJGhvdmVyLWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuLmNhbmNlbC1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdEBpbmNsdWRlIGJveCg0NXB4LCA0NXB4LCAycHgsIHNvbGlkLCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Lmljb24tY2FuY2VsIHtcclxuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xyXG5cdFx0dG9wOiA1MiU7XHJcblx0XHRsZWZ0OiA1MiU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgKyA4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnJlYWQtbW9yZS1idXR0b24ge1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XHJcblx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjFyZW07XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvciA6JGhvdmVyLWNvbG9yO1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb2xvciA6JGhvdmVyLWNvbG9yO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaWNvbi1yaWdodC1vcGVuLWJpZyB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbG9yIDokaG92ZXItY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBiYWNrIHRvIHRvcFxyXG5cclxuLmJhY2stdG8tdG9wLWNvbXAge1xyXG5cdC5yZXR1cm4tYnV0dG9uIHtcclxuXHRcdGJvdHRvbTogMjBweDtcclxuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSA0O1xyXG5cdFx0bGluZS1oZWlnaHQ6ICRyZW0tYmFzZSAtIDQ7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0ICBcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHQgIFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdCAgXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdCAgXHRyaWdodDogMjBweDtcclxuXHRcdC8qIGltYWdlIHJlcGxhY2VtZW50IHByb3BlcnRpZXMgKi9cclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ICBcdHdpZHRoOiA1MHB4O1xyXG5cdCAgXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0ICBcdG9wYWNpdHk6IDA7XHJcblx0IFx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyAwcywgdmlzaWJpbGl0eSAwcyAuM3M7XHJcblx0ICBcdC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgLjNzO1xyXG5cdCAgXHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyAwcywgdmlzaWJpbGl0eSAwcyAuM3M7XHJcblx0fVxyXG5cdC5pY29uLWFuZ2xlLXVwIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgKyA0O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0fVxyXG5cdC5yZXR1cm4tYnV0dG9uLmNkLWlzLXZpc2libGUsIC5yZXR1cm4tYnV0dG9uLmNkLWZhZGUtb3V0LCAubm8tdG91Y2ggLnJldHVybi1idXR0b246aG92ZXIge1xyXG5cdCBcdC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgMHM7XHJcblx0ICBcdC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgMHM7XHJcblx0ICBcdHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIDBzLCB2aXNpYmlsaXR5IDBzIDBzO1xyXG5cdH1cclxuXHQucmV0dXJuLWJ1dHRvbi5jZC1pcy12aXNpYmxlIHtcclxuXHQgIFx0LyogdGhlIGJ1dHRvbiBiZWNvbWVzIHZpc2libGUgKi9cclxuXHQgIFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHQgIFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdC5uby10b3VjaCAucmV0dXJuLWJ1dHRvbjpob3ZlciB7XHJcblx0ICBcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4vLyBzdWJtaXQgYnV0dG9uXHJcblxyXG4uc3VibWl0LWJ0biB7XHJcblx0LmJ1dHRvbiB7XHJcblx0XHRtYXJnaW46IDAgMCAyMHB4O1xyXG5cdH1cclxufVxyXG4iLCJAbWl4aW4gaW5mb2dyYXBoaWNib3goJGZvbnQtc2l6ZSwkaGVpZ2h0LCAkd2lkdGgpe1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuXHRtaW4taGVpZ2h0OiAkaGVpZ2h0O1xyXG5cdHdpZHRoOiAkd2lkdGg7XHJcbn1cclxuXHJcbi5jb2x1bW5pbmZvZ3JhcGhpYyB7XHJcblx0bWFyZ2luOiAwIDAgNTBweCAwO1xyXG59XHJcblxyXG4uaW5mb2dyYXBoaWMtY29tcCB7XHJcblx0bWFyZ2luOiAwIDAgNDBweDtcclxuXHQubGlzdC1pdGVtIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDQ7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcblx0XHRAaW5jbHVkZSBpbmZvZ3JhcGhpY2JveCgkcmVtLWJhc2UgLSA0LCAxNDVweCwgYXV0byk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdEBpbmNsdWRlIGluZm9ncmFwaGljYm94KCRyZW0tYmFzZSAtIDMsIDE1OHB4LCBhdXRvKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRAaW5jbHVkZSBpbmZvZ3JhcGhpY2JveCgkcmVtLWJhc2UgLSA5LCA5MHB4LCBhdXRvKTtcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOjA7XHJcblx0XHRcdHJpZ2h0OjA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdGJvdHRvbTowO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdFx0fVxyXG5cdFx0Lml0ZW0tZGV0YWlscyB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDEwcHg7XHJcblx0XHR9XHJcblx0XHRbY2xhc3NePVwiaWNvbi1cIl0ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgKyA4O1xyXG5cdFx0XHRtYXJnaW46IDAgMCAxMHB4O1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgKyAxMDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRmb250LXNpemU6ICRyZW0tYmFzZSArIDI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuY2xpY2thYmxlIHtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGhvdmVyLWNvbG9yO1xyXG5cdFx0XHRjb2xvcjogJGhvdmVyLWNvbG9yO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkaG92ZXItY29sb3I7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6XCIrXCI7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDBweDtcclxuXHRcdFx0XHRyaWdodDogMTBweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuY29sdW1uIHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0fVxyXG59IiwiLm1haW4tbmF2LW1hcmdpbiB7XHJcblx0bWF4LXdpZHRoOiAxMjI0cHg7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdHdpZHRoOiBhdXRvXHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0d2lkdGg6IGF1dG9cclxuXHR9XHJcbn1cclxuXHJcbi50b3AtdGllci1tZW51LWNvbXAge1xyXG5cclxuXHRtYXJnaW46IDI1cHggMTVweCAwIDA7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHQuYm9vay1ub3csXHJcblx0Lm1lbnUge1xyXG4gICAgICAgIC5tZW51LCAubGFuZy1tZW51IHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDE1cHg7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6NjBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblx0fVxyXG4gICAgLmJ1dHRvbi5ib29rLW5vdyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudSAubGFuZy1tZW51IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG5cclxuXHJcbiAgICAgICAgICAgIGk6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHQubWVudSB7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcclxuXHRcdHBhZGRpbmc6IDAgMCAwIDE1cHg7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRob3Zlci1jb2xvcjtcclxuXHRcdH1cclxuXHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdGZvY3VzOiAwO1xyXG5cdFx0XHRbY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlIHtcclxuXHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0XHQ+IGxpOm5vdCgubWVudS10ZXh0KSB7XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0b3V0bGluZTogMDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRcdH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAuN3JlbSAwLjRyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGEge1xyXG5cdFx0XHQmLmJ1dHRvbiB7XHJcblx0XHRcdFx0b3V0bGluZTogMDtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lmljb24tbWVudSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJHJlbS1iYXNlICsgMjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuaWNvbi1hbmdsZS11cCB7XHJcblx0XHRmb250LXNpemU6ICRyZW0tYmFzZSArIDI7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaWNvbi1zdWl0Y2FzZSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRbY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlIHtcclxuXHRcdGZvbnQtc2l6ZTogJHJlbS1iYXNlICsgMjtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRmb250LXNpemU6ICRyZW0tYmFzZSArIDg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaWNvbi1tZW51IHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDY1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmJvb2stbm93IC5pY29uLWFuZ2xlLWRvd246YmVmb3JlIHtcclxuXHRcdGZvbnQtc2l6ZTogJHJlbS1iYXNlICsgMjtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgKyA4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRhIHtcclxuXHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0Lmljb24tYW5nbGUtZG93bjpiZWZvcmUge1xyXG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAtN3B4O1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zZWNvbmQtdGllci1sYW5nLWNvbXAge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsIC4zKTtcclxuICAgIHBhZGRpbmc6IDIwcHggNDBweCAxMHB4IDQwcHg7XHJcbn1cclxuXHJcbi5zZWNvbmQtdGllci1tZW51LWNvbXAsIC5zZWNvbmQtdGllci1sYW5nLWNvbXAge1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwgLjMpO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0Lm5vLWJ1bGxldCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaSB7XHJcblx0XHRcdEBpbmNsdWRlIHRpZXItdHlwb2dyYXBoeSgpO1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdH1cclxuXHR9XHJcblx0LmFjY29yZGlvbi1pdGVtIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHRoMiB7XHJcblx0XHRAaW5jbHVkZSB0aWVyLXR5cG9ncmFwaHkoKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHRpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcclxuXHRcdEBpbmNsdWRlIGJvcmRlcnMoMXB4LCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjMpKTtcclxuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0QGluY2x1ZGUgcGxhY2Vob2xkZXItc2V0KCRwcmltYXJ5LWNvbG9yKTtcclxuXHR9XHJcblx0LmpvaW4tbWFpbGluZy1maWVsZCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6IFwiaWNvbmZvbnRcIjtcclxuXHRcdFx0XHRmb250LXNpemU6ICRyZW0tYmFzZSArIDI7XHJcblx0XHRcdFx0Y29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuMyk7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODE1XCI7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5tYWlsLWxpc3QtZXJyb3Ige1xyXG5cdFx0XHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR9XHJcblx0fVxyXG5cdGxhYmVsIHtcclxuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHRhIHtcclxuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGhvdmVyLWNvbG9yO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRsaSB7XHJcblx0XHRtYXJnaW46IDAgMCAxMHB4O1xyXG5cdH1cclxuXHRbY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlIHtcclxuXHRcdGZvbnQtc2l6ZTogJHJlbS1iYXNlICsgMjtcclxuXHR9XHJcblx0LnNvY2lhbCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcblx0XHQubWVudSB7XHJcblx0XHRcdG1hcmdpbjogMCAwIDAgLTFyZW07XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRtYXJnaW46ICAwIDAgMjBweCAtMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRob3Zlci1jb2xvcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0JiA+IGxpIHtcclxuXHRcdFx0XHQmOm5vdCgubWVudS10ZXh0KSB7XHJcblx0XHRcdFx0XHQmID4gYSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAuN3JlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweCAxMHB4IDA7XHJcblx0XHRcdGJvcmRlci1ib3R0b206ICRmYWRlZC1ib3JkZXI7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHQubWFpbGluZy1saXN0IHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRwYWRkaW5nOiAxMHB4IDI1cHggMDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogJGZhZGVkLWJvcmRlcjtcclxuXHRcdH1cclxuXHR9XHJcblx0Lm1lbnUtc2V0LTEge1xyXG5cdFx0bGkge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEwKSByZW0tY2FsYygyNSk7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwgLjMpO1xyXG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMnJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG59XHJcblxyXG4udG8tdGhpcmQtdGllci1tZW51LWNvbXAge1xyXG5cdGZvbnQtc2l6ZTogJHJlbS1iYXNlIC0gMjtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdG1hcmdpbjogNDBweCAwIDA7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsIC4zKTtcclxuXHQubWVudSB7XHJcblx0XHRsaSB7XHJcblx0XHRcdHdpZHRoOiAzMCU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdFx0d2lkdGg6IDMyJTtcclxuXHRcdFx0fVxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC50b2dnbGUtYWN0aXZlIHtcclxuXHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUge1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udG8tdGhpcmQtdGllci1tb2JpbGUtY29tcCB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxufVxyXG5cclxuLnRoaXJkLXRpZXItbWVudS1jb21wIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0W2lkXj1cIm1lbnUtXCJdIHtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjkpO1xyXG5cdFx0Ly9wb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdFx0cGFkZGluZzogMjBweCAwO1xyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cdGxpIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblx0YSB7XHJcblx0XHRmb250LWZhbWlseTogJGxpZ2h0LWZvbnQtZmFtaWx5O1xyXG5cdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGhvdmVyLWNvbG9yO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gYm9va2luZyBtZW51XHJcblxyXG4uYm9va2luZy1zZWNvbmQtY29tcCB7XHJcblx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdGJvcmRlci1ib3R0b206ICRmYWRlZC1ib3JkZXI7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHQvL2hlaWdodDogMTYycHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdC8vaGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHQud2lkZS1tYXJnaW4ge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuY29sdW1uIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IC0xcHg7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQob2RkKXtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6ICRmYWRlZC1ib3JkZXI7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdFx0Ym90dG9tOiAxMHB4O1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0XHR0b3A6IDEwcHg7XHJcblx0XHRcdFx0XHR6LWluZGV4OiA5OTk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206ICRmYWRlZC1ib3JkZXI7XHJcblx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdFx0bGVmdDogMjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuZHAge1xyXG5cdFx0aGVpZ2h0OjEyMnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luOiAyMHB4IDA7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAwIDE1cHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdGhlaWdodDogOTJweDtcclxuXHRcdH1cclxuXHR9XHJcblx0W2NsYXNzXj1cImJvb2stXCJdIHtcclxuXHRcdHBhZGRpbmc6IDE1cHggMDtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAxNjFweDtcclxuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdGhlaWdodDogMTI5cHg7XHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdGhlaWdodDogMTYwcHg7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdH1cclxuXHJcblx0XHQuYm9vay1idXR0b24ge1xyXG5cdFx0XHQmLmFjdGl2ZXtcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODBlXCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdHNwYW5bY2xhc3NePVwiYm9vay1cIl0ge1xyXG5cdFx0JjphZnRlciB7XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYm9vay1idXR0b24ge1xyXG5cdFx0Ly9jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDI7XHJcblx0XHRoZWlnaHQ6IDEyMnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0cGFkZGluZzogNXB4IDE1cHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0aGVpZ2h0OiA5MnB4O1xyXG5cdFx0fVxyXG5cdFx0W2NsYXNzXj1cImljb24tXCJdIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJHJlbS1iYXNlICsgMjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5saW5lZCB7XHJcblx0XHRcdGJvcmRlci1yaWdodDogJGZhZGVkLWJvcmRlcjtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuaWNvbi1hbmdsZS1kb3duIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0fVxyXG5cdFx0aDQge1xyXG5cdFx0XHRtYXJnaW46IDAgMCA1cHg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDQ7XHJcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHRmb250LWZhbWlseTogJGxpZ2h0LWZvbnQtZmFtaWx5O1xyXG5cdFx0XHRtYXJnaW46IDAgMCA4cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAkcmVtLWJhc2UgKyAyO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSA0O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAkcmVtLWJhc2UgLSAzO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJHJlbS1iYXNlIC0gMjtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogJHJlbS1iYXNlIC0gMjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0Y29udGVudDogXCJcXGU4MGVcIjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkaWNvbi1mb250LWZhbWlseTtcclxuXHRcdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgKyAyO1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdGJvdHRvbTogMHB4O1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRcdGJvdHRvbTogLTVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5uby1tZW51IHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmRheSxcclxuXHRcdC5pY29uLWJlZCB7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjNyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYudG9nZ2xlLW51bWJlciB7XHJcblxyXG5cdFx0XHRpbnB1dCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0XHRtYXJnaW46IDAgYXV0byAtNHB4IGF1dG87XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdHdpZHRoOiA4MHB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmVkaXQge1xyXG5cclxuXHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlucHV0IHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm5vLW1lbnUge1xyXG5cdFx0YmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0aGVpZ2h0OiAxNjFweDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0aGVpZ2h0OiAxMjlweDtcclxuXHRcdH1cclxuXHRcdFtjbGFzc149XCJpY29uLVwiXSB7XHJcblx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0Zm9udC1zaXplOiA2MHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogJGhvdmVyLWNvbG9yO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc3VibWl0LWJ1dHRvbiB7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdH1cclxuXHQudGlja2Vke1xyXG5cdFx0PiBzcGFuIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VmZmZmODtcclxuXHRcdFx0Ly90cmFuc2l0aW9uOiBhbGwgMC41cztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIGhhZGRsZSBkYXRlIHR5cGVzIGluIGJvb2tpbmdcclxuXHQmLmRhdGUtc2V0dGluZyB7XHJcblxyXG5cdFx0Ji1zaW5nbGUge1xyXG5cdFx0XHQuYm9vay04IHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cdFx0XHQuYm9vay0zLCAuYm9vay00IHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1yYW5nZSB7XHJcblx0XHRcdC5ib29rLTgge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdFx0LmJvb2stMywgLmJvb2stNCB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG59XHJcblxyXG4uYm9va2luZy10aGlyZC1jb21wIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0W2lkXj1cIm1lbnUtXCJdIHtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjgpO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHRcdHBhZGRpbmc6IDE1cHggMDtcclxuXHRcdGhlaWdodDogODVweDtcclxuXHR9XHJcblx0LndpZGUtbWFyZ2luIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRhIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udC1mYW1pbHk7XHJcblx0XHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDI7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAkcmVtLWJhc2UgLSAyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cdC5zdGF5IHtcclxuXHRcdC53aWRlLW1hcmdpbiB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRoaXJkLWx2bC1ib29raW5nLXBhbmVsIHtcclxuXHRbY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlIHtcclxuXHRcdGZvbnQtc2l6ZTogJHJlbS1iYXNlICsgMjtcclxuXHR9XHJcbn1cclxuXHJcbi5ib29raW5nLXN0YXkge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0W2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSB7XHJcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHRcdGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udC1mYW1pbHk7XHJcblx0XHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDI7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMC4zcmVtO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5ib29raW5nLWNvdW50IHtcclxuXHRsaW5lLWhlaWdodDogNDVweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRoZWlnaHQ6IDE2MHB4O1xyXG5cdH1cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogJGZhZGVkLWJvcmRlcjtcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRyaWdodDogMTBweDtcclxuXHRcdFx0bGVmdDogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcblx0JjphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAkZmFkZWQtYm9yZGVyO1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRib3R0b206IDEwcHg7XHJcblx0XHRcdHJpZ2h0OiAwcHg7XHJcblx0XHRcdHRvcDogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcblx0LmFkdWx0LWNvdW50LFxyXG5cdC5jaGlsZC1jb3VudCxcclxuXHQuZ3Vlc3RzLWNvdW50IHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRoZWlnaHQ6IDE2MHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTYwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYudW5pdCB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmRheUZyb20sXHJcbi5kYXlUbyxcclxuLmRheURhdGUsXHJcbi5hZHVsdC1jb3VudCxcclxuLmNoaWxkLWNvdW50LFxyXG4uZ3Vlc3RzLWNvdW50IHtcclxuXHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcclxuXHRmb250LXNpemU6ICRyZW0tYmFzZSArIDI7XHJcbn1cclxuXHJcbi5zZWFyY2gtdmFsdWUge1xyXG5cdGZvbnQtZmFtaWx5OiAkbGlnaHQtZm9udC1mYW1pbHk7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJvdHRvbTogMjVweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRsZWZ0OiAwO1xyXG5cdHBhZGRpbmc6IDAgMTBweDtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0Ym90dG9tOiAxNXB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdHBhZGRpbmc6IDAgMTVweDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBTaWRlIE1lbnVcclxuXHJcbi8vIHN1YiBuYXZpZ2F0aW9uXHJcblxyXG4uc2lkZS1uYXYtY29tcCB7XHJcblx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdGZvbnQtc2l6ZTogJHJlbS1iYXNlIC0gMjtcclxuXHRsaW5lLWhlaWdodDogNDBweDtcclxuXHRtYXJnaW46IDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRhIHtcclxuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkaG92ZXItY29sb3I7XHJcblx0XHR9XHJcblx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdG5hdiB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bWFyZ2luOiAwIDAgMCAtMXJlbTtcclxuXHR9XHJcblx0Lm5hdmlnYXRpb24ge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdFx0Ji5tZW51IHtcclxuXHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0Jjpub3QoLm1lbnUtdGV4dCkge1xyXG5cdFx0XHRcdFx0PiBhIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAuN3JlbSAwIDAuN3JlbSAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8gc2lkZW1lbnUgZHJvcGRvd25cclxuXHJcbi5uYXZpZ2F0aW9uIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLm5hdmlnYXRpb24gbGkge1xyXG5cclxufVxyXG5cclxuLm5hdmlnYXRpb24gbGkgYSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLm5hdmlnYXRpb24gbGkgYTpob3ZlciB7XHJcblxyXG59XHJcblxyXG4ubmF2aGVhZGVyIHtcclxuXHRmb250LXNpemU6ICRyZW0tYmFzZSAtIDI7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5zbGlkZS10cmlnZ2VyIHtcclxuICBkaXNwbGF5OiBub25lOyAvKiBuZWVkIHRoaXMgKi9cclxuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwgLjMpO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAuMyk7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHBhZGRpbmc6IDEwcHggMzBweCAxMHB4IDEwcHg7XHJcbiAgJjpiZWZvcmUge1xyXG4gIFx0Y29udGVudDogJ1xcZTgwZSc7XHJcbiAgXHRmb250LWZhbWlseTogJGljb24tZm9udC1mYW1pbHk7XHJcbiAgXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHRyaWdodDogMTBweDtcclxuICBcdGZvbnQtc2l6ZTogJHJlbS1iYXNlICsgMjtcclxuICB9XHJcbiAgJi5hY3RpdmUge1xyXG4gIFx0JjpiZWZvcmUge1xyXG4gIFx0XHRjb250ZW50OiAnXFxlODBkJztcclxuICBcdH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gIC5zbGlkZS10cmlnZ2VyIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5uby1qcyAuc2xpZGUtdHJpZ2dlciB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAubmF2aWdhdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC5uby1qcyAubmF2aWdhdGlvbiB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgLm5hdmlnYXRpb24geyBtYXJnaW46IDA7IH1cclxuICAubmF2aWdhdGlvbiBsaSB7IGZsb2F0OiBub25lOyB9XHJcbiAgLm5hdmlnYXRpb24gbGkgYSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAuMyk7IH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gIC5zbGlkZS10cmlnZ2VyIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5uby1qcyAuc2xpZGUtdHJpZ2dlciB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAubmF2aWdhdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIC5uby1qcyAubmF2aWdhdGlvbiB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgLm5hdmlnYXRpb24geyBtYXJnaW46IDAgMTVweDsgfVxyXG4gIC5uYXZpZ2F0aW9uIGxpIHsgZmxvYXQ6IG5vbmU7IH1cclxuICAubmF2aWdhdGlvbiBsaSBhIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsIC4zKTsgfVxyXG59XHJcblxyXG4jc3RpY2t5LW5hdiB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zdGljayB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAvLyB0b3A6IHNldCBpbiBfaGVhZGVyLnNjc3NcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiAyMDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb3JlLWxpbmtzIHtcclxuXHRoNCB7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcbn1cclxuXHJcbi5iYWNrLW5hdiB7XHJcbiAgICAkYnV0dG9uLXNpemU6IDM1cHg7XHJcbiAgICAkYnV0dG9uLWJnLWNvbG91cjogJHdoaXRlO1xyXG4gICAgJGJ1dHRvbi1ib3JkZXItY29sb3VyOiAkcHJpbWFyeS1jb2xvcjtcclxuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgLy8gdG9wOiBkZWZpbmVkIGluIHRoZSBfaGVhZGVyLnNjc3NcclxuICAgIHJpZ2h0OiAzMHB4O1xyXG5cclxuICAgICYuc2hvdyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmJhY2stYnV0dG9uIHtcclxuICAgICAgICBAZXh0ZW5kIC5pY29uLWNhbmNlbDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYnV0dG9uLWJnLWNvbG91ciwgMC44KTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRidXR0b24tYm9yZGVyLWNvbG91ciwgMC44KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAkYnV0dG9uLXNpemU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcbiAgICAgICAgd2lkdGg6ICRidXR0b24tc2l6ZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJ1dHRvbi1iZy1jb2xvdXIsIDEpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRidXR0b24tYm9yZGVyLWNvbG91ciwgMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLy8gT2ZmZXJzXHJcblxyXG4ub2ZmZXJzLWNvbHVtbi0yLWNvbXAge1xyXG5cdC5saXN0LWl0ZW0tY29tcCB7XHJcblx0XHRtYXgtaGVpZ2h0OiA2MDBweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLnNoYWRlZDtcclxuICAgICAgICB9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4ub2ZmZXJzLWNvbHVtbi0zLWNvbXAge1xyXG5cdC5zbWFsbC11cC0xIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5vZmZlci1oZWFkaW5nIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRwYWRkaW5nOiAwIDAgMCAxNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubG9hZC1tb3JlLWJ1dHRvbiB7XHJcblx0XHRtYXJnaW46IDIwcHggMCAwO1xyXG5cdH1cclxuXHQubWVkaXVtLXVwLTMge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHQubGlzdC1pdGVtLWNvbXAge1xyXG4gICAgICAgICRpdGVtLXBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRtYXJnaW46IDE1cHggMjVweCAwIDA7XHJcbiAgICAgICAgcGFkZGluZzogJGl0ZW0tcGFkZGluZztcclxuXHRcdHdpZHRoOiAzMTBweDtcclxuICAgICAgICBcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5vZmZlci10aHVtYiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwNXB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC8vaGVpZ2h0OiAxNTBweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnByaWNlIHtcclxuICAgICAgICAgICAgcmlnaHQ6ICRpdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRvcDogJGl0ZW0tcGFkZGluZztcclxuICAgICAgICB9XHJcblx0fVxyXG5cdC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMil7XHJcblx0XHQubGlzdC1pdGVtLWNvbXAge1xyXG5cdFx0XHRtYXJnaW46IDE1cHggMCAwIDdweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmNvbHVtbjpudGgtb2YtdHlwZSgzbiswKXtcclxuXHRcdC5saXN0LWl0ZW0tY29tcCB7XHJcblx0XHRcdG1hcmdpbjogMTVweCAwIDAgMTRweDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5vZmZlci1yZXN1bHRzLXN0YXRlIHtcclxuXHRcdFxyXG5cdC5vZmZlci1yZXN1bHRzLWxvYWRpbmcge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdHBhZGRpbmc6IDQwcHggMDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFxyXG5cdFx0aSB7XHJcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMWVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5sb2FkaW5nIHtcclxuXHRcdC5vZmZlci1yZXN1bHRzLWxvYWRpbmcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxuXHRcclxuXHQmLnJlYWR5IHtcclxuICAgICAgICBcclxuXHR9XHJcblx0XHJcblx0Lmxpc3QtaXRlbS1jb21wIHtcclxuXHRcdCRzcGVlZDogMC44cztcclxuXHRcdFxyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdGhlaWdodDogMDtcclxuXHQgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRzcGVlZCBlYXNlLWluLW91dDtcclxuXHQgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgJHNwZWVkIGVhc2UtaW4tb3V0O1xyXG5cdCAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAkc3BlZWQgZWFzZS1pbi1vdXQ7XHJcblx0XHRcclxuXHRcdCYucmVhZHkge1xyXG5cdFx0XHQvL2hlaWdodDogNDM1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuXHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Lm9mZmVyLXJlc3VsdHMtbGlzdCB7XHJcblx0XHRmb250LXNpemU6IDA7XHJcblx0fVxyXG59XHJcblxyXG4ubGlzdC1pdGVtLWNvbXAge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtYXJnaW46IDE1cHggMCAwO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cclxuXHQubGlzdC1kZXRhaWwge1xyXG5cdFx0cGFkZGluZzogMCA4MHB4IDIwcHggMjBweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRib3R0b206IDBweDtcclxuXHRcdGxlZnQ6IDBweDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0XHRwe1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0LmJ1dHRvbiB7XHJcblx0XHRcdG1hcmdpbjogMTBweCAwIDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdGgzLFxyXG5cdHAsXHJcblx0YSB7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdH1cclxuXHRpbWcge1xyXG5cdFx0QGV4dGVuZCAuc2VuZC10by1iYWNrO1xyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdC8vbWF4LXdpZHRoOiA2MTJweDtcclxuXHRcdHBvc3Rpb246YWJzb2x1dGU7XHJcblx0fVxyXG5cdGgzIHtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRmb250LXNpemU6ICRyZW0tYmFzZSArIDI7XHJcblx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xyXG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdH1cclxuXHR9XHJcblx0cCB7XHJcblx0XHRsaW5lLWhlaWdodDogJHJlbS1iYXNlICsgMjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWF4LWhlaWdodDogMzdweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cclxufVxyXG5cclxuLnByaWNlIHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKCRzZWNvbmRhcnktY29sb3IsIDAuOCk7XHJcblx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XHJcblx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcclxuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0dG9wOiAwO1xyXG59XHJcblxyXG4uc2hhZGVkIHtcclxuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDAuMSksIHJnYmEoMCwwLDAsMC42KSk7IC8qIEZvciBTYWZhcmkgNS4xIHRvIDYuMCAqL1xyXG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMC4xKSwgcmdiYSgwLDAsMCwwLjYpKTsgLyogRm9yIE9wZXJhIDExLjEgdG8gMTIuMCAqL1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwwLjEpLCByZ2JhKDAsMCwwLDAuNikpOyAvKiBGb3IgRmlyZWZveCAzLjYgdG8gMTUgKi9cclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDAuMSksIHJnYmEoMCwwLDAsMC42KSk7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG59IiwiLyogU2xpZGVyICovXHJcblxyXG4uc2xpY2stc2xpZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5zbGljay1saXN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRyYWdnaW5nIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xyXG4gICAgfVxyXG59XHJcbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxyXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbn1cclxuXHJcbi5zbGljay10cmFjayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1sb2FkaW5nICYge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLXNsaWRlLCAuc2xpZGVyLWNvbnRhaW5lciAge1xyXG4gICAgaGVpZ2h0OiA2MDBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgICAgICBoZWlnaHQ6IDM3NXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgaGVpZ2h0OiA0ODVweDtcclxuICAgIH1cclxufVxyXG4uc2xpZGVyLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIFxyXG4gICAgPiBkaXYsID4gdWwge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYucmVhZHkge1xyXG4gICAgICAgICA+IGRpdiwgPiB1bCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zbGljay1zbGlkZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgIFtkaXI9XCJydGxcIl0gJiB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2xpY2stbG9hZGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICYuZHJhZ2dpbmcgaW1nIHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblx0XHJcblx0LnNsaWRlLWNhcHRpb24gLnNsaWRlLXRleHQgIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWF4LWhlaWdodDogNDBweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG59XHJcbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmJhbm5lci1iZyB7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgaGVpZ2h0OiA0ODVweDtcclxuICAgIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xyXG5cclxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2ZvbnRzL1wiICFkZWZhdWx0O1xyXG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcclxuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XHJcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XHJcbiRzbGljay1kb3QtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICNhZTk0NmU7XHJcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXGU4MTdcIiAhZGVmYXVsdDtcclxuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcZTgxOFwiICFkZWZhdWx0O1xyXG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCLigKJcIiAhZGVmYXVsdDtcclxuJHNsaWNrLWRvdC1zaXplOiA0MHB4ICFkZWZhdWx0O1xyXG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xyXG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcclxuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcclxuXHJcbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xyXG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcclxuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcclxuICAgIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcclxuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcclxuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogU2xpZGVyICovXHJcblxyXG4uc2xpY2stbGlzdCB7XHJcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgIH1cclxufVxyXG5cclxuLyogSWNvbnMgKi9cclxuLypcclxuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcclxuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xyXG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIH1cclxufVxyXG4qL1xyXG5cclxuLyogQXJyb3dzICovXHJcblxyXG4uc2xpY2stcHJldixcclxuLnNsaWNrLW5leHQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAvL2hlaWdodDogMjBweDtcclxuICAgIC8vd2lkdGg6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMHB4O1xyXG4gICAgZm9udC1zaXplOiAwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbWFyZ2luLXRvcDogLTEwcHhcXDk7IC8qbHRlIElFIDgqL1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xyXG4gICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XHJcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xyXG4gICAgb3BhY2l0eTogMTsgLy8kc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuXHJcbn1cclxuXHJcbi5zbGljay1wcmV2IHtcclxuICAgIGxlZnQ6IDcwcHg7IC8vLTI1cHg7XHJcbiAgICBbZGlyPVwicnRsXCJdICYge1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgcmlnaHQ6IDcwcHg7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xyXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGljay1uZXh0IHtcclxuICAgIHJpZ2h0OiA3MHB4OyAvLy0yNXB4O1xyXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcclxuICAgICAgICBsZWZ0OiA3MHB4O1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcclxuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xyXG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBEb3RzICovXHJcblxyXG4uc2xpY2stc2xpZGVyIHtcclxuXHJcbn1cclxuXHJcbi5zbGljay1kb3RzIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogNjBweDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgICAgICBib3R0b206IDQwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIC8vZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogQ2FwdGlvbnMgICAqL1xyXG5cclxuLnNsaWRlLWNhcHRpb24ge1xyXG4gICAgXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogNjUwcHg7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGRpc3BsYXk6aW5saW5lO1xyXG4gICAgXHJcbiAgICAvLyBibHVyIGRyb3Agc2hhZG93XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICAkZXh0cmEtc3BhY2U6IDE1MHB4O1xyXG4gICAgICAgXHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNyk7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0oJGV4dHJhLXNwYWNlKTtcclxuICAgICAgICBsZWZ0OiAtKCRleHRyYS1zcGFjZSk7XHJcbiAgICAgICAgcmlnaHQ6IC0oJGV4dHJhLXNwYWNlKTtcclxuICAgICAgICBib3R0b206IC0oJGV4dHJhLXNwYWNlKTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICBcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZHJvcHNoYWRvdy5wbmdcIik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IFxyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZHJvcHNoYWRvd19tb2JpbGUucG5nXCIpO1xyXG4gICAgICAgIH1cclxuICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICB3aWR0aDogMjg0cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgd2lkdGg6IDY0OHB4O1xyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJde1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAmICsgbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggJGFsZXJ0LWNvbG9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgICAgIGhlaWdodDogMXJlbTtcclxuICAgICAgICAgIGxlZnQ6IC0yNXB4O1xyXG4gICAgICAgICAgdG9wOjRweDtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpjaGVja2VkIHtcclxuICAgICAgICAmICsgbGFiZWwge1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwOFwiO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgICAgIGxlZnQ6IC0yNXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgICAgICAgICAgdG9wOjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgbGVmdDogLTIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zbGlkZS1oZWFkZXIge1xyXG4gICAgZm9udC1mYW1pbHk6ICdMYXRvV2ViQm9sZCcsICBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6ICRyZW0tYmFzZSArIDE0O1xyXG4gICAgQGluY2x1ZGUgc2xpZGVyLXR5cG9ncmFwaHkoJHJlbS1iYXNlICsgMTQsIDAuM3JlbSwgJHJlbS1iYXNlICsgJHJlbS1iYXNlKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICBmb250LXNpemU6ICRyZW0tYmFzZSArIDg7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XHJcbiAgICB9XHJcbn1cclxuLnNsaWRlLXRleHQge1xyXG4gICAgQGluY2x1ZGUgc2xpZGVyLXR5cG9ncmFwaHkoJHJlbS1iYXNlIC0gMiwgMC4xcmVtLCAkcmVtLWJhc2UgKyA0KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbn1cclxuXHJcblxyXG4uc2xpZGUtbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxufVxyXG4uc2xpZGUtYmcge1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogMDtcclxuXHR0b3A6IDA7XHJcbn0iLCJwLCAuYXJ0aWNsZS1jb250ZW50IHtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuXHJcbmgxIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4zcmVtO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbnVsLFxyXG5saSB7XHJcblx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjFyZW07XHJcbn1cclxuYSB7XHJcblx0dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnktY29sb3IsIDAuMik7XHJcbn1cclxuXHJcblxyXG4vLyBmb250cyBiYXNlZCBvbiBsYW5ndWFnZVxyXG5ib2R5Lmxhbmcge1xyXG5cdFxyXG5cdC8vIEVuZ2xpc2hcclxuXHQmLWVuIHtcclxuXHRcdFxyXG5cdFx0Ly8gTWFrZSBPcHRpbWFuIChub3JtYWwpXHJcblx0XHRoMiwgaDQsXHJcblx0XHQubWFpbi1jb250ZW50IGgzLFxyXG5cdFx0Lmxpc3QtZGV0YWlsIGgzLFxyXG5cdFx0LnNlY29uZC10aWVyLW1lbnUtY29tcCAubm8tYnVsbGV0IGxpLFxyXG5cdFx0LnNlY29uZC10aWVyLW1lbnUtY29tcCBsYWJlbCxcclxuICAgICAgICAuc2Vjb25kLXRpZXItbGFuZy1jb21wIC5uby1idWxsZXQgbGksXHJcblx0XHQuc2Vjb25kLXRpZXItbGFuZy1jb21wIGxhYmVsLFxyXG5cdFx0LnRvcC10aWVyLW1lbnUtY29tcFx0Lm1lbnUsXHJcblx0XHQudG9wLXRpZXItbWVudS1jb21wXHQuYnV0dG9uIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IFwib3B0aW1hYm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdFxyXG5cdH1cclxuXHRcclxufSIsIiNtYXAge1xyXG5cdGhlaWdodDogNjAwcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuXHRcdGhlaWdodDogNDg1cHg7XHJcblx0fVxyXG59XHJcblxyXG4ubWFwLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0QGV4dGVuZCAuc2hhZGVkO1xyXG5cdH1cclxufSIsImZvcm0ge1xyXG5cdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0LmNvbHVtbixcclxuXHQuY29sdW1ucyB7XHJcblxyXG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMCk7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdH1cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMCk7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Jjpvbmx5LWNoaWxkIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuY2hvb3NlZGF0ZSB7XHJcblx0XHQubWVkaXVtLTYge1xyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA1cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5mb3JtLWVycm9yIHtcclxuXHRcdGNvbG9yOiAkYWxlcnQtY29sb3JcclxuXHR9XHJcblx0aDMge1xyXG5cdFx0bWFyZ2luLXRvcDo0MHB4O1xyXG5cdH1cclxufVxyXG5cclxuc2VsZWN0LFxyXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG50ZXh0YXJlYSB7XHJcblx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSAyO1xyXG5cdGhlaWdodDogcmVtLWNhbGMoNDUpO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcclxuXHQvKnRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Ki9cclxuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHQmICsgbGFiZWwge1xyXG5cdFx0Zm9udC1zaXplOiAkcmVtLWJhc2UgLSA0O1xyXG5cdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblx0fVxyXG59XHJcblxyXG5zZWxlY3Qge1xyXG5cdG9wdGlvbiB7XHJcblx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0cGFkZGluZzogMTBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5iYW5uZXItYmd7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIC8vQGV4dGVuZCAuc2hhZGVkO1xyXG4gICAgfVxyXG4gICAgaW5wdXQsXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgfVxyXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWUwZTA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kYXRlcyB7XHJcblx0LnNtYWxsLTQge1xyXG5cdFx0JjpudGgtY2hpbGQoMil7XHJcblx0XHRcdHBhZGRpbmc6IDAgcmVtLWNhbGMoNy41KTtcclxuXHRcdH1cclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRwYWRkaW5nOiAwIHJlbS1jYWxjKDcuNSkgMCAwO1xyXG5cdFx0fVxyXG5cdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0cGFkZGluZzogMCAwIDAgcmVtLWNhbGMoNy41KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHQmOm50aC1jaGlsZCgyKXtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIHJlbS1jYWxjKDMpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgcmVtLWNhbGMoMykgMCAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0cGFkZGluZzogMCAwIDAgcmVtLWNhbGMoMyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0bGkge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5kcm9wZG93biB7XHJcblx0Ji5tZW51IHtcclxuXHRcdCYuc2VsZWN0LW9wdGlvbnMge1xyXG5cdFx0XHQuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG5cdFx0XHRcdCYuaXMtZG93bi1hcnJvdyB7XHJcblx0XHRcdFx0XHQ+IC5vcHRpb24tdmFsdWUge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxcmVtIDEuMjVyZW0gMXJlbSAwLjVyZW07XHJcblx0XHRcdFx0XHRcdGhlaWdodDoyLjgxMjVyZW07XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAxcmVtIDAuM3JlbTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQubWVudSB7XHJcblx0XHRcdFx0bWF4LWhlaWdodDogMTEwcHg7XHJcblx0XHRcdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYXNzaWduRGF0ZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdC5kZC1hcnJvdyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Y29udGVudDpcIlxcZTgwZVwiO1xyXG5cdFx0XHRmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcclxuXHRcdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jdXN0b21Nb250aCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHQmLmFjdGl2ZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbn1cclxuIiwiXHJcblxyXG4uaG90ZWwsXHJcbi5zdGF5LFxyXG4uZ3Vlc3QtY291bnQge1xyXG5cdC8vZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmhvdGVsLFxyXG4uc3RheSxcclxuLmd1ZXN0LWNvdW50IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0YmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOSk7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHR9XHJcblx0LnZlcnQtbWVkaXVtLXBhZHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5ob3RlbCAudmVydC1tZWRpdW0tcGFkIHtcclxuXHRwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XHJcbn1cclxuXHJcbi5ob3RlbCxcclxuLnN0YXkge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0dG9wOiAtNDgwcHg7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLmd1ZXN0LWNvdW50IHtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdHRvcDogLTE2MHB4O1xyXG5cdH1cclxuXHQuY29sdW1uIHtcclxuXHRcdEBleHRlbmQgLnRleHQtY2VudGVyO1xyXG5cdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0d2lkdGg6MTAwJTtcclxuXHRcdFx0XHQmOmJlZm9yZSxcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zdGF5IHtcclxuXHQuY29sdW1uIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGhlaWdodDogMTYwcHg7XHJcblx0XHR9XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAkZmFkZWQtYm9yZGVyO1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdHJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRcdGxlZnQ6IDIwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAkZmFkZWQtYm9yZGVyO1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0Ym90dG9tOiAyMHB4O1xyXG5cdFx0XHRcdHJpZ2h0OiAwcHg7XHJcblx0XHRcdFx0dG9wOiAyMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuYm9va2luZy1zdGF5IHtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmhvdGVsIHtcclxuXHQuY29sdW1uIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGhlaWdodDogMTYwcHg7XHJcblx0XHR9XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAkZmFkZWQtYm9yZGVyO1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdHJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRcdGxlZnQ6IDIwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAkZmFkZWQtYm9yZGVyO1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0Ym90dG9tOiAyMHB4O1xyXG5cdFx0XHRcdHJpZ2h0OiAwcHg7XHJcblx0XHRcdFx0dG9wOiAyMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQubG9jYXRpb24ge1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRAZXh0ZW5kIC50ZXh0LWNlbnRlcjtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiBwb3N0IHJlYWN0IGNoYW5nZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4uYm9va2luZy1tZW51LWNvbnRhaW5lciB7XHJcblxyXG5cdC5wYW5lbC1jb2x1bW4ge1xyXG5cdFx0aGVpZ2h0OiAxNjFweDtcclxuXHRcdHBhZGRpbmc6IDE1cHggMDtcclxuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cdFx0fVxyXG5cclxuXHRcdCYudGljayB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3RlZC1jb2xvcjtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQucGFuZWwge1xyXG5cdFx0Ji1kYXRlIHtcclxuXHRcdFx0LmRhdGVwaWNrZXItaG9sZGVyIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRoZWlnaHQ6IDA7XHJcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0XHR3aWR0aDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji1ndWVzdCB7XHJcblx0XHRcdC5ib29rLWJ1dHRvbjphZnRlciB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJvb2stYnV0dG9uIHtcclxuXHJcblx0XHRcdCY6bm90KC5zdWJtaXQtYnV0dG9uKSB7XHJcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6ICRmYWRlZC1ib3JkZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdGJvcmRlci13aWR0aDogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdC5ndWVzdC1jb3VudC10b3RhbCB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG5cdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHR9XHJcblx0XHQuYm9va2luZy1udW1iZXJzIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcclxuXHJcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG8gLTRweCBhdXRvO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdHdpZHRoOiA4MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQucGFuZWwtd2hlcmUgLmJvb2stYnV0dG9uIHtcclxuXHRcdGJvcmRlci13aWR0aDogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5ib29raW5nLXN1Yi1tZW51IHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOSk7XHJcbiAgbWF4LWhlaWdodDogMDtcclxuICBvcGFjaXR5OiA1O1xyXG5cclxuICAmLm9wZW4ge1xyXG4gICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcblx0dWwge1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdHBhZGRpbmc6IDJweCAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaG90ZWwtbWVudSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XHJcblxyXG5cdH1cclxuXHJcblx0LnR5cGUtbWVudSB7XHJcblx0XHR1bCB7XHJcblxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC4xcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMjI0cHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHotaW5kZXg6IDk5OTtcclxuXHJcblx0XHQmLm9wZW4ge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAkZmFkZWQtYm9yZGVyO1xyXG5cdFx0XHRtYXgtaGVpZ2h0OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdC52ZXJ0LW1lZGl1bS1wYWQge1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb2x1bW4ge1xyXG5cdFx0XHRwYWRkaW5nOiA1MHB4IDAgIWltcG9ydGFudDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmhvdGVsLW1lbnUge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiAxOTFweDtcclxuXHRcdFx0XHRwYWRkaW5nOiA4MHB4IDA7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdHdpZHRoOiA1MCU7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmRhdGVwaWNrZXIuZHJvcGRvd24tbWVudSB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMjU0cHggIWltcG9ydGFudDtcclxufVxyXG4iXX0= */
